Selected case study

Noondra / Actor

Independent creator and product engineer · Active development

An independent full-stack platform for conversational roleplay agents that can remember, speak and use tools.

Product engineering across services, web and mobile clients, visual authoring, a Unity SDK and an on-device AI runtime.

Noondra launch artwork built from the platform's warm editorial identity and Actor symbol.

At a glance

Product
Conversational agent platform
Ownership
Independent end to end
Surfaces
Services, apps, authoring and SDK
AI focus
Local, controllable interaction
State
Active development

Product context

Noondra is an independent platform for conversational agents. Actor, its principal product, explores roleplay agents that can maintain context, express a consistent character, speak, use constrained tools and appear through real-time 3D presentation.

The product challenge

A convincing interaction is not produced by an LLM alone. Context, memory, speech, tool permissions, presentation and recovery behaviour all influence whether an agent feels coherent and remains under product control. Each capability has its own failure modes, but the user experiences only one character.

End-to-end ownership

I design and implement the product across NestJS services, web and mobile clients, visual authoring tools, a Unity SDK and an on-device runtime. This gives me responsibility for both the architecture between surfaces and the interaction details inside them.

The platform boundary matters: Noondra carries reusable agent capabilities while Actor turns them into a focused product experience. That separation allows product decisions to guide the platform without making every capability dependent on a single interface.

A controllable local runtime

The local runtime composes LLM inference, conversation memory, speech, guardrails and constrained tool use. I treat those elements as collaborating subsystems with explicit responsibilities, not as a single opaque intelligence layer.

Keeping the runtime inspectable supports practical iteration: it becomes possible to reason about what context was available, which capability acted and where the experience broke down.

Designing for constraints

The central trade-off is between natural interaction and control. Local execution introduces real hardware limits; character consistency needs memory without uncontrolled accumulation; tools add usefulness but require constrained access. The design goal is not maximum capability in isolation, but a product that behaves coherently within known boundaries.

Current state

Noondra and Actor remain in active development. They represent independent full-stack product ownership and applied-AI systems engineering, while the quality and readiness of each experience continue to be evaluated rather than assumed.

01 — Key contributions

Key contributions

  1. 01

    Product and platform architecture

    I shape Noondra as the shared platform and Actor as its principal product, keeping agent behaviour, product surfaces and runtime capabilities connected without collapsing them into one client.

  2. 02

    Full-stack clients and services

    The implementation spans NestJS services, web and mobile clients, shared product contracts and the operational paths needed to evolve them as one system.

  3. 03

    On-device conversational runtime

    Local inference, memory, speech, guardrails and constrained tool use are composed into a runtime designed around controllability and product behaviour.

  4. 04

    Authoring, SDK and evaluation surfaces

    Visual authoring tools and a Unity SDK make the platform usable beyond its core services, while explicit evaluation work keeps technical progress separate from subjective product quality.

Stack and tools

Stack and tools

  • TypeScript

    Product contracts, services and clients

  • NestJS

    Actor API and orchestration services

  • React Native

    Cross-platform Actor application

  • Expo

    Mobile delivery and native integration

  • Unity

    Runtime SDK and interactive client integration

  • C#

    Unity SDK, editor tooling and runtime bridge

  • ONNX Runtime

    Local inference across mobile and Unity

  • MongoDB

    Actor and platform persistence

  • Three.js

    Real-time avatar rendering surfaces