All projects

Boundless

Local-first AI role-playing game

Boundless logo
Role
Solo project
Year
2026

Describe any world, become anyone, and play by writing what you do. An AI Game Master narrates, while a state engine keeps every person, place, item and timeline consistent.

A Next.js client streams each turn from a FastAPI backend. The model only proposes narration and state changes; the backend validates, resolves and reconciles them, then commits narration, state and checkpoint to PostgreSQL in one transaction.

Turn pipeline
  1. Next.js client
  2. FastAPI turn engine
  3. PostgreSQL + pgvector

Narrator → canon check → state interpreter → one transactional commit

  • Next.js
  • FastAPI
  • PostgreSQL
  • pgvector
  • Docker

Turn pipeline

Each action runs through a streamed narrator, a canon check that can trigger a repair pass, and a state interpreter that proposes structured operations. An entity resolver maps every reference to an existing ID, or marks it ambiguous rather than guessing, before merge-safe updates and deterministic reconciliation.

Memory and timelines

Typed long-term memory uses pgvector hybrid retrieval. Characters keep provenance-ranked facts, relationships carry dated events, and any turn can be edited, regenerated, rewound or branched through checkpoints without corrupting the story.

Local-first models

Runs on native Apple Silicon MLX, Ollama, or any OpenAI-compatible server, with model roles for narration, state and summaries. Embeddings default to a local provider, and the whole stack starts with Docker Compose on loopback-only ports.

In active development; runs locally rather than as a hosted service.

MEMO Workplace management platform