Justin McKelvey

Justin McKelvey

Fractional CTO · 15 years, 50+ products shipped

Vibe Code Rescue 9 min read

Base44 Tutorial (2026): Build and Ship a Working Internal Tool in an Afternoon, Step by Step

Base44 tutorial: the short answer

As of September 2026, you can build a working internal tool in Base44 in about ten prompts and roughly 15 credits, inside the free plan's 25 message credits a month, and ship it to a team for $16 a month on Starter. This tutorial builds a job tracker with a form, a table, a status filter, login, permissions, and your real data imported, then tells you where builds break and when to stop. Every plan, price, and credit figure comes from base44.com/pricing and docs.base44.com, read on September 15, 2026.

I maintain 8+ Base44 apps that other people built, so I've seen what the platform does when nobody is guiding it. Most of the mess comes from four repeatable mistakes, all avoidable if you build in the order below.

What you'll build

A job tracker for a small service business: plumbing, landscaping, a two-truck HVAC shop, whatever you run. It has:

  • A Jobs table with customer name, address, phone, job type, scheduled date, amount, status, and notes.
  • A form to add a job, and a click-to-edit view for each one.
  • A table of all jobs, newest first, with a status filter: Quoted, Scheduled, In progress, Done, Invoiced.
  • Login, an admin role for the owner, and technicians who only see jobs assigned to them.
  • Your existing jobs imported from a spreadsheet.

Small on purpose. The Base44 prompt guide's best advice is "build one piece at a time," and a tracker like this is the size where the platform shines. For what Base44 is and who it's for, read what is Base44 first.

Prerequisites and the plan you need

Plan Price (annual / monthly) Message credits per month What it adds
Free $0 25 (plus 100 integration credits) Up to 5 apps; database, authentication, analytics; Public and Workspace visibility
Starter $16 / $19.20 100 (plus 2,000 integration) Private apps, custom domain, badge removed, in-app code edits, unlimited apps
Builder $40 / $48 250 (plus 10,000 integration) Backend functions, GitHub integration, model selection
Pro $80 / $96 500 (plus 20,000 integration) Early access to beta features
Elite $160 / $192 1,200 (plus 50,000 integration) SSO, premium support

You need: a free Base44 account, a spreadsheet of your current jobs saved as CSV, and an afternoon. The free plan covers the whole build. You'll want Starter when you ship, because Base44 says "Private apps are available on paid plans only," and an internal tool with customer phone numbers in it should be Private or Workspace, not Public. The full cost story, including the credits that don't show up on the pricing page, is on Base44 pricing and is Base44 free.

Credit budget, from Base44's own ranges: the first build is a fixed "about 1 credit." After that, a simple visual change is about 0.5, a small feature about 1, a complex module about 2, an app-wide change 3 to 4. Discuss mode is 0.3 a message. Manual edits in Edit mode are free. Ten well-scoped prompts land around 12 to 15 credits.

The build, step by step

Type each prompt into the AI chat in Build mode (the default). Clicking around the live preview is free.

Step 1: The first prompt (about 1 credit)

Type: "Build an internal job tracker for a small plumbing company. One table called Jobs with these fields: customer_name (text), address (text), phone (text), job_type (text), scheduled_date (date), amount (number), status (one of: Quoted, Scheduled, In progress, Done, Invoiced), assigned_to (text, an email address), notes (text). One page called Jobs that shows all jobs in a table, newest scheduled_date first, with an Add Job button that opens a form with those fields. Calm, professional design, plenty of white space."

What Base44 generates: the Jobs entity with those fields, a Jobs page with the table and the add form, navigation, and hosting on a free base44.app URL. The docs say it handles "design, databases, signups, user permissions, and hosting" from the first prompt; in practice the first build is a rough draft you shape from here.

Step 2: Check the data model before anything else

Open Dashboard, then Data. Every table appears as a card. Open Jobs and check the field types: scheduled_date should be Date/Time, amount should be Number, status a choice, not free text. Fix it now with one prompt, because everything after this builds on the schema.

Type (if needed): "Change the status field on Jobs to a select with exactly these options: Quoted, Scheduled, In progress, Done, Invoiced. Default new jobs to Quoted."

Step 3: The status filter (about 1 credit)

Type: "On the Jobs page, add a row of filter chips above the table, one per status plus All, so it works like Trello's board filters. Show a count on each chip. Default to All. Add a search box that matches customer_name and address."

What Base44 generates: the chips, counts, and search wired to the table. Borrowing from an app people know ("like Trello") is a shortcut the prompt guide recommends, as long as you say which part you mean.

Step 4: Click-to-edit and status changes (about 1 credit)

Type: "Clicking a job row opens a side panel with all its fields editable and a Save button. Add a status dropdown in the panel and in the table row so status can be changed in one click. Add a delete button in the panel with a confirmation."

Step 5: Login and roles (about 1 credit)

Every new Base44 app already has login, register, forgot-password, and reset-password pages. This step decides who's who.

Type: "Require login for the whole app. There are two roles: Admin (the owner) and User (technicians). Admins see all jobs. Users only see jobs where assigned_to matches their email. Only admins can delete jobs or change amount."

What Base44 generates: the visibility and permission rules, using what its docs call Entity-User Field Comparison (assigned_to matched against the user's email) and User Property Check (role equals Admin). Then go to Dashboard, Settings, Authentication and enable the sign-in providers you want, such as email or Google, and click Add to pages so the button lands on the login page.

Step 6: Verify the permissions by hand (0 credits)

Open Dashboard, Data, the Jobs table, Permissions. Read the rules for Create, Read, Update, Delete. If you see a Permission risks detected banner, click Fix and read what it changed. Then use More Actions, Act as a user in the top bar to view the app as a technician and confirm they only see their own jobs. This is the step everyone skips and the one I get called about later.

Step 7: Import your real jobs (about 1 to 2 credits)

Click the Upload files icon in the chat and attach your CSV.

Type: "Import this CSV into the Jobs entity. Map the columns to the existing fields, convert dates to scheduled_date, and set status from the Status column. Show me the mapping and wait for my approval before importing."

What Base44 generates: a column mapping, then the rows. Two facts from the data docs to remember: imports "add new rows to your tables. They do not update or overwrite existing records," so a second run creates duplicates, and deleted records stay recoverable for 30 days. Export the table first if you're nervous.

Step 8: A dashboard card row (about 1 credit)

Type: "Add three cards above the filter chips: jobs scheduled this week, jobs in progress, and total amount of jobs with status Done but not Invoiced. Make the third card red if it's over $5,000."

Painting the screen gets you the layout in one round. "Make a dashboard" gets you three.

Step 9: Test like a user, then tidy in Edit mode (0 credits)

Switch to mobile view from the device menu in the top bar; a technician will use this from a truck. Then switch to Edit mode (Cmd + . on a Mac) and fix spacing, labels, and button text by clicking on them. Manual edits don't use credits and you get 50 steps of undo. If something's broken, use the Revert icon under the prompt that broke it rather than spending credits on a fix prompt.

Step 10: Publish and invite (0 credits, then $16 a month)

Click Publish in the top bar. Your app is live on its base44.app URL; rename it under Dashboard, Domains, Edit URL. Set App Visibility under Overview to Private (paid plans) or Workspace, then Send Invites with the Admin or User role for each person. To put it on jobs.yourcompany.com, connect the domain from the Domains page; Base44 says to allow up to 72 hours for DNS at an outside provider, and it handles SSL.

The four places Base44 builds go wrong, and the fix

What goes wrong Why The fix
Everyone can see everything A prompt said "add jobs" and the Read rule defaulted to All Users Step 6. Read the Permissions page for every table before you invite anyone; apply the Fix banner; test with Act as a user
One giant prompt, half-built app Twelve features in a paragraph; the model guessed on eight One feature per prompt. Revert the big one rather than patching it. Plan mode (a fraction of a credit per message) if you can't decide the order
Duplicate rows after import Imports append; they never update or overwrite Delete All on the table, then re-import once. Export first. Records are recoverable for 30 days
Credits gone by Tuesday Trial-and-error in Build mode at 1 to 4 credits a swing, plus an email on every status change at about 1 integration credit each Ask in Discuss mode (0.3 credits) before building; tidy in Edit mode (free); check Credits Used under each message; keep automated emails off until the tool is stable

Adding auth, a database, and a deploy: what's already there

If you came here from another tool, the surprising part of Base44 is how much of this list is pre-installed:

  • Auth: login, register, forgot-password, and reset-password pages ship with every app. Providers are toggles under Settings, Authentication. SSO (Google, Microsoft, Okta) is Elite only, at $160 a month annual.
  • Database: the entities you saw in Step 2, with Reference fields to link tables (a Customers table linked to Jobs is the natural next build). Import is CSV, Excel, or JSON through the chat, or CSV from the dashboard. Since November 27, 2025, data requests are limited to 5,000 items per request, which is the first hard ceiling a growing tool hits.
  • Deploy: Publish is a button. The base44.app URL is free on every plan; a custom domain is Starter and up; backend functions (server-side code for anything the chat can't express) are Builder and up at $40 a month annual.

What isn't there, on any plan, is the code on your own machine as the source of truth. That's the trade you're making for the afternoon.

When to stop and rebuild properly

The job tracker above will run happily for years. The apps that end up on my desk didn't stay that size. The signals that it's time to move off Base44, in the order I usually see them:

  1. The data model changes weekly. Five or six related tables with rules that keep shifting means every prompt risks breaking the last one.
  2. You're writing backend functions to work around the builder. Once the important logic lives in code the chat can't see, you have a codebase without the tooling of one.
  3. Customers, not staff, are logging in. An internal tool can tolerate a bad afternoon. A customer-facing product can't, and permissions mistakes stop being embarrassing and start being liabilities.
  4. You hit the 5,000-items-per-request limit or the integration credits are the biggest line on the bill.

My verdict on where Base44 is the right tool, and the three things it consistently breaks on, is in the Base44 review. What a rebuild actually looks like, and what the ones that went well had in common, is on vibe coding examples. The short version: build the tracker this afternoon, run it for a quarter, and if it's become the business by then, that's the best problem an AI-built app can have.

Next step Get the free repo audit →

Free Resource Justin McKelvey

What your AI stack actually costs

Prices changed 3x this year. The always-current cost sheet: sticker price vs what heavy use actually costs for Cursor, Claude, Replit, Lovable, Bolt & more.

Frequently Asked Questions

How do you build an app in Base44?
Describe the app in one prompt, let Base44 generate the pages and database, then refine it one feature per prompt. Base44's own docs say the first build costs about 1 credit no matter how detailed the prompt, previewing is free, and later changes cost roughly 0.5 to 4 credits each depending on scope. A small internal tool like the job tracker in this tutorial takes about 10 prompts and 15 credits, which fits inside the free plan's 25 message credits a month.
Is Base44 free to use for a tutorial like this?
Yes. As of September 2026, the free plan includes 25 message credits and 100 integration credits a month, up to 5 apps, and the built-in database and authentication. What it doesn't include is Private app visibility, a custom domain, or the removal of the Base44 badge; those start on Starter at $16 a month billed annually. So you can build and test the whole tool free, and you'll likely pay $16 a month to ship it to a team.
Does Base44 include a database and user login?
Both are built in on every plan. Data lives in tables Base44 calls entities, with field types including Text, Number, Yes/No, Date/Time, File, Reference, and Object, and you can import CSV, Excel, or JSON. Every new app comes with login, register, forgot-password, and reset-password pages, and you enable sign-in providers under Dashboard, Settings, Authentication. SSO is limited to the Elite plan ($160 a month annual).
How many credits does a Base44 app take to build?
Base44 publishes ranges, not fixed numbers: about 0.5 credits for a simple visual or text change, about 1 for a small feature, about 2 for a complex module with entities and logic, and 3 to 4 for an app-wide change. Its docs say actual usage is calculated after each message and can differ. Discuss mode costs 0.3 credits a message and manual edits in Edit mode cost nothing, which is how you keep a build under 20 credits.
Can I use my own domain with Base44?
Yes, on the Starter plan and above ($16 a month billed annually as of September 2026). Every app gets a free built-in URL on base44.app the moment you create it, and you can rename that URL on any plan. Connecting a domain you already own is done from Dashboard, Domains, and Base44 says to allow up to 72 hours for DNS changes at an external provider. SSL is issued and renewed automatically.
When should you stop using Base44 and rebuild?
When the tool outgrows the platform's shape: more than a handful of tables with relationships that keep changing, workflows that need code you can't see, integrations Base44 doesn't offer, or data volumes that hit its 5,000-items-per-request limit. In the 8+ Base44 apps I maintain, the ones that stayed happy are small, single-purpose internal tools. The ones that became the business were rebuilt, and that was the right call every time.

More on Vibe Code Rescue

Is Emergent Free? (2026) What the $0 Plan's 10 Credits Actually Buy, Where the $20 Tier Starts, and the Cost That Is Not on the Pricing Page

Emergent has a free plan, and it is exactly as free as ten credits a month. Read from emergent.sh/pricing on September 15, 2026: Free is $0 with 10 monthly credits, Standard is $20 a month ($17 annual) for 100 credits and private hosting, Pro is $200 ($167 annual) for 750 credits, Enterprise is custom. Here is what ten credits buys on an agent that plans, codes, and deploys a whole app, the moment you have to pay, how it lines up against Lovable's and Base44's free tiers, and the cost every free plan leaves off the page.

5 min

Antigravity vs Claude Code (2026): Google's $0 Agent IDE That Runs Claude vs the Terminal Agent Metered on Your Claude Plan

Antigravity vs Claude Code, as of September 2026: Google's Antigravity is generally available at $0 for individuals with unlimited Tab and Command and weekly rate limits on its agents, and its model menu includes Claude Sonnet and Opus 4.6. Claude Code is Anthropic's terminal agent, included on Pro from $17 a month, Max from $100, and Team seats, running the current Sonnet 5 and Opus 5 against a five-hour usage pool. Free last-generation Claude in an IDE vs current Claude in a terminal: the decision, the limits, and the math.

6 min

Codex Usage Limits Explained: The 5-Hour Window, the Weekly Cap, and What Actually Resets (2026)

Codex doesn't have a message count. It has a rolling five-hour allowance that varies by model, a weekly cap that may sit on top of it, and a set of behaviors that quietly burn it faster. Here's what OpenAI's own pricing page says the limits are on Plus, Pro 5x, Pro 20x, and Business as of September 2026, what happens when you hit one mid-task, and the three moves that stretch the allowance before you pay $100 more a month.

7 min

Emergent vs Lovable (2026): Agent-Built Apps vs Prompt-Built Apps, and Which One You Can Actually Ship

Emergent vs Lovable is a bet on two different workflows. Lovable is the prompt-to-React builder with a $25/month Pro tier and the biggest ecosystem in the category. Emergent runs autonomous agents that plan, build, and test full-stack apps on a credit meter ($20 Standard, $200 Pro). Real 2026 prices, the credit math, the ownership question, and who should pick which.

6 min
Justin McKelvey, Fractional CTO and AI consultant in Austin, TX

Written by

Justin McKelvey

Fractional CTO & AI consultant in Austin, TX. 15 years building software, 50+ products shipped, $53M+ in client revenue generated. I help $1M–$50M founders ship production software and automate operations with AI — without hiring a full-time executive team.

Work with me

If this was useful, here are two ways I can help: