University student turning agent ideas into inspectable, stateful systems.
Working on coding agents, role-playing runtimes, and source-grounded knowledge tools.
A local Java coding agent designed for long-running codebase work. Append-only sessions preserve branching history, while contract-driven modules keep models, tools, permissions, subagents, memory, and the terminal UI replaceable.
Java 21 Spring Boot JLine JSONL Maven
A modular role-playing runtime built on Pi that keeps storytelling and state transitions separate. World packs compose GM decisions, Writer output, deterministic SQLite state, character agents, snapshots, and optional long-term memory.
TypeScript Node.js SQLite OpenViking
- liiy-llm-wiki - A local-first knowledge agent that keeps model output grounded in traceable source material.
TypeScriptNode.js - gemini-for-claude-code - A Claude Code plugin for scheduled Gemini jobs and bounded tool-driven code generation.
JavaScriptShell - liiy-filePlatform - A database-free file relay with expiring uploads and a single-binary deployment.
Go
My recurring design question: what must remain inspectable when the model, provider, process, or interface changes?
- Recoverability. Append-only history should make work safe to branch and resume.
- Explicit boundaries. Tools, permissions, and state transitions should stay visible and auditable.
- Replaceable edges. Models, interfaces, and storage should sit behind stable contracts.
- Grounded memory. Durable knowledge should lead back to sources, not preserve generated summaries alone.
- Primary languages:
JavaTypeScript - Runtime and data:
Spring BootNode.jsSQLiteJSONLJLine - Also using:
GoPythonShellMavennpmGitHub Actions


