Solanasis Playbook: Temporary CRM Using Baserow vs Coda
Purpose
This guide packages the key parts of our discussion into a practical playbook that another AI can use to help design, maintain, automate, or migrate a lightweight CRM setup.
The main context is:
- We are using Baserow Free today as a temporary CRM.
- We are evaluating whether Coda would be a better fit.
- We want to understand how well Claude Code can work with each platform.
- We want Baserow to behave like a lightweight relational database, not just a spreadsheet.
- We want to understand how Baserow forms actually work and where they fit.
1) Executive summary
Recommended default
Use Baserow as the temporary CRM backend.
Why
Baserow is a better fit when you want:
- structured records,
- table relationships,
- filtered workflow views,
- API-driven automation,
- Claude Code CRUD operations,
- eventual migration to a more formal CRM or self-hosted stack.
When Coda makes more sense
Use Coda if the system is primarily:
- solo or lightly shared,
- doc-centric,
- note-heavy,
- more like a founder operating workspace than a real backend.
Best hybrid pattern
- Baserow = system of record for contacts, companies, interactions, pipeline, tasks
- Coda = SOPs, notes, meeting prep, dashboards, richer narrative workspace
2) Claude Code compatibility: Baserow vs Coda
Core answer
Claude Code can work with both Baserow and Coda in broadly similar ways at the API level.
That means another AI or Claude Code can:
- call either API over HTTP,
- use token-based authentication,
- read and write JSON payloads,
- generate scripts in Python/TypeScript/Bash,
- perform CRUD-like operations.
Important nuance
They are not identical in behavior.
Baserow feels more like a database
- Table-oriented
- Row-oriented
- Schema-friendly
- Cleaner mental model for CRM data
- Better fit for agent-driven automation
Coda feels more like a doc/app platform
- Docs with embedded tables
- More workspace-like behavior
- Better for human collaboration and narrative context
- Less ideal as a clean backend system of record
Practical guidance for another AI
If asked to build or automate a temporary CRM for Solanasis:
- prefer Baserow for structured records and automation,
- prefer Coda only if the user wants a doc-first workspace experience.
3) Coda free-plan limitations that matter
Key point
Coda’s API is available on free plans, but the practical limitations are less favorable for a CRM backend than Baserow.
Main limitations to keep in mind
- Shared docs on Free have meaningful size/object limits.
- Automations and sync-related features are limited.
- API writes can be less clean operationally because they may be asynchronous.
- It is better suited to lightweight workspace use than heavy structured CRM operations.
Practical conclusion
Coda Free may look generous for a solo founder workspace, but it becomes cramped faster when used as a shared CRM.
4) Why Baserow Free currently feels generous for API use
Key point
Baserow Free is constrained more by:
- row limits,
- storage limits,
- concurrency/fair use,
than by a small obvious per-month API cap.
Implication
If the user has been “getting away with tons of free API calls,” that is consistent with the current experience of Baserow Free.
Practical conclusion
For a scrappy founder-led temporary CRM, Baserow Free is a very workable starting point.
5) The trick to making Baserow act like a lightweight database
Core mindset shift
Do not treat Baserow as one big spreadsheet.
Treat it like this:
- Tables = entities
- Link fields = relationships
- Lookup / rollup / formula fields = derived data
- Views = workflows
- Forms = intake screens
- API = automation layer
Common mistake
The most common failure mode is trying to keep everything inside one giant contact table.
That makes Baserow behave like a spreadsheet.
The solution is to split the model into related tables.
6) Recommended minimum CRM schema in Baserow
This is the recommended lightweight schema for Solanasis.
Table A: People
One row per human contact.
Suggested fields:
- Full Name (primary field)
- Phone
- LinkedIn URL
- Role / Title
- Status
- Owner
- Primary Company (link to Companies)
- Priority or Warmth Score
- Last Contacted On
- Next Touch Date
- Source
- Notes (brief)
Table B: Companies
One row per organization.
Suggested fields:
- Company Name (primary field)
- Website
- Industry
- Size Band
- Location
- Account Status
- Contacts (reverse/linked relationship)
- Opportunities (reverse/linked relationship)
- Notes
Table C: Interactions
One row per touchpoint.
Suggested fields:
- Interaction Title (primary field)
- Person (link to People)
- Company (link to Companies)
- Date
- Type
- Summary
- Outcome
- Next Step
- Follow-up Due
Table D: Opportunities / Deals
One row per active commercial opportunity.
Suggested fields:
- Opportunity Name (primary field)
- Company (link to Companies)
- Primary Contact (link to People)
- Service Line
- Stage
- Estimated Value
- Probability
- Expected Close
- Blockers
- Next Action
Table E: Tasks
One row per follow-up task or reminder.
Suggested fields:
- Task (primary field)
- Related Person (link to People)
- Related Company (link to Companies)
- Related Opportunity (link to Opportunities)
- Due Date
- Status
- Priority
Why this works
This structure reduces duplication and makes the CRM behave like a real lightweight relational system.
7) Field-type strategy: how to avoid spreadsheet chaos
Use the correct field types on purpose
Use these aggressively:
- Primary field
- Link-to-table
- Lookup
- Formula
- Autonumber
- Single select
- Multiple select
- URL
- Phone
Examples
- In People,
Primary Companyshould be a link to Companies. - In Interactions, link to both People and Companies.
- In Opportunities, link to
CompanyandPrimary Contact. - Use Lookup fields to display related info without copying it.
Practical rule
If a value belongs to another entity, do not copy/paste it into multiple tables. Link to it instead.
8) Primary field vs row ID vs autonumber
These are different and should not be confused.
Primary field
- Human-readable label for the record
- Appears when linked elsewhere
- Should be clear and meaningful
Row ID
- Internal stable system identifier
- Useful for API/integration logic
- Not the same as the visible record name
Autonumber
- Human-friendly sequential ID
- Useful for internal references
- Optional, but nice to have
Best practice
For CRM use:
- make the primary field human-readable,
- rely on row ID for system/API stability,
- add autonumber if you want readable internal numbering.
9) Constraints and data protection
Key mindset
A database protects itself. A spreadsheet usually does not.
Practical use
Use constraints and controlled field types wherever possible.
Most important early constraints
Apply uniqueness or strong standardization to:
- LinkedIn URL
- Website
- External IDs
Why
Duplicate contacts and duplicate organizations become a mess fast.
10) Views are workflows, not just filtered tables
Key idea
Do not create duplicate tables for every workflow.
Create views instead.
Examples of useful CRM views
People views
- Hot Leads
- Needs Follow-Up This Week
- Introducers
- Dormant Contacts
- Decision Makers
Company views
- Targets
- Active Clients
- Partners
- Not Now
Opportunity views
- Pipeline
- Waiting on Them
- Proposal Sent
- Closed Won
- Closed Lost
Task views
- Today
- This Week
- Overdue
- Waiting
Daily operating principle
Work from views, not from raw tables.
11) How Baserow forms actually work
Core answer
A Baserow form is a table-backed intake screen.
When submitted, it creates a new row in the target table.
Important limitation
Forms are primarily for creating records, not for editing existing ones.
Best way to think about forms
Forms are one input channel into the database. They are not the database itself.
12) What forms are good for in a personal CRM
Good use cases
- Quick lead capture
- Interaction logging
- Referral intake
- Intro request capture
- Post-call debrief entry
- Structured data entry from a contractor or assistant
Not good for
- Ongoing record management
- Visual deduping
- Bulk cleanup
- Editing existing records repeatedly
- Full CRM workflow management
13) Recommended forms for Solanasis CRM
Form 1: Quick Lead Capture
Target table: People
Suggested visible fields:
- Full Name
- LinkedIn URL
- Primary Company
- Source
- Notes
Suggested hidden or prefilled values:
- Status = New
- Source metadata
- campaign/channel data
Form 2: Interaction Log
Target table: Interactions
Suggested fields:
- Person
- Company
- Date
- Type
- Summary
- Outcome
- Follow-up Due
Form 3: Referral / Intro Intake
Target table: People or Interactions
Suggested fields:
- Referred Person
- Referrer
- Company
- Why they may need help
- Warm intro or cold referral
- Notes
Form 4: Post-Call Debrief
Target table: Interactions or Opportunities
Suggested fields:
- Person
- Company
- Call Summary
- Outcome
- Next Step
- Follow-up Due
- Stage (if opportunity exists)
- Estimated Value (optional)
14) Best operating workflow for the user
Daily
- Work from filtered views
- Log each meaningful touch in Interactions
- Update
Next Touch Date - Create Tasks for time-bound follow-up
- Keep short notes in master records
- Keep chronology in Interactions
Weekly
- Review follow-ups due
- Review dormant but valuable contacts
- Review pipeline by stage
- Clean duplicates
- Promote serious leads into Opportunities
Monthly
- Standardize field values
- Archive dead records
- Check for duplicates or schema issues
- Export a backup if operational importance is rising
15) Claude Code / API guidance for another AI
Recommended use of Claude Code with Baserow
Claude Code can be used to:
- import CSVs,
- create/update contacts,
- enrich records,
- dedupe records,
- log interactions,
- generate follow-up lists,
- sync data programmatically.
Important rule
Do not automate heavily until the schema is clean.
A sloppy model gets automated into a bigger mess.
Safe sequencing
- Stabilize schema
- Standardize fields
- Create views
- Add forms
- Then automate with API + Claude Code
16) What another AI should recommend by default
If asked what Solanasis should do right now, the default recommendation should be:
Recommendation
- Stay on Baserow Free for the temporary CRM.
- Use the 5-table CRM schema.
- Add constraints/standardization to key fields.
- Build filtered views for daily operations.
- Create only 2 forms to start:
- Quick Lead Capture
- Interaction Log
- Use Claude Code against the API only after the structure is stable.
17) Mistakes to avoid
Mistake 1: one mega-table
This destroys the relational advantage.
Mistake 2: copying company info onto every contact row
Use links and lookups instead.
Mistake 3: keeping all history in one giant notes field
Use a dedicated Interactions table.
Mistake 4: treating forms like edit screens
Forms should mainly be treated as record-creation intake screens.
Mistake 5: overbuilding too early
Do not build a full enterprise CRM architecture on day one.
Mistake 6: heavy automation before schema stability
Fix structure first, automate second.
18) Blunt strategic recommendation
For this temporary CRM, the right move is:
- use Baserow as the lightweight backend,
- keep the schema clean,
- use views as workflow lenses,
- use forms as intake screens,
- let Claude Code operate on that clean structure,
- and delay any migration until the actual usage patterns are proven.
That gives Solanasis a scrappy but sane system without turning the setup into spreadsheet chaos or premature enterprise software.
19) Suggested prompt for another AI
Use the following prompt as a starter:
You are helping maintain and improve a lightweight CRM for Solanasis.
Current system:
- Platform: Baserow Free
- Purpose: temporary personal CRM
- Goal: behave like a lightweight relational database, not a spreadsheet
Your priorities:
1. Preserve a clean relational schema
2. Avoid duplication across tables
3. Prefer views over duplicate tables
4. Use forms only as intake/create-record tools
5. Keep automation secondary to schema quality
6. Make recommendations that stay scrappy, practical, and migration-friendly
Core tables:
- People
- Companies
- Interactions
- Opportunities
- Tasks
Default recommendation:
- Keep Baserow as system of record for now
- Use Coda only for notes/docs if needed
- Add automation only after schema is stable
When proposing changes:
- prefer simplicity,
- prefer fields/links/views over hacks,
- avoid overengineering,
- explain tradeoffs clearly.20) Optional next artifact to create
A future AI could next produce:
- a precise Baserow table blueprint,
- field-by-field configuration,
- select-option lists,
- recommended views,
- recommended forms,
- naming conventions,
- and starter API scripts for Claude Code.