Research & Experimental

Engineering Labs

Research areas and experiments that inform our engineering work. These are not a catalogue of production-ready products: a prototype, an experiment and a supported delivery have different requirements.

Research area

Runtime Research

Browser execution, WebAssembly, rendering and deterministic systems. Explore portability, replay and the boundary between a document and an executable application.

Browser runtimes · WASM · Rendering

Research area

Edge Computing

Distributed state and local/edge architectures. Explore synchronisation, disconnected operation and the tradeoffs between latency, consistency and complexity.

Edge runtimes · State · Queues

Research area

AI Systems

Local inference, semantic retrieval and document intelligence. Study how generated results can be validated and combined with deterministic processing.

Local AI · Retrieval · Documents

Research area

Developer Infrastructure

Observation, validation, reproducibility and autonomous tooling. Explore how browser and runtime evidence can make technical changes easier to inspect and verify.

Diagnostics · Validation · Tooling

Research area

Mobile Systems

Android native runtimes, network policy and GPU/compute experiments. Explore the boundaries between application code, native components and device resources.

Android · Kotlin / JNI · GPU / Compute

From experiment to delivery

An experiment only becomes a delivery candidate after its scope, limitations, security model, validation and operational ownership are understood. Production suitability is assessed for the specific project, not inferred from a demo.

Northerd is the commercial engineering partner. NortherCodes is the separate code, project and R&D platform: a place to explore technical work, not a replacement for a scoped customer delivery.

Have a difficult software problem?

Whether you need a complete product, a custom runtime, an automation system or help with a technical bottleneck, tell us what you are trying to build.

Discuss a Project →