System orbit opener
An opening motion piece that makes the stack feel assembled, intelligent, and physically present before the first line of copy finishes landing.
PlatformKit is where modular monolith structure, runtime-faithful UI, executable browser contracts, and AI-native developer tooling meet. Less theater, more truth.
Bootstrap paused
The starter composition is parked. Restore the window to keep exploring the module graph.
The public journal stays close to the real platform: architecture, testing, AI tooling, and lessons learned.
Quickstart parked
Reopen the command window when you want the shortest path back to a running flagship surface.
Each layer builds on the one below. Start with infrastructure, add modules, build your app — each piece snaps perfectly into place.
Complete SaaS · Custom Apps · Any Industry
Auth · Billing · Tenant · Booking · 17+ more
Entity · CRUD · Events · MCP · Security · API
PostgreSQL · Redis · NATS · Docker · OpenTelemetry
Each module is self-contained with its own entities, APIs, admin UI, migrations, and tests. Snap them together to build any SaaS.
This is the part most landing pages skip. Compose real PlatformKit modules and you get REST base paths, admin routes, and MCP tools from the same module graph.
module api base path admin surface
-------------------- -------------------- --------------------
auth_management /api/v1/auth /admin/auth
user_management /api/v1/users /admin/users
tenant_management /api/v1/tenants /admin/tenants
billing_management /api/v1/billing /admin/billing
admin_management built into app shell /adminGraph parked
Reopen the module graph to inspect how one composition fans out into product, admin, and agent surfaces.
Base paths come straight from module contracts, not a handwritten router.
Modules contribute routes into the shared admin shell as they register providers.
Entities in these modules already expose agent-facing tool names through MCP interfaces.
Impossible-looking, implementation-ready
The page should feel like the product is orchestrating light, motion, and infrastructure in real time. These scenes define the missing media moments that make the whole experience feel beyond normal web constraints.
An opening motion piece that makes the stack feel assembled, intelligent, and physically present before the first line of copy finishes landing.
IMAGE · 4:5
VIDEO · 21:9
An opening motion piece that makes the stack feel assembled, intelligent, and physically present before the first line of copy finishes landing.
A still that explains the platform architecture in one glance and gives the proof section something more authoritative than abstract diagrams.
A narrative bridge between human operator intent and AI execution, built to support the assistant and workflow automation story.
Media system
The default tenant should not look like a prompt dump. It should show a coherent set of production assets: hero keyframe, architecture proof, and operator narrative.
16:9An opening motion piece that makes the stack feel assembled, intelligent, and physically present before the first line of copy finishes landing.
A still that explains the platform architecture in one glance and gives the proof section something more authoritative than abstract diagrams.
A narrative bridge between human operator intent and AI execution, built to support the assistant and workflow automation story.
Production notes
Generated media must feel like part of the product system: graphite surfaces, teal connection light, restrained amber accents, and clean negative space for real HTML copy.
platformkit ships an MCP server. Add it to your AI tool and build entire SaaS apps through conversation.
{
"mcpServers": {
"platformkit": {
"command": "go",
"args": ["run", "./tools/platformkit-mcp"],
"cwd": "/path/to/platformkit"
}
}
}Config window paused
Reopen the config to copy the MCP attachment block back into Claude, Cursor, Windsurf, or any compatible client.
{
"mcpServers": {
"platformkit": {
"command": "go",
"args": ["run", "./tools/platformkit-mcp"],
"cwd": "/path/to/platformkit"
}
}
}Config window paused
Reopen the config to copy the MCP attachment block back into Claude, Cursor, Windsurf, or any compatible client.
{
"mcpServers": {
"platformkit": {
"command": "go",
"args": ["run", "./tools/platformkit-mcp"],
"cwd": "/path/to/platformkit"
}
}
}Config window paused
Reopen the config to copy the MCP attachment block back into Claude, Cursor, Windsurf, or any compatible client.
Example conversation
Build me a gym management SaaS with memberships, booking, and billing
I'll compose your app with these modules:
All dependencies satisfied. Project generated with 7 modules.
Not an aspiration. A reproducible sequence. Here's exactly what happens.
Clone the flagship app surface and boot the baseline stack with one supported command
Connect the MCP server — your AI can now see every module and entity
AI selects 7 modules, generates config, validates dependencies
REST and MCP live. Mobile-ready admin from day one
Production-ready deployment with monitoring and observability
Current obsessions
34+ Integrations
The engineering questions I keep circling back to
Modules
Entities
Interface Types
Min to Deploy
A few essays and build notes from the work
Atoms and molecules help, but a real platform also has module surfaces, app surfaces, and fidelity boundaries.
✓Component taxonomies explain reuse; they do not explain runtime truth.
✓Base, Modules, Apps, and Tools need different preview contracts.
✓Storybook becomes useful when it stops pretending all UI is the same kind of thing.
I still prefer stronger seams inside one system before I reach for service sprawl.
✓Repositories, handlers, contracts, and modules are there to reduce accidental complexity.
✓A modular monolith makes change safer without romanticizing distribution.
✓The point is not ideology. The point is keeping the system legible.
When AI is a real operator inside the repo, context, commands, and boundaries become product surfaces.
✓Prompt glue is not enough once the codebase gets large.
✓Generated context, commands, and agents need to match the actual repo graph.
✓Developer experience becomes part of the platform contract.
Smoke checks were not enough. The platform needed contracts, traces, seeded execution, and honest coverage.
✓Routes loading is not the same thing as features working.
✓Green only means something when the system executes the behavior it claims.
✓Coverage gaps are often platform-definition gaps in disguise.
Short ideas that survived contact with the code
A page rendering is not the same thing as a feature working. I trust systems more when they can prove what they do.
Truth before polish
note 01
Atoms, molecules, and organisms help with reuse. They do not remove the need for module surfaces, app surfaces, and runtime-aware previews.
Taxonomy is not fidelity
note 02
Once AI starts operating inside the repo, commands, context, and permissions become first-class interface design.
AI is another user
note 03
Tenant isolation feels more honest when it survives the trip from request context into repository execution and database policy.
The database is part of the security story
note 04