Indie hackers need tools that move fast and scale cheap. Airtable blends a spreadsheet’s simplicity with a database’s power, making it ideal for MVPs, product roadmaps, and user feedback loops. This guide walks you through a quick setup, core workflows, advanced patterns, and the mistakes most founders repeat.
Airtable stores data in bases. Each base contains tables (like sheets), fields (columns) and records** (rows). The key difference is that fields can be typed: single line text, number, checkbox, date, attachment, or a linked record that creates a relationship between tables. Views let you filter, sort, and group data without changing the underlying table.
For indie hackers, this means you can track users, product ideas, and revenue in a single place while still exporting CSVs for analytics. Airtable also offers native forms, API access, and automation that replace many separate SaaS tools.
Go to airtable.com and sign up with Google or email. The free tier gives you 1,200 records per base and 2 GB of attachment storage.
Start with “Product roadmap” or “User feedback”. Templates pre‑define tables, field types, and useful views. Click “Use template” and rename the base to My Startup.
Open the “Ideas” table. Change the “Priority” field from “Single line text” to “Single select” with options Low, Medium, High. This prevents typo errors and makes grouping easier.
Every table needs a unique identifier. Add a field called “ID” of type “Auto number”. Use this field in API calls to avoid ambiguous lookups.
Click “Share” → “Invite by email”. Assign “Editor” rights to co‑founders and “Read only” to advisors. Permissions are per‑base, not per‑table, so plan who can edit what.
Name (single line), Email, Feature request (long text), Status (single select: New, Reviewed, Planned, Done).Status = New to see fresh submissions.Quarter (single select), Owner (collaborator), Target date (date).Quarter to visualize upcoming work.Company, Contact, Stage (single select: Prospect, Contacted, Negotiating, Closed), Value (currency).Month (date, month granularity), ARR (currency), Churn (percentage).Open “Automations” → “Create new”. Trigger: “When record matches conditions” → Table “Feedback”, Condition Status = Planned. Action: “Send email”. Fill in subject “Your idea is now on the roadmap” and use {Feature request} as a placeholder.
Use the native “Stripe integration” (available on the Plus plan). It pulls new customers into a “Customers” table, updates the “Revenue” table, and triggers a “Slack notification” when MRR passes a threshold.
When a record in “Roadmap” moves to Status = Done, fire a webhook to your CI/CD pipeline (e.g., Vercel). In the automation, choose “Run a script” and paste:
let table = base.getTable('Roadmap');
let record = await input.recordAsync('Pick a record', table);
await fetch('https://api.vercel.com/v1/integrations/deploy/prj_123', {
method:'POST',
headers:{'Authorization':'Bearer YOUR_VERCEL_TOKEN'}
});
Replace the token with a secret stored in a separate “Secrets” table (field type “Password”).
Open “Scripting” block. Example: mark all “Leads” older than 30 days as “Stale”.
let table = base.getTable('Leads');
let query = await table.selectRecordsAsync();
let updates = [];
let now = new Date();
for (let rec of query.records){
let lastContact = rec.getCellValue('Last contact');
if (lastContact && (now - new Date(lastContact)) > 30*24*60*60*1000){
updates.push({id:rec.id, fields:{Stage:'Stale'}});
}
}
await table.updateRecordsAsync(updates);
| Feature | Airtable | Google Sheets | Notion |
|---|---|---|---|
| Record limit (free) | 1,200 rows per base | 5 million cells | 1,000 blocks |
| Relational links | Native linked records | Formulas only | Relation property (beta) |
| Automation runs | 100 runs/month | None (requires Apps Script) | 300 actions/month (Pro) |
| Attachment storage | 2 GB | 15 GB total Drive | 5 GB (Free) |
| API access | REST, GraphQL | Sheets API (quota) | Public API (beta) |
| Pricing for 5,000 records | $12/user/month (Plus) | Free (Google Workspace $6/user) | $8/user/month (Pro) |
Changing a field from “Number” to “Single line text” after data entry corrupts formulas. Fix: Add a new correctly typed field, copy values with VALUE(), then delete the old field.
All collaborators see every view. If you need a private “Finance” view, create a separate base and link via sync. This isolates sensitive data.
Free plans cap at 100 runs/month. Batch multiple actions into a single script or use Zapier’s free tier for overflow.
Large tables (>5k rows) become slow when linking. Add a “Lookup” field that pulls only the needed column, and hide the full linked table in default views.
Airtable’s export is manual. Schedule a weekly CSV export using a script that calls the API and saves to a cloud bucket.
You can start with the free plan. It offers 1,200 records per base and 2 GB attachment space, enough for early prototypes. Upgrade only when you need more records or automation runs.
Airtable lets you link records between tables, create view filters, and attach files directly. Google Sheets can simulate relations with formulas, but it becomes error‑prone at scale.
Yes. Airtable’s native automation can trigger emails, Slack messages, or webhook calls when a record meets a condition. The free plan allows up to 100 runs per month.
Open a new base, click “Add or import,” choose CSV, and map columns to field types. Clean the data first; Airtable will flag mismatched types during import.
Formulas fail when a referenced field type changes (e.g., a number becomes a single line text). Keep field types stable, or wrap references in VALUE() to force conversion.
Use this guide to get Airtable up and running fast. The tool can handle everything from idea capture to revenue dashboards. Keep your bases tidy, automate repetitive steps, and you’ll spend more time building and less time managing spreadsheets.