Every full-stack developer has been there: you are planning a new
feature, sketching out database tables, and spending half your time
looking up ORM syntax for many-to-many relationships or writing join
tables by hand.
I wanted a tool where I could visually draw my relational tables,
connect the columns, and immediately get clean, copy-pasteable code for
the three targets I use most: PostgreSQL SQL, Prisma ORM, and
Drizzle ORM.
So, I built SchemaDraw(https://schemadraw.netlify.app).
---
### The Architecture: Designing for ₹0 Scale
As an indie hacker, I wanted to launch a tool that could support
thousands of developers without leaving me with a heavy server bill.
To achieve this, SchemaDraw is built as a **100% client-side Single
Page Application (SPA)** using React and Vite:
1. **Client-side Compilation:** The engines that transform your
visual nodes into SQL or TypeScript are entirely written in JavaScript,
running in the user’s browser.
2. Local Storage Persistence: Your work auto-saves locally so
refreshing the tab won't lose your schema.
3. LZ-Compressed URL Sharing: Instead of saving diagrams to a
server database, SchemaDraw compresses the entire canvas layout and
schema structure into a URL hash component. You can copy the share link
and send it to a teammate—the app reads the hash and redraws the exact
layout with zero server storage costs.
---
### Key Features Built for Developers
* **Protruding Target Handles:** Most ERD tools place connection dots
inside nodes, leading to click collisions. SchemaDraw places handles - outside the borders, lighting up green on valid targets to make
5px
drawing links effortless.
* Interactive Presentation Lock: Toggle read-only mode to safely
present or inspect diagrams without making accidental changes.
* Grid Auto-Layout: Got a messy canvas? One click aligns all your
tables into a clean, alphabetical column-row grid.
* Cohesive Theme Engine: A single click swaps between a clean
Light Slate and a cohesive Pitch-Black interface.
---
### Check it out!
SchemaDraw is open, free, and requires no accounts or signups.
👉 **Try it here:**
I’d love to hear your thoughts! What features, databases, or ORM
compilers would make this a permanent part of your bootstrapping
toolkit? Let me know in the comments below!























