01 · AI & data
Boundless
Local-first AI role-playing game
Overview
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.
Look

Architecture
- Next.js client
- FastAPI turn engine
- PostgreSQL + pgvector
Narrator → canon check → state interpreter → one transactional commit
Stack
- Next.js
- FastAPI
- PostgreSQL
- pgvector
- Docker
In depth
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.
