Nick Bryant

Software.
Systems.
Worlds.

I build things from the first idea to the working product.
Explore the work ↘

Conceptual terrain study of an imagined generative world

01 / An engineering atlas

02Interactive work

Generative worlds

Games, authoring systems, and small experiments where procedural structure meets deliberate worldbuilding.

Conceptual landscape cross-section from desert mesas to alpine peaks
Concept study / Terrain, rules, inhabitation
The Lower Worlds project screenshot

01 / Field study

The Lower Worlds

Generative authoring · TypeScript / React / Three.js

An experimental generative-authoring system in TypeScript, React, and Three.js. Models and people define the world, schemas validate and version it, and deterministic rules run the game while player progress stays private.

Explore the architecture

The authoring stack separates intent, validated schema, versioned world definitions, and deterministic runtime state so generated content can remain inspectable.

System plate / 04

The Lower Worlds · architecture study

Illustrative assembly

An exploded isometric illustration of software architecture showing the intent, schema, world, and runtime layers of The Lower Worlds software architecture.

World. Versioned, reusable definitions preserve a coherent world across play.

Blind Magus project screenshot

03 / Field study

Blind Magus

Released action game · Independent

A released action game built around combining spells into new effects.

The Lower Worlds: Awakening project screenshot

06 / Field study

The Lower Worlds: Awakening

Creator and engineer · Playable prototype

A third-person dungeon adventure in Godot 4.7: prepare at Highbridge, explore the ruins below, and choose when to return to defend the garrison. Typed GDScript, physical puzzles, persistent progression, and rendered gameplay verification.

Chapter 02 / Applied intelligence

Agents &
systems

Local-first tools that make model work inspectable, bounded, and useful in the physical or commercial world.

Conceptual study of a speculative workshop machine
Conceptual study / Not actual hardware
AI Robot Workshop project screenshot

01 / Working system

AI Robot Workshop

Open source · Local-first agent workflow

Turns agent conversations into inspectable plans, firmware, parts records, bounded models, and bench observations. The documented hardware routes remain unbuilt.

Treasure Hunter project screenshot

02 / Working system

Treasure Hunter

Creator and engineer · Local agent system

A local, chat-operated marketplace agent that values every collected item, persists evidence and checkpoints, and explains its ranked results in a live dashboard.

Chapter 03 / Field notes

Writing from the work

Conceptual editorial study of embossed terrain and printing plates
Concept study / Ideas made durable
  1. Give Agents Lives, Not Just Jobs

    A1

    Give Agents Lives, Not Just Jobs

    Why I think ongoing pursuits, embodied experience, and a limited point of view can give agents something more interesting to say.

  2. A Small Model With a World Around It

    A2

    A Small Model With a World Around It

    What my local-model companion experiments taught me about structured output, useful conversation, and the architecture around a model.

  3. Human–Agent Interaction Is More Than Chat

    A3

    Human–Agent Interaction Is More Than Chat

    Presence, silence, interruption, and selective memory are part of the interface when an agent has a continuing life.

  4. Digital Twins Need More Than Your Chat History

    A4

    Digital Twins Need More Than Your Chat History

    A useful twin needs a history of changing views, explicit authority, and a distinction between representing someone and becoming its own agent.

  5. Marketing Is a World Agents Can Work In

    A5

    Marketing Is a World Agents Can Work In

    Lessons from SFV and SMBIN: content, audiences, campaigns, and feedback form an environment an agent can understand.

  6. Treasure Hunter

    01

    Treasure Hunter

    Building an agent that values every item and exposes its evidence, uncertainty, and resumable state.

  7. AI Robot Workshop

    02

    AI Robot Workshop

    From a plausible agent answer to persistent project files, explicit evidence, and a buildable path.

  8. Fractal Authoring

    03

    Fractal Authoring

    Building The Lower Worlds Online, and a world that can keep becoming more specific.

  9. Building procedural environments in Valenfeld

    04

    Building procedural environments in Valenfeld

    A practical look at shaping generated terrain into a world with authored intent.

  10. The Transformer Is the Transistor

    05

    The Transformer Is the Transistor

    A thesis on AI as a building block, and the verification and coordination infrastructure models need around them.

  11. The Lower Worlds: Awakening

    06

    The Lower Worlds: Awakening

    Building a home worth returning to: a playable Godot adventure, with in-engine screenshots and source.

Chapter 04 / About

Builder,
end to end.

Portrait of Nick Bryant

I’ve spent most of my career taking an idea and building the whole thing: the prototype, the product, and the team. Web, mobile, games, AR/VR, AI—I like learning what a hard problem needs and getting it working.

Right now I’m deep into agentic programming and generative worlds, trying to build things that weren’t practical a few years ago.

Denver / Boulder

Selected work

ARCOS / VN.AI

IP workflows · Next.js / Supabase / MongoDB / Redis / AWS

I led product engineering for IP management, permitted-use workflows, and content analysis. We connected roughly twenty model integrations and supported product pilots across the application and cloud stack.

Selected work

Procurement Sciences

B2B software · MERN / Python / FastAPI

I rebuilt an early Rails prototype as a MERN and Python/FastAPI product. I implemented the application, managed the engineering team, and hired the incoming CTO before the handoff.

Current · advisory

Investing systems

Investing / syndication · Co-founder, now advisory

I built investing and syndication software, AI-assisted underwriting workflows, investor reporting, and marketing automation for SMB Investor Network and Search Fund Ventures. My current role is passive advisory work.

2015–2020

Interesting Inventions

Consumer apps & games · Technical co-founder

Built and launched 5+ consumer applications through a holding-company portfolio, reaching nine-figure revenue scale.

Full career on the resume ↗
Small Model With A World
Editorial illustration

Experiment · Mote · Nick Bryant · October 21, 2026 · 6 min read

A Small Model With a World Around It

What my local-model companion experiments taught me about structured output, useful conversation, and the architecture around a model.

A Small Model With a World Around It: conceptual system diagram
Original conceptual diagram · not a project screenshot

It is tempting to locate an agent’s intelligence in one place: the model. If a companion is repetitive, forgetful, or easily confused, the obvious response is to reach for more parameters.

Mote has pushed me toward a different question. How much of useful behavior should be carried by the world around the model?

Mote is a standalone local companion experiment adapted from AIWorld’s cognitive contracts. It has its own SQLite save, scheduler, evidence, and small simulated life. My thesis is not that a tiny model secretly matches a frontier model. It plainly may not. The thesis is that parameter count is only one part of a cognitive system, and that we waste model capacity when we ask generated text to stand in for time, memory, action, and truth.

Put ordinary life in ordinary code

Mote’s routine life does not require an inference call. Procedural code advances energy, curiosity, companionship, place, current activity, and progress. A utility rule chooses among resting, exploring, playing, and observing, with feasibility checks and a repetition penalty. Completed activities can advance small persistent pursuits. Those outcomes become events with source IDs and survive a restart.

The language model has a narrower job. It can propose speech, a short inspectable reflection, a next action, and memory IDs. Zod validates the shape. The application filters unknown memory IDs, checks whether an action is feasible, and commits the actual result separately. A proposed exploration is not a completed exploration. A diary line is labelled as a hypothesis, not promoted into fact.

This division is a cognitive architecture, not merely guardrails around a chatbot. The world supplies continuity and consequences. Retrieval supplies bounded evidence. The model interprets an unusual moment or finds words for a response. Most clock ticks need no prose at all.

A concrete scenario makes the boundary clearer. Suppose Mote finishes exploring and the committed event says it reached the garden and made a discovery. Later I ask, “What did you find?” The prompt can include that sourced development, and the model can describe it in character. If the model instead proposes another exploration, the resolver still has to check energy and start the activity; it cannot narrate a second discovery into existence. If I ask an unrelated question, relevance gating should keep routine world chatter out of the answer.

The architecture will not make weak prose beautiful. It can, however, stop beautiful prose from becoming the database.

The first local trials were small and revealing

On October 6, I recorded a few isolated local-model samples on an Apple M2 Max with 32 GB of unified memory. These were tiny, noncontrolled samples, not a benchmark, a ranking, or evidence of long-term companion quality.

Gemma 4B produced valid structured decisions in only 2 of 6 unconstrained-JSON samples. With a required JSON schema it produced 6 of 6 valid decisions, with a median response latency of 2.64 seconds. That is a useful transport result: constraining the output fixed the envelope in those samples. It is not proof that the content was good. The notes still record repetitive questions and scene embellishment.

Qwen 0.6B returned one schema-valid sample in 1.10 seconds, but it echoed the input instead of replying. Gemma 1B returned one schema-valid sample in 2.11 seconds and produced an actual companion response, which made it a reasonable lighter initial default. Later isolated checks still found echoing and loose handling of unclear input, including an additional packaged-app greeting that echoed part of the request. One successful reply did not settle the quality question.

I have no battery result to report from those samples. There was no sustained all-day thermal test, and Node process memory would not account for Ollama’s model memory anyway. The recorded latencies and output speeds are observations about those particular runs, not a general comparison among model families.

What the samples do show is that validation and conversation are separate problems. A schema can turn malformed output into valid output without turning an echo into a useful answer. Conversely, an appealing sentence is not enough if the action or memory references cannot be checked.

Memory is not one interchangeable feature

Mote and AIWorld deliberately use different recall mechanisms today.

Mote performs bounded lexical selection over grounded memories, combining word overlap with recency. It keeps immutable source event IDs, labels user statements as reports, and distinguishes lived events from reflections and communicated memories. This is inspectable and cheap, but it can miss a relevant paraphrase that shares no useful words with the query. Mote does not claim a semantic embedding index or mem0 integration.

AIWorld preserves its mem0-based semantic fact retrieval and adds scoped evidence and structured cognitive records around it. Semantic recall can help with paraphrases, but mem0 is still not the authority for inventory, arrival, task completion, or who witnessed an event. In both systems, provenance and scope come before fluency. The mechanisms are related, not identical.

That distinction matters when discussing “small models.” Better retrieval can reduce the context a model has to interpret, but retrieval errors remain retrieval errors. A tiny model can also follow the schema while selecting the wrong evidence, repeating the user, or giving a bland response. Architecture reallocates work; it does not abolish model capability.

Compare systems, not isolated replies

The fairest next evaluation would hold scenarios constant and vary both model size and architecture. I would run the same scripted conversations and world events through a small model with Mote’s procedural life, the same small model with prompt-only state, and a larger prompt-only model. The scripts should include paraphrased recall, an unwitnessed event, an infeasible action, a quiet request, a restart, an unclear message, and a question about a completed pursuit.

Before running them, I would define pass/fail measures: valid decision rate, direct response versus input echo, correct selection of sourced memories, false claims about actions, respect for quiet and scope, consistency after restart, latency, and blinded human ratings of usefulness and repetition. A separate sustained run should measure whole-machine memory, thermal behavior, and battery rather than infer them from model latency.

This could disprove the stronger version of my thesis. If the world-wrapped small model still fails basic conversation, if procedural state does not improve continuity, or if a larger prompt-only model is equally grounded with less complexity, then the architecture has not bought enough. I expect tradeoffs rather than a universal winner: lexical recall is limited, the action vocabulary is narrow, and handcrafted utility can become predictable.

Still, I like the direction. A model does not have to simulate an entire existence every time it speaks. Give it a clock it cannot rewrite, events it did not invent, choices that can fail, and a memory system that names its sources. Then even a small model has a world to think from—and we can evaluate the system by what actually happened, not only by how intelligent one reply sounded.

Experiment record and transport reference

The figures above come from my October 6 trial notes, summarized with their sample sizes and limitations. These are a project notebook, not independently reproduced measurements. Ollama’s structured-output documentation describes the schema-constrained transport mechanism; it makes no claim about the usefulness of these particular companion replies.