I built three apps with it: a CRM, a research assistant, and a todo app. Each one started the same way. I told Claude Code what I wanted. The app-builder skill generated schemas, domain skills in Markdown, a server, seed data. I pointed Claude Desktop at it. Working app, running locally.
The CRM has five entities (contact, company, deal, pipeline, activity) and three skills (lead qualification, deal forecasting, follow-ups). Hooks fire on events (new contact -> auto-score). Scheduled jobs run on cron (pipeline review weekdays 9 AM). Named views filter data (hot leads: score >= 80).
The research assistant has four entities (topic, source, note, report) and a synthesis skill that describes how to evaluate sources and cross-reference findings. Completely different domain, same framework.
Apps are MCPB bundles. They run in Claude Desktop, Claude Code, Codex, or any MCP client. Any data app you can describe, you can build.
The idea: we've always defined data models for developers to code against. LLMs don't need that. They reason over JSON Schema directly. They read Markdown and apply it. Give them a well-defined schema and domain rules, they do the rest.
My sales lead wrote the CRM's qualification rubric. Not a developer. C-suite: +25 pts, corporate email: +10. The agent reads it and follows it.
Storage is flat JSON files, one per record, backed by git. Grep your CRM, diff a contact, branch your pipeline. The storage layer is pluggable. Flat files today, other backends as the project grows.
Tools are generated from schemas, six per entity. Built on FastMCP in Python, TypeScript library too. The server:
from upjack.server import create_server
mcp = create_server("manifest.json")
mcp.run()
Three tiers: (1) schemas + skills, no code. (2) create_server() one-liner. (3) Python/TypeScript escape hatch for custom logic.Looking for developers and businesses who want to experiment with AI-native applications. If you're interested in collaborating, open an issue or ping me directly.
https://github.com/NimbleBrainInc/upjack Docs: https://upjack.dev