← All speakers

Bio, Work & Ideas

Thorsten Hans

Conference affiliation: Akamai

On this page

Thorsten Hans helps developers build practical applications with server-side WebAssembly, connecting reusable components and fast startup with familiar development tools and runtime observability. His work spans enterprise application consulting, open-source tooling, and developer advocacy at Fermyon. At AI Engineer World’s Fair 2026, he spoke as a Senior Developer Advocate at Akamai about deploying MCP servers and AI agents with WebAssembly.

From application consulting to WebAssembly

Hans’s early work combined developer communities with application tooling. He co-founded local .NET and SharePoint user groups between 2009 and 2013 and co-organized ShareCamp between 2011 and 2015. His open-source projects include ngx-electron, an Angular integration layer for Electron’s renderer APIs. Its injectable service and editor assistance made desktop capabilities easier to use from Angular applications. The repository is now archived.

In June 2015, Hans joined Thinktecture as a developer and consultant. Over nearly nine years, he helped teams modernize and re-architect enterprise applications using containers, Kubernetes, WebAssembly, and cloud-native practices. He left Thinktecture at the end of January 2024 and joined Fermyon as a Cloud Advocate in February, having followed Spin since its early development. The move concentrated his work on WebAssembly for serverless and distributed applications. Akamai announced its acquisition of Fermyon in December 2025.

Making WebAssembly useful in applications

Hans’s technical writing explains how runtime capabilities change application design, from separating reusable logic to preparing data before a request arrives:

  • Reusable WebAssembly components: His component-composition example separates message classification from HTTP handling. A dedicated component exposes a defined interface; the surrounding application validates requests and returns responses. Custom templates and generated bindings reduce the setup needed to connect the pieces. The example gives the WebAssembly Component Model a concrete purpose: reuse application logic without coupling it to the code that receives and answers requests.
  • Build-time initialization: In his GeoIP application using Wizer, Hans loads a geolocation database during the build and snapshots the initialized memory into the WebAssembly module. Requests then use the prepared data without retrieving the database remotely or parsing it again. Moving suitable initialization out of the request path addresses both startup work and data-access latency, especially when an application runs near its users while its data would otherwise remain far away.
  • Agent tools with explicit behavior: His TypeScript support-agent example combines Spin with the OpenAI Agents SDK. The model chooses between an FAQ tool and a human-support escalation tool, while application code determines what those tools do. The escalation example logs a request; it does not implement a complete ticketing integration. That distinction makes the division of responsibility clear: the model selects an action, and the application supplies its behavior.
  • Observability during development: His OpenTelemetry integration with the .NET Aspire dashboard brings Spin’s logs, metrics, and traces into a local dashboard through its observability plugin. Developers can inspect WebAssembly applications through familiar operational signals, connecting the runtime’s execution to the debugging practices they already use.

Carrying applications across environments

Hans’s World’s Fair 2026 talk applies these concerns to AI infrastructure. He demonstrates composing MCP tools written in TypeScript and Rust with wasmcp, testing the resulting server, and deploying it through Spin to Akamai Functions. He also shows an agent built with the Vercel AI SDK and explains how memory snapshots prepare application state for fast startup. The emphasis is on making globally distributed deployment accessible through familiar languages and tools.

In August 2026, Hans announced Building Serverless Applications With WebAssembly & Spin, a book in development. Its planned progression follows a multi-component Rust application from construction to deployment on the global edge and Kubernetes without rewriting the application. It extends a recurring concern in his work: helping developers understand an application’s structure and behavior well enough to carry it across environments.

Read the topics behind these talks

1 conference talk

Key ideas

Scroll to read ↓

Thorsten Hans builds a WebAssembly MCP server, deploys a persistent decision log across service regions, and runs a tool-using agent. The walkthrough explains component composition, deployment health checks and JavaScript memory snapshots—and separates fast startup from the time spent calling a model.

  • “Zero cold starts” describes negligible claimed startup overhead: Akamai Functions still starts the application per request, with Hans reporting an average below half a millisecond.
    4:41 ↗
  • WasmCP separates tool implementation from server assembly. A compiled tools component becomes an MCP server through composition with the required supporting components.
    6:40 ↗
  • The decision-log example connects intent, approval, a remote tool call and persistence: an IDE request inserts a decision that a later list operation can retrieve.
    11:39 ↗
  • JavaScript memory snapshots move runtime and dependency initialization into the build. The artifact must also carry the JavaScript runtime, given as roughly ten megabytes.
    17:47 ↗
  • A globally deployed agent can still call a model in one location. The successful coin-toss demo reports roughly 820–866 milliseconds for the model loop, separate from application startup.
    16:47 ↗

References