Inspiration

Most floor plan tools force you to learn a mini-CAD program before you can lay down a single wall — drag this line, snap that corner, resize a tiny handle on a phone screen. Homeowners planning a renovation, agents drafting a listing, or renters trying to explain "put the bed here" don't want a drafting class, they want to describe the space and see it. We wanted floor plan creation to work the way asking a friend to sketch something for you works: describe it, or hand over a photo of a napkin sketch, and get a real, labeled plan back.

What it does

FloorDrafter turns a text description or an uploaded sketch/photo into an editable 2D or 3D floor plan in seconds. Type "a 2-bedroom apartment, 85m² total, open-plan kitchen and living room facing south..." and it drafts a plan with labeled rooms and dimension lines. Or upload a photo of a hand-drawn sketch, a scanned blueprint, or an existing plan, and it redraws it in a new style while keeping the layout. Every plan can come back in four looks — a full-color rendered plan, a black-and-white technical CAD drawing, a furnished 2.5D overhead view, or a true 3D isometric dollhouse render — and opens in a 2D editor where you can drag walls, resize rooms, and adjust doors, windows, and labels before downloading a high-resolution PNG. No account needed for the first plan; signing up adds history, more credits, and removes the watermark.

How we built it

  • Next.js 15 (App Router) + TypeScript, PostgreSQL with Drizzle ORM, Better Auth for sign-in, Stripe for subscriptions/credits
  • Tailwind CSS + Radix UI on the frontend, Zustand for client state, next-intl for i18n (English and German)
  • Image generation runs on Nano Banana Pro through a provider-agnostic task layer we built in-house: every request goes through a shared submit → poll → webhook abstraction that can fail over between two upstream AI providers without double-charging credits or double-submitting a job that's still in flight
  • Generated images are mirrored to our own S3 storage instead of trusting the model provider's temporary URLs, which expire after 24 hours

Challenges we ran into

  • Text fidelity. Image models are bad at rendering small, precise text — dimension labels, room names — legibly and without hallucinating extra digits. We iterated hard on prompting and validation to keep labels readable instead of garbled.
  • Staying faithful to the input. When someone uploads an existing plan or a hand sketch and asks for a 3D or technical-CAD version, the model has to preserve wall positions and proportions instead of generating a generic layout that ignores the source image. That constraint shaped almost every prompt we wrote.
  • Provider reliability without double-billing. AI image providers have real downtime and rate limits. Our failover layer switches providers on a hard failure, but deliberately never resubmits a job that's still processing — otherwise a slow-but-successful generation and a "just in case" retry both complete and the user gets charged twice.
  • Vague prompts produce vague plans. Users who uploaded a photo but typed something broad like "make it a 3-bedroom" got a plan that barely changed. Watching real sessions taught us that people needed to be steered toward specific, nameable edits ("split the living room into two bedrooms") before the model would act on them.

Accomplishments that we're proud of

Getting from "type a sentence" to a labeled, dimensioned floor plan that a real-estate agent or a renovator would actually use, not a toy sketch — and making the free trial genuinely free: your first plan generates before you've created an account, and anything you made carries over automatically if you sign up.

What we learned

The biggest usability win wasn't a fancier model, it was steering people toward the sentence that gets a good result. Sessions where someone typed a specific instruction pointed at their upload were far more successful than sessions with a vague request, so a lot of our product work ended up being about coaching the prompt, not just improving the model.

What's next

More languages, more room-type-specific tools, and a vector/SVG export path so plans can go straight into other design software instead of staying a flat image.

Built With

Share this project:

Updates