An engineering team that builds its own tools, in the open.
multnelis is based in Ho Chi Minh City. We publish four tools we use in our own work: a data platform you host yourself, a harness that gets any repository ready for coding agents, a notes board that moves text between machines, and a web workspace for running coding agents.
Built for our own work first.
Each project started as something our own work needed. Every one is a public repository you can read, install, and file issues against.
- based
- Ho Chi Minh City
- since
- 2025
- public
- 4 projects
- org
- github.com/muitneliss →
What we build
Undercroft
muitneliss/undercroft →pre-alpha
Bring your business data into a platform you host yourself.
An immutable raw lake, declarative connectors, and a schema you define yourself. Raw data lands once, content-addressed and never overwritten; connectors are YAML, not code; every table above the lake is a dbt model you wrote. Multi-tenant and self-hostable. Pre-alpha: under active construction, nothing is stable yet.
Use cases
Collect every source in one place
Pull HubSpot, Xero, Gmail and Google Drive into one store on your own S3 or MinIO, each tenant's credentials sealed.
Model it your way
No business schema ships. Records land in one generic Postgres table; your dbt models, questions and dashboards sit on top.
Search everything at once
One search box over records and document text, matching Vietnamese with or without tone marks.
Let agents work as you
A CLI and an MCP server give Claude and other agents every procedure, signed in as you and never with more.
- repo
- muitneliss/undercroft →
- site
- undercroft.lowbit.link →
- stack
- TypeScript · Bun · Postgres · dbt · MinIO · MCP
- license
- MIT
Ymir
muitneliss/ymir →released
Turn your team’s conventions into rules, lint and CI that coding agents follow.
Ymir is an agent skill for Claude Code, Cursor, Codex and other agents, installed with the skills CLI. It explores your codebase, asks you about one concern at a time, and records your decisions as a harness spec. Applying the spec generates the rules, lint, CI checks, wiki context and CLAUDE.md or AGENT.md. It writes no application code.
Use cases
Get an existing repository agent-ready
Write down the conventions a team keeps in its head, so an agent works to them from its first session.
Keep the reasons on record
Each choice is probed for its why, given a grounded recommendation, and saved with its rationale.
Back up and revert changes
Applying backs up every file it overwrites, and one revert undoes the last apply.
- repo
- muitneliss/ymir →
- site
- skills.sh/muitneliss/ymir →
- install
npx skills@latest add muitneliss/ymir- stack
- Agent skill · TypeScript · Bun · skills.sh
Text Transporter
Move text between your devices through a notes board at a name you choose.
Type a name, and whatever you paste there follows you to any machine: open the same name on a laptop, a phone or a server’s browser and the notes are there. It runs as one container, with its notes in a single SQLite file.
Use cases
Move text between machines
Paste a command, a link or a log on one device and copy it on another, without email or chat.
Keep the snippets you reuse
Pin the notes you come back to, colour them, and filter by colour or search.
Read code as code
Switch a note to Markdown to render headings, links and syntax-highlighted code blocks.
- repo
- muitneliss/text-transporter →
- image
ghcr.io/muitneliss/text-transporter- stack
- Next.js · React · SQLite · Docker
Kanna
cuongtranba/kanna →released
Run Claude Code and Codex from a web workspace built for long sessions.
Kanna is a web UI for the Claude Code and Codex CLIs that you run on your own machine. Tool calls, diffs and plans read as one transcript; every chat is kept in an append-only log and can be resumed; each piece of work can get its own git worktree. It runs on macOS and Linux and installs with Bun.
Use cases
Give every task its own branch
On a kanban board, one card is one branch, one git worktree and one chat, so agents on different cards never touch each other’s files.
Work toward a goal unattended
Give a loop a goal and a verify command, and it keeps handing out the next step until the command passes. Recurring prompts run on a cron schedule.
Delegate to named subagents
Define subagents with their own instructions; the main agent hands them work, in the background if you like, and picks up the result.
Choose the model per chat
Switch between Claude, Codex and OpenRouter per chat, and rotate a pool of Claude accounts when one reaches its rate limit.
- repo
- cuongtranba/kanna →
- site
- kanna-wiki.lowbit.link →
- install
bun install -g @cuongtran001/kanna- stack
- TypeScript · Bun · React · Claude Code · Codex · MCP
How we work
Own the data and the stack.
Undercroft is self-hostable and MIT-licensed; Text Transporter is one container and one SQLite file. What we build runs where you decide.
undercroft · text-transporter
Write the rules down, for people and agents.
Our main repositories carry their conventions as agent instructions and skills, so a coding agent works under the same rules as a person. Ymir exists to write that harness for any repository.
AGENTS.md · skills
Ship small, in the open.
Work lands through pull requests with CI, and Undercroft, Ymir and Kanna cut every release with release-please, changelog included.
pull requests · release-please
Use it, fork it, tell us what breaks.
Every repository takes issues on GitHub. For anything else, one address reaches the whole team.
