Skip to content

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

LovableOur pick

Chat-to-app builder; apps created since 2026-05-13 use TanStack Start (older ones React + Vite) with Postgres via Lovable Cloud or Supabase.

Free: Free · 5 build credits/day, max 30/month · Then Pro, 100 credits/mo ($21/mo billed yearly)

Bolt.new

Browser builder for any JavaScript frontend with Node.js backends (Expo for mobile), plus Bolt Cloud hosting, databases and domains.

Free: Free · 1M tokens/month · Then Pro, billed monthly (yearly saves up to 28%)

v0 by Vercel

Generates Next.js apps with Tailwind and shadcn/ui and deploys them to Vercel.

Free: Free · 7 messages/day · Then Plus, per user ($30 credits/mo); $20 Premium closed to new users

Replit Agent

Agent builds and hosts full-stack web apps with managed PostgreSQL built into every app.

Free: Starter · Daily Agent credits up to a monthly cap (amount not published) · Then Core ($18/mo billed yearly)

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.

Or: Mantine, daisyUI, HeroUI

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.

Or: Firebase (Firestore, Spark plan)

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.

Or: Netlify, Vercel

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.

Or: Umami, Cloudflare Web Analytics, Plausible Analytics

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.

Atomic CRMMIT

Full-featured CRM (contacts, companies, deals, notes) to fork and customise.

React, shadcn-admin-kit, Supabase

Needs Supabase (hosted, or local via Docker).

React-adminMIT

Framework for building admin panels and B2B apps on top of any API.

React, Material UI; REST/GraphQL data providers

Some advanced modules are in the paid Enterprise Edition.

RefineMIT

React meta-framework for CRUD-heavy admin panels, dashboards and internal tools.

React; data providers for REST, GraphQL, Supabase and others

AppsmithApache-2.0

Low-code builder for internal tools with drag-and-drop widgets and database/API connectors.

Java (Spring), React, MongoDB, Redis

Some features are reserved for paid Business/Enterprise editions.

UI kit and libraries

shadcn/uiMIT

Copy-into-your-project React components built on Tailwind CSS and headless primitives, with a CLI and registry.

Free: Free and open source

Tailwind CSSMIT

Utility-first CSS framework.

The official component/template collection, Tailwind Plus, is paid.

Free: Free and open source

LucideISC

Open-source icon set with packages for React and other frameworks.

Free: Free and open source

FontsourceMIT

Self-host open-source fonts as npm packages.

Font files keep their original licenses (mostly SIL OFL).

Free: Free and open source

React Hook FormMIT

Performant form state and validation for React.

Free: Free and open source

ZodMIT

TypeScript-first schema declaration and validation.

Free: Free and open source

TanStack TableMIT

Headless table and data-grid logic for React and other frameworks.

v9 is the current major version.

Free: Free and open source

RechartsMIT

Composable React charting library built on D3.

Free: Free and open source

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.

  • 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.

  • 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. 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. 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. 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. 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