Chat-to-app builder; apps created since 2026-05-13 use TanStack Start (older ones React + Vite) with Postgres via Lovable Cloud or Supabase.
Build Kit / Internal tool
How to build an internal tool or CRM for free
A private app for your team: tables to search and edit records, forms, roles and a simple dashboard. Here is a stack that costs nothing to launch, open-source code to start from, and a plan you can paste into an AI builder.
Like a CRM for a small agency, an inventory tracker, an approval workflow.
Your Build Kit
Internal tool
A private app for your team: tables to search and edit records, forms, roles and a simple dashboard.
- User accounts
- Teams and roles
- Search and filters
- Admin panel
- To launch
- $0
- After the free tiers
- ~$76/mo
- Build time with AI
- 16–50 h
Build it with
Browser builder for any JavaScript frontend with Node.js backends (Expo for mobile), plus Bolt Cloud hosting, databases and domains.
Generates Next.js apps with Tailwind and shadcn/ui and deploys them to Vercel.
Agent builds and hosts full-stack web apps with managed PostgreSQL built into every app.
The stack
Every pick has a free plan you can launch a business on, unless it says otherwise. Free tiers checked 2026-10-27.
App framework
TanStack Start MIT
Lovable builds new apps on it (React with server functions), so the code you export runs anywhere that hosts Node or Workers. React apps that need server code and deploy to Node, Workers or most serverless hosts.
Or: React + Vite, Next.js
Free and open source
Stays free
UI components
shadcn/ui MIT
The components AI tools know best: Lovable, v0 and Bolt use them by default, and the code is copied into your project. Copy-into-your-project React components built on Tailwind CSS and headless primitives, with a CLI and registry.
Free and open source
Stays free
Database
Supabase Apache-2.0
Lovable Cloud and Bolt Cloud run on Supabase, so the AI creates your tables and login for you; you can also connect your own Supabase project. A full Postgres backend (database, auth, storage, realtime, edge functions) for an MVP, especially one built with an AI app builder.
Free
- 500 MB database per project (shared CPU, 500 MB RAM)
- 5 GB egress + 5 GB cached egress per month
- 50,000 auth MAU
Free projects pause after 1 week of inactivity, and Free has no backups or point-in-time recovery.
Pro, from $25/mo per org incl. $10/mo compute credits (one Micro instance)
Login
Supabase Auth MIT
Comes with your Supabase project, and its row-level security rules use the logged-in user directly. Apps already on Supabase Postgres that want auth wired to row-level security.
Or: Clerk, Better Auth
Free
- 50,000 MAU (plus 50,000 third-party MAU)
- Social OAuth providers and anonymous sign-ins included
- Basic MFA included; phone MFA not included
It lives inside a Free Supabase project, so it pauses with the project after a week of inactivity.
Supabase Pro, $25/mo per org (100,000 MAU, then $0.00325/MAU)
Hosting
Cloudflare Workers Service
Free static files with no bandwidth cap, and commercial use is allowed. Publish on your AI builder while you build (its own custom domains need a paid plan), then connect the GitHub repo here to serve it on your domain for free. Full-stack apps and APIs on a global edge, with free static assets.
Workers Free
- Commercial use: no non-commercial clause found
- 100,000 requests/day (Error 1027 beyond that; resets 00:00 UTC)
- 10 ms CPU per request, 128 MB memory
The daily request cap is hard and each request gets only 10 ms of CPU, so heavy server rendering needs the $5 plan.
Workers Paid, $5/mo (10M requests included)
Email sending
Resend Service
Supabase’s built-in email is only for testing, so send login and app emails through your own domain. Developer-friendly transactional email for new apps.
Or: Brevo, Mailgun, Amazon SES
Free
- 3,000 emails/month, max 100/day
- 3 verified domains
- Marketing email to up to 1,000 contacts
The 100-per-day cap bites first, and received (inbound) emails count toward the quota too.
Pro $20/mo: 50,000 emails, no daily cap
Search
Postgres full-text search PostgreSQL
Already in your database and free. Move to a search service only when you need typo tolerance at scale. Searching data that already lives in Postgres.
Or: Meilisearch, Algolia, Typesense
Built into Postgres (works on any free Postgres host)
- No per-search fees
- Supabase Free: 500 MB database
- Neon Free: 1 GB storage and 100 CU-hours per project/month
It matches stemmed words, not typos; fuzzy matching needs pg_trgm and ranking needs hand-tuning.
Free; you pay only for the Postgres host
Analytics
PostHog MIT
Startups wanting analytics, replays, flags and experiments in one tool.
Free
- 1M analytics events/month
- 5,000 web session recordings (2,500 mobile)
- 1M feature-flag requests, 1,500 survey responses
One project only; the self-hosted 'hobby’ install is officially unsupported and unlikely to scale past a few hundred thousand events.
Pay as you go: $0 base, e.g. $0.00005/event above 1M; 6 projects, 7-year retention
Error alerts
Sentry FSL-1.1-ALv2
Catching and debugging frontend and backend errors with stack traces.
Or: UptimeRobot, Better Stack
Developer
- 1 user
- 5,000 errors, 5M tracing spans, 50 session replays per month
- 5 GB logs, 1 cron monitor, 1 uptime monitor
Only one user, so adding a teammate means the paid Team plan.
Team $26/mo billed yearly ($29 monthly): unlimited users, 50k errors
Start from open source
Worth studying before you prompt, or self-host one instead of building from scratch.
Full-featured CRM (contacts, companies, deals, notes) to fork and customise.
Needs Supabase (hosted, or local via Docker).
Framework for building admin panels and B2B apps on top of any API.
Some advanced modules are in the paid Enterprise Edition.
React meta-framework for CRUD-heavy admin panels, dashboards and internal tools.
Low-code builder for internal tools with drag-and-drop widgets and database/API connectors.
Some features are reserved for paid Business/Enterprise editions.
UI kit and libraries
Copy-into-your-project React components built on Tailwind CSS and headless primitives, with a CLI and registry.
Utility-first CSS framework.
The official component/template collection, Tailwind Plus, is paid.
Open-source icon set with packages for React and other frameworks.
Self-host open-source fonts as npm packages.
Font files keep their original licenses (mostly SIL OFL).
Performant form state and validation for React.
TypeScript-first schema declaration and validation.
Headless table and data-grid logic for React and other frameworks.
v9 is the current major version.
Composable React charting library built on D3.
AI skills and MCP servers
Guides and connections that make your AI builder produce better code.
Plan the product and key user action first, build UI one component at a time, use real copy and style keywords, ask questions in Plan mode.
- Bolt: Prompt effectivelyService
Plan the app and first prompt, use Enhance prompt, and make small one-at-a-time changes.
Describe the product surface, context of use, and constraints and taste (2025-12-15); the Academy guide adds patterns and starter prompts.
- AGENTS.mdMIT
Open 'README for agents’ format stewarded by the Agentic AI Foundation (Linux Foundation); used by 60k+ open-source projects.
Add an AGENTS.md file at the repository root
The plan
- 1
Write down the plan
30 minutes- Name the people who use it and the one job it does for them.
- List the screens: Team login with roles; Tables with search, filters and sorting for each record type; Forms to add and edit records, with validation.
- Sketch them on paper or in Excalidraw. Rough is fine.
- Download this kit as AGENTS.md and keep it in your project: it’s the brief your AI tool reads first.
- 2
Set up the foundation
Day 1- Start a new Lovable project and paste the prompt below.
- Connect Supabase from Lovable’s integrations, then turn on email and Google login.
- Publish it and open it on your phone to check it works.
- Connect the project to GitHub so you own the code.
Prompt for Lovable
Build an internal tool or CRM: an internal tool or CRM (a CRM for a small agency) The main screens: Team login with roles; Tables with search, filters and sorting for each record type; Forms to add and edit records, with validation. Use Supabase for the database and login (email and Google). Turn on row-level security on every table so people only see their own data. Use shadcn/ui components, a clean light design, and make every screen work on a phone. Don’t add payments yet. Start with sample data so I can click through it.
- 3
Build the core
Days 2–7- Team login with roles
- Tables with search, filters and sorting for each record type
- Forms to add and edit records, with validation
- Import from your current spreadsheet (CSV)
- A dashboard with the numbers the team checks every day
Prompt for Lovable
Now build these, one at a time, and let me test each before the next: 1. Team login with roles 2. Tables with search, filters and sorting for each record type 3. Forms to add and edit records, with validation 4. Import from your current spreadsheet (CSV) 5. A dashboard with the numbers the team checks every day Add search with Postgres full-text search.
- 4
Get it ready to launch
Week 2–3- Add PostHog and track the one action that means it’s working (a booking, a sale, a sign-up).
- Add Sentry so errors reach you before users complain.
- Go through the launch checklist below.
- Add a privacy policy and terms, then connect your own domain.
- Show it to ten people who have the problem, and watch them use it.
Prompt for Lovable
Review the whole app for security and launch problems before I go live: - every table has row-level security (or server-side checks) and I can’t read another user’s data, - no secret keys in the browser bundle or the repo, - inputs are validated on the server, and sign-up, login and forms are rate-limited, - error pages and empty states exist for every screen, - it works on a phone and with the keyboard. List what you find, fix the serious ones, and tell me what’s left.
Before you launch
- Row-level security (or server checks) on every Supabase table, tested with two accounts.
- No secret keys in browser code or in git. Rotate any that leaked.
- Server-side validation for every form, plus rate limits on sign-up and login.
- Your sending domain verified (SPF, DKIM), so emails reach the inbox.
- Backups: know how to restore your data (free database plans often have none).
- Privacy policy, terms, and a way for people to contact you.
- Error alerts on, and an uptime check on the home page.
- Tested on a phone, with a keyboard only, and with a slow connection.
Risks to plan for
- A spreadsheet or Airtable may already do the job: check Buildict's Airtable verdict.
- Decide early who can see and change what.
- Keep a CSV export so the team is never stuck.
Building something close to airtable? There’s a step-by-step Build Blueprint with the full database schema.
Free tiers and prices were checked by hand on 2026-10-27. They change often, so each pick links to its own site. Compare every option
What an internal tool or CRM usually needs
- User accounts
- Teams and roles
- Admin panel
- Search and filters