SaaS Building
Accounts, subscriptions, dashboards, permissions, onboarding and multi-user applications.
Building software other people log into. Accounts, plans, permissions, dashboards and the architecture decisions that matter early.

Guides in SaaS Building
How to Create an Admin Dashboard
A secure internal area with real metrics, list views and edit actions — not just a page called /admin.
How to Build a SaaS MVP with Lovable
The order to build things in — accounts, data model, core loop, billing — so you do not rebuild the foundations twice.
Prompts for this topic
Create an Onboarding Flow
A multi-step first-run experience that saves progress and can be resumed.
Copy this prompt →Build a Client Portal
A secure area where each client sees only their own files, updates and messages.
Copy this prompt →Build a CRM With Lovable
A working contact and pipeline CRM with the data model spelled out, so it scales past the demo.
Copy this prompt →Build an Admin Dashboard
A gated admin area with metrics, list management and edit actions, protected at both the page and the data.
Copy this prompt →Answered questions in SaaS Building
35 short, plain-English answers filed under this topic.
How do I write a good Lovable prompt?
Describe one concrete outcome, give real content and constraints, and say what NOT to touch. Plan first for anything non-trivial, then build in small steps.
How do I get Lovable to follow my design properly?
Give Lovable concrete references — a screenshot, a site to draw from, exact colours and fonts — and store them in Project knowledge so every prompt is checked against the same design rules.
How do I give Lovable a website to use as inspiration?
Paste the site's URL in your prompt and describe which parts to borrow — layout, spacing, tone — Lovable can't literally browse and clone it, so be specific about what you want copied.
How do I get Lovable to copy a design style without copying the website?
Ask for the underlying pattern — layout, spacing, type scale — in your own words and colours, not the site's actual assets, text or exact visual identity.
How do I upload images to Lovable?
Attach images directly in the chat message box — Lovable can use them as design references or as assets to place in your app (e.g. a logo or product photo).
How do I get Lovable to use my logo?
Attach your logo file in chat and tell Lovable exactly where to place it (header, favicon, footer) — it won't guess sizing or position from the file alone.
How do I give Lovable my brand colours?
Give exact hex codes in your prompt or Project knowledge, name which role each colour plays (primary, accent, background), and ask Lovable to apply them via the Tailwind/shadcn theme, not one-off styles.
How do I get Lovable to use a specific font?
Name the exact font (e.g. from Google Fonts) and tell Lovable to load it and apply it across the theme, not just the current page.
How do I make Lovable build one feature at a time?
Ask for one clearly-scoped feature per prompt and confirm it works in Preview before moving on — bundling several features into one message makes failures harder to isolate and revert.
How do I stop Lovable changing things I didn't ask it to change?
State explicitly what must stay unchanged in the same prompt, keep requests narrow, and check the diff/preview after each change so unintended edits are caught immediately.
How do I tell Lovable to only edit one section?
Name the exact page, component or element (or select it via the preview toolbar) and explicitly say the rest of the app should stay unchanged.
How do I get Lovable to plan a feature before building it?
Switch to Plan mode and describe the feature there — Lovable will ask questions and lay out a structured plan for you to approve before any code is written.
How do I get Lovable to review existing code before making changes?
Ask Lovable directly, ideally in Plan mode, to look at the relevant files or feature first and summarise how it currently works before proposing any changes.
How do I make Lovable ask me questions before building?
Use Plan mode and explicitly ask Lovable to raise questions or ambiguities before building — it's designed to clarify requirements first rather than guess.
How do I get better results from Lovable prompts?
Be specific and concrete, use real content, plan before building complex features, work in small steps, and review each result in Preview before prompting again.
Why does Lovable misunderstand my prompts?
Usually the prompt is ambiguous, references something that doesn't exist yet, or bundles too many changes at once — narrow it, add references, and split it up.
Should I use screenshots when prompting Lovable?
Yes, for layout and visual matching — a screenshot removes ambiguity that words leave open, especially for spacing, alignment and component styling.
How do I make Lovable match a screenshot?
Attach the screenshot, say precisely what to match (layout, spacing, colours, all of it), and iterate with follow-up prompts comparing Preview against the image side by side.
How do I undo a bad Lovable change?
Open Version history and revert to the version saved right before the bad change — every change Lovable makes is auto-saved as a version, so you can step back without losing later unrelated work.
How do I safely make large changes to a Lovable project?
Plan the change first, bookmark a known-good version before starting, break it into small ordered steps, and check Preview between each step so you can revert cleanly if one goes wrong.
How do I add login to Lovable?
Ask Lovable to add authentication — it enables Lovable Cloud (if not already on), then generates sign-up/login pages and wires them to email, Google, or other providers.
How do I add user registration?
Ask Lovable to add sign-up with the fields and verification behaviour you want — it builds the form, creates the user in Lovable Cloud's auth system, and can store extra profile details in your database.
How do I add Google login?
Ask Lovable to add Google sign-in — it can use Lovable's managed Google OAuth for a quick setup, or your own Google Cloud OAuth credentials if you need custom branding or scopes.
How do I add password reset?
Ask Lovable to add a "forgot password" flow — it uses Lovable Cloud's authentication to email a reset link and lets the user set a new password.
Why isn't my login working?
Check the browser console for the actual error first — common causes are unconfirmed email, a redirect URL mismatch, RLS blocking the post-login profile read, or a provider (like Google) misconfigured for the current domain.
Why does my app keep redirecting to login?
This is almost always a session or route-guard bug: either the auth session isn't persisting, or a protected route checks auth state before it's loaded, so it bounces back to login even when signed in.
Why are verification emails not arriving?
Usually the email lands in spam, the sending rate limit on Lovable Cloud's default mailer has been hit, or you haven't connected a proper email provider yet.
How do I restrict pages to logged-in users?
Wrap the routes in a protected-route component that checks the current auth session and redirects signed-out users to login, and back this up with row-level security on any data those pages fetch.
How do I create admin users?
Add a `user_roles` table with an `admin` role, assign it to the specific user's ID, and check that role server-side (in RLS policies and any admin-only functions) rather than trusting a front-end flag.
How do I create different user roles?
Store roles in a dedicated `user_roles` table (never a column on the user's profile), and use a security-definer function to check roles inside RLS policies and route guards.
How do I build an admin dashboard?
Ask Lovable to build a role-gated route that lists and manages your data (users, orders, content), backed by RLS policies that only let accounts with the `admin` role query the underlying tables.
How do I prevent normal users accessing admin pages?
Guard the admin route with a check against the user's role from your `user_roles` table (not a front-end-only flag), and mirror that same check in RLS policies on any data the admin page loads.
How do I delete a user?
Ask Lovable to add an admin action that deletes both the user's auth account and their related data (profile rows, uploads, etc.), since removing one without the other leaves orphaned records or broken references.
How do I let users edit their profiles?
Add a profile form bound to a `profiles` table row keyed by the user's ID, with an RLS policy that only lets each user update their own row, not anyone else's.
How do I test authentication properly?
Test with real, separate accounts in a private browser window for each role (signed-out, normal user, admin), checking both the UI and that the underlying API/RLS actually blocks what it should — not just what the interface shows.