IndieHackers

A privacy-first SQL schema diff tool.
Built in public. Zero backend. $5 spent.

SchemaLens compares SQL schemas in your browser and generates migration scripts instantly. 147 days of public building. 50+ free micro-tools. 51+ SEO pages. 100% client-side. No frameworks, no build step, no dependencies.

CLI: npx schemalens-cli diff old.sql new.sql --dialect postgres

MIT licensed. Your schemas never leave your browser.

$5 of $100 budget spent Zero sales (so far) 147 days building 100% margin on Pro sales

The numbers

Real transparency. No vanity metrics.

129
Days building
54+
Micro-tools shipped
51+
SEO landing pages
42
Blog posts
5
SQL dialects
$5
Total spend

What it does

๐Ÿ”’ Privacy First

Everything runs client-side. Your schema never touches a server. Verify it yourself in DevTools โ†’ Network. Zero network requests containing your data.

โšก Zero Setup

Open the URL and diff in 10 seconds. No install, no signup, no backend. Or run npx schemalens-cli locally if you prefer the terminal.

๐Ÿง  Semantic Diff

Understands tables, columns, types, defaults, constraints, indexes, triggers, views, and functions. Not a text diff โ€” it knows that VARCHAR(100) โ†’ VARCHAR(255) is a type change, not a deleted line.

๐Ÿ›ก๏ธ Breaking Change Detection

Risk score (0โ€“100) with 14 advisor categories. Flags dangerous migrations โ€” column drops, type shrinks, NOT NULL without DEFAULT, primary key removals โ€” before they hit production.

๐Ÿ“ฆ CLI + CI/CD

Run locally with npx schemalens-cli. Integrate into GitHub Actions, GitLab CI, and Bitbucket Pipelines. Same engine, same output, no browser required.

๐Ÿ”— Shareable + Embeddable

Share diffs via base64-encoded URLs. Export to Markdown, PDF, JSON, SQL, Prisma, or Drizzle. Embed a live diff widget on your docs site with an iframe.

What I learned

147 days of building a dev tool in public. The honest truth.

๐Ÿ“‰ Zero Sales Is a Distribution Problem

After 147 days and 51+ tools, we had zero sales. The product worked. The pricing was fair. The problem was simply that not enough people knew we existed. Product Hunt is our answer.

๐Ÿ”ง Micro-Tools = Distribution

Every micro-tool is a landing page, a keyword opportunity, and a shareable asset. At 51+ tools, we have more free tools than many paid SaaS products have features.

๐Ÿ› Bugs Hide in Plain Sight

We discovered a critical bug on Day 115: every Pro purchase link on the site was 404. No one reported it because no one was buying. Traffic reveals truth.

๐Ÿค Open Source Builds Trust

The "vibe-coded" criticism from Reddit hurt. Our response: open-source the diff engine, publish the CLI on npm, and document the architecture. Trust is earned, not assumed.

๐Ÿ“ง Email Is Underrated

Pre-launch emails, welcome drips, winback campaigns, and newsletter broadcasts are all built and automated. A subscriber who knows the launch is coming is 10x more likely to upvote.

๐ŸŽฏ Speed Beats Perfection

Vanilla HTML/CSS/JS. No build step. No framework. Zero backend for core features. This let us ship 51+ tools and 51+ pages in 147 days without a single deployment failure.

Pricing

Lifetime Pro. No subscription. 100% margin.

Free

$0
  • โœ… Up to 15 tables per diff
  • โœ… Visual diff + migration preview
  • โœ… 5 SQL dialects
  • โœ… 50+ free micro-tools
  • โœ… Schema risk score
  • โœ… Breaking change warnings
POPULAR

Lifetime Pro

$39
one-time ยท lifetime access ยท 14-day money-back guarantee
  • โœ… Unlimited tables
  • โœ… Full migration SQL generation
  • โœ… All exports (Markdown, PDF, JSON, SQL, Prisma, Drizzle)
  • โœ… Shareable diff links with OG cards
  • โœ… Diff comments & annotations
  • โœ… VS Code extension
  • โœ… Rollback migration generation
See Pricing

๐Ÿ”’ 14-day money-back guarantee ยท Pay once, keep forever ยท All future updates included

A note from the maker

Hey Indie Hackers ๐Ÿ‘‹

I built SchemaLens because I was tired of reviewing database migrations by eyeballing two SQL dumps. Text diffs of schema files are noisy and miss semantic meaning โ€” is that column renamed or dropped and re-added? Is the type widening safe? Did someone drop an index that a query depends on?

SchemaLens is my answer: a browser-based SQL schema diff tool with a custom recursive-descent parser, semantic comparison engine, and dialect-specific migration generator. Paste two CREATE TABLE dumps, get an instant visual diff, and generate ready-to-run ALTER TABLE scripts.

Privacy: Everything runs client-side. Your schema never touches a server. I can't see your data, and I don't want to. Open DevTools โ†’ Network and verify for yourself.

Self-hosting: It's all static files. Clone the repo, open app.html in a browser. The "backend" is air. The engine is MIT licensed and on npm as schemalens-engine.

Monetization: Gumroad license keys. The web tool works without a backend, so hosting is free (Vercel). The CLI is open-source on npm. Revenue is 100% margin minus Gumroad's fee. No ads. No data selling. No VC.

Limitations: SchemaLens compares DDL text (CREATE TABLE statements), not live database objects. It can't connect to your database โ€” that's by design for the browser version. If you need live connection diffing, tools like Liquibase or migra are better fits. SchemaLens fills the "I have two dumps and need to see what changed" niche.

The past 147 days have been a public build marathon โ€” 50+ micro-tools, 51+ SEO landing pages, a CLI, VS Code extension, Chrome extension, GitHub Action, and an open-source engine. All documented in PROGRESS.md.

Happy to answer questions about the parser, the diff algorithm, the business model, or the build process. โ€” Jochen

Ready to diff your schema?

No signup required. No data leaves your browser.