This is a demo page. DemoKit isn't a real product — the copy is real work, the product isn't.Get the template →
One binary · macOS, Linux, Windows

Your test data is lying to you.

Every row in your dev database says test test test — so every bug that only appears with real names, real unicode and real nulls waits until production to introduce itself. DemoKit reads your schema and fills it with data that behaves like the real thing. One command, no fixtures to maintain.

The alternative

Or you could roll your own.

You've done it before. A seeds.ts, a faker import, a free afternoon. Here's where the afternoon goes:

DemoKit is demokit seed. Four seconds, and it re-reads the schema itself.

What's inside

It reads your schema. Then it does the boring part.

Point it at a database URL. It introspects the tables and fills them — no config file, no fixtures, no ORM plugin.

Reads any schema

Postgres, MySQL, SQLite. It introspects columns, types, constraints and foreign keys — your migrations are the only source of truth it needs.

Data that behaves

Real names, addresses, unicode, plausible nulls, emails that are valid but safe to send nowhere. The edge cases that only bite in production show up on your laptop instead.

Referential integrity

Every foreign key points at a row that exists. Join tables fill in the right order. --rows 100000 stays consistent all the way down.

Deterministic

--seed 42 gives everyone on the team the same database. Reproduce a bug from a coworker's exact row instead of a screenshot of it.

One command

demokit seed with no flags does the obvious thing. Flags are there for the day you need them, not a tax you pay on day one.

Won't touch production

It refuses any connection string that matches your PRODUCTION_URL or smells like one. The safety is on by default; you never have to remember to turn it on.

Receipts

People who stopped maintaining fixtures.

A prod bug caught on a laptop
Found a unicode truncation bug in our billing-name column that had been in prod for months. It showed up the first time I seeded with real data.
Maya OkonkwoStaff Engineer, Ledgerline
−2,000 lines, −40s CI
Deleted 2,000 lines of factory code. CI dropped by 40 seconds and I stopped thinking about seed data entirely.
Tomas Beck@tombeck
Onboarding: a day → a command
Onboarding a new dev used to mean a day of 'why is my local database empty'. Now it's one command in the README.
Priya NairFounder, Cadence
Pricing

One price. Yours forever.

No subscription, no seats to count on the honour system. Buy it once, update it forever.

Solo

One developer, every project you ship.

$39

one-time

  • The DemoKit binary, all platforms
  • Postgres, MySQL, SQLite
  • Unlimited projects, personal and commercial
  • Lifetime updates
  • 30-day refund, no questions
Before you ask

The usual questions.

Which databases does it support?

Postgres, MySQL and SQLite today. Mongo and SQL Server are next. If yours isn't listed, reply to your receipt — refunds are open for 30 days and I'd rather you had your money than a tool that doesn't fit.

Can it accidentally hit my production database?

No. DemoKit refuses any connection string that matches your PRODUCTION_URL env var or pattern-matches a managed-host URL. Overriding that takes a flag you'll never type by accident.

How is this different from Faker or factory_bot?

Those hand you a library — you still write the inserts, wire the foreign keys, and keep it all in sync with the schema. DemoKit reads the schema and does that wiring for you. It uses a Faker-grade generator underneath; the work it saves is the plumbing around it.

What does 'lifetime updates' actually mean?

Every future version, free, forever, for one payment. No renewal, no upgrade pricing. If DemoKit gets more expensive later, you still paid once.

What's the licence?

Solo covers one developer on unlimited projects, personal and commercial. Team covers up to 20. You can't resell DemoKit itself — but anything you build with the data it generates is yours.

Refunds?

Thirty days, no questions, one reply to your receipt. See the guarantee below — it's the whole policy, not a link to a policy.

Thirty days. Keep the binary either way.

If DemoKit doesn't save you an afternoon in the first week, reply to your receipt and I'll refund you in full — and you keep the download. No form, no 'reason for return', no support-ticket maze. I'd rather have your trust than your $39.

Theme