Skip to main content
Open source · self-hostable · MIT

Run a whole platform from one command.

One command gives your team a complete backend on their machine — database, auth, content, email, secrets, workflows — identical to what ships to production. No services to install. No infrastructure to assemble. Deploy it anywhere, including fully managed.

~/product — zsh
$ npx pikku dev
◇ starting local platform…
database postgres — introspected, types generated
auth, content, secrets — ready
email previews · workflows · agents — mounted
console localhost:3000/console
api localhost:3000
Running in production at
The whole stack, the moment you start

A production platform, not a starter kit.

Most frameworks hand you a router and a to-do list. Pikku boots the entire thing — and what your engineers build against locally is exactly what runs live.

01

Database & types

SQLite to start, or point it at Postgres — it reads your schema and generates end-to-end types automatically. No setup, no drift.

02

SSO

Standard OAuth and OIDC out of the box. Point it at Google, Microsoft, Okta — or any provider — and your team signs in. Nothing to build.

03

Content & secrets

A managed content layer and type-safe secrets, handled the same way on a laptop as in production.

04

Email, with previews

Generate transactional email and preview every message live in the console — before a single one is sent.

05

Workflows & agents

Durable, restart-proof workflows and AI agents run natively — no separate engine to operate.

06

One binary

The entire platform is a single command. No container orchestration to maintain just to run "hello world."

07

Audit trails

Every action can leave a record — who, what, when — no matter which entry point it came through. History your auditors will actually accept.

Local equals production

What your team builds is what you ship.

Localnpx pikku dev
ConsoleWorkflowsAgentsAuthQueuesSchedulesMCP
=
Productionpikku deploy
ConsoleWorkflowsAgentsAuthQueuesSchedulesMCP
  • The same auth, permissions and validation run in both places.
  • Switch from SQLite to Postgres by swapping the connection string and running migrations — your functions stay untouched.
  • The console you debug in is the console you operate with in production.
  • No "works on my machine." No environment you can't reproduce.
Enterprise from day one

The requirements your platform needs — already met.

SSO, audit, multitenancy and granular permissions aren't a premium tier or a future quarter. They ship in the open-source binary.

SSO with any provider

Built on standard OAuth and OIDC. Provide credentials for Google, Microsoft, Okta — or any provider — and your organization signs in. No authentication code to write or own.

wireAuth({ providers: ['github', 'google'] });

Full audit trails

Decide what to audit and Pikku records who did what, and when — across every entry point. Compliance-grade history without a separate system.

await audit?.audit({
  type: 'order.created',
  source: 'explicit',
  occurredAt: new Date().toISOString(),
  metadata: { orderId, userId },
});

Multitenancy & permissions

Organizations and tenants are first-class — isolated data, scoped access, and fine-grained permissions wired through everything. Multi-tenant SaaS without the usual plumbing.

// permissions: { admin: isAdmin, owner: [isAuthenticated, isOrderOwner] }

Your own internal tools

Turn any capability into a command-line tool for your ops and support teams — same auth, same permissions, same audit. Internal tooling that's safe by default.

wireCLI({
  program: 'shop',
  commands: {
    report: pikkuCLICommand({
      description: 'Generate the daily sales report',
      func: dailySalesReport,
    }),
    cleanup: pikkuCLICommand({
      description: 'Remove baskets abandoned for more than 24 h',
      func: cleanupAbandonedBaskets,
    }),
    items: pikkuCLICommand({
      description: 'List all items in the catalogue',
      func: listItems,
    }),
  },
});
The console

See everything running. Nothing is a black box.

The operating console ships with the platform. Inspect functions, watch queues, replay workflows, preview email, review tests and permissions — for the exact system in front of you.

localhost:3000/console — Pikku Console
Pikku Console — browse and run functions, inspect wirings

Browse functions · watch queues · replay workflows · preview email · inspect permissions

When you're ready to ship

One command to deploy. You choose the destination.

The same application ships three ways. Stay fully in control, run it in your own cloud, or hand operations to us — without rewriting anything.

OPTION 01

Standalone

Run it anywhere you control.

Bundle the entire platform into a single executable and run it on your own infrastructure. A complete server in one file.

pikku deploy apply -p standaloneopen source
OPTION 02

Your cloud

Your account, your bill.

Deploy the open-source way to AWS or Cloudflare. Same application, your infrastructure, no lock-in.

pikku deploy apply -p aws · cloudflareopen source
OPTION 03

Fabric

Managed, with an AI that knows your system.

Push and forget. Every function becomes a serverless worker, fully observable — and you can talk to your platform in plain language.

pikku fabric deploy applymanaged
Fabric — the managed home for Pikku

Talk to your platform. It already understands it.

Because Pikku knows your entire system, Fabric gives you an assistant that understands your data, your logic and your operations. Ask for a change in plain language — and watch it happen, live.

It's the same application your team ran locally, now hosted, observable, and conversational.

Not a developer? This works for you too — describe the product you want and the assistant builds the data, the screens, the emails, and the deployment. No terminal, no code.

Explore Fabric
You
Add a weekly summary email for active customers.
Done — created the job, scheduled it weekly, and built the email. Preview it in the console.
You
Ship it.
✓ live — deployed as a serverless worker.
Try it now

A complete platform is one command away.

No account. No installation. No setup. Run it and watch the whole system come up.

~/product — zsh
$ npx pikku dev
◇ starting local platform…
database postgres — introspected, types generated
auth, content, secrets — ready
email previews · workflows · agents — mounted
console localhost:3000/console
api localhost:3000

Engineers — curious how it works underneath? See Pikku for developers →