You bring the frontend.
SmallStack brings the rest — day one.
This inventory dashboard is a few reactive components. The backend it talks to isn't a bare API — it's a whole operations console: auth, admin, docs, uptime, backups, search, deploy. You didn't build any of it, and you can consume all of it from Svelte.
fetch JSON · hold a token · render
One declaration. Every surface lights up.
A single CRUDView emits admin pages, a REST API, OpenAPI docs, and MCP tools — from one model.
from apps.smallstack.crud import CRUDView
from .models import Item
class ItemView(CRUDView):
model = Item
fields = ["name", "sku", "quantity", "unit_price", "status"]
search_fields = ["name", "sku"]
enable_api = True # → REST + OpenAPI docs
enable_mcp = True # → AI tools at /mcp
What ships on day one
Not a starter kit you finish — a running operations platform your frontend plugs into.
One interface, or a potpourri
FastAPI has the better async story — genuinely. But to reach this much operational surface you assemble and maintain a dozen packages yourself. SmallStack hands it to you in one.
One codebase. One admin. One deploy. Consistent, tested, day 1.
- Auth, admin, REST + OpenAPI
- Uptime + public status page
- Activity log & audit trail
- Backups, search, explorer
- Kamal deploy + automatic SSL
- MCP / AI tools included
Pick, wire, and maintain each piece — and hope they agree.
Ready to build it?
Part of the SmallStack frontend suite — the same inventory app is built in React, Svelte, Solid, and Streamlit, each against this one backend.