[{"data":1,"prerenderedAt":93},["ShallowReactive",2],{"$f2j507hmpk12gd":3},{"site":4,"app":16,"alternatives":65,"compose":88,"log":89,"changelog":90},{"hourly_rate_usd":5,"break_even_window_mo":6,"reference_env":7,"attribution":8},20,18,"Fresh Debian 12, Docker + Compose preinstalled, 2 GB RAM \u002F 2 vCPU ($5-class VPS)",{"caniselfhostit":9},{"name":10,"url":11,"repo":12,"license":13,"author":14,"note":15},"caniselfhostit.com","https:\u002F\u002Fcaniselfhostit.com","https:\u002F\u002Fgithub.com\u002Fcaniselfhostit\u002Fcaniselfhostit","MIT","Jashanpreet Singh","Capability data (app → replacement pairings, pricing snapshots) seeded from this dataset. They answer 'can you run it, and how' — go there for guided installs.",{"id":17,"name":18,"domain":19,"category":20,"price_usd_mo":5,"price_plan":21,"price_unit":22,"price_source":23,"price_checked":24,"links":25,"jobs":27,"verdict":32,"alternatives":33,"provenance":35,"verdict_reason":38,"what_you_lose":39,"economics":42,"hardware_tier":45,"verified":46,"compose":54,"derived":57},"airtable","Airtable","airtable.com","work-pm","Team","per-seat","https:\u002F\u002Fairtable.com\u002Fpricing","2026-08-06",{"caniselfhostit":26},"https:\u002F\u002Fcaniselfhostit.com\u002Fairtable",[28,29,30,31],"relational tables & views","formula columns & linked records","forms into tables","API & automations","YES",[34],"grist",{"capability_seed":36,"decision_layer":37},"caniselfhostit","original","Grist is the closest thing to a self-hosted Airtable that actually exists: formula columns, linked records, views, API — sqlite-backed, one container. Per-seat pricing dies the day you move.",[40,41],"Airtable's automations marketplace and native integrations","Interface designer and the mobile apps",{"vps_share_usd_mo":43,"storage_usd_mo":44,"maint_min_mo":5},0.5,0,"vps",{"by":47,"at":48,"protocol":49,"setup_min":50,"assistant":51,"evidence":52,"what_broke":55},"zernonia","2026-08-10","v1",26,"claude-code",[53,54],"logs\u002Fairtable.md","compose\u002Fairtable-grist.yml",[56],"Boot to healthy measured at 33s on the 2GB reference env",{"hourly_rate_usd":5,"self_host_cost_usd_mo":58,"net_saving_usd_mo":59,"setup_cost_usd":60,"break_even_months":61,"break_even_date":62,"markup_index":63,"primary_abandoned":64,"verdict_stale":64},7.17,12.83,8.67,0.68,"2026-08-31",2.79,false,[66],{"id":34,"name":67,"tagline":68,"repo":69,"site":70,"license":71,"category":20,"resources":72,"provenance":77,"metrics":78},"Grist","A spreadsheet with a real database underneath: Python formulas, linked records and row-level access rules, in one container.","gristlabs\u002Fgrist-core","https:\u002F\u002Fwww.getgrist.com","Apache-2.0",{"ram_min_mb":73,"disk_gb":74,"arm64":75,"containers":76,"external_db":64},1024,5,true,1,{"capability_seed":36,"decision_layer":37},{"id":34,"stars":79,"last_commit":80,"latest_release":81,"docker_pulls":85,"open_issues":86,"fetched_at":87},11438,"2026-08-10T21:16:31Z",{"tag":82,"published_at":83,"url":84},"v1.7.17","2026-07-29T20:25:32Z","https:\u002F\u002Fgithub.com\u002Fgristlabs\u002Fgrist-core\u002Freleases\u002Ftag\u002Fv1.7.17",null,705,"2026-08-11T03:55:22.516Z","# Grist — the Airtable-shaped spreadsheet-database, sqlite-backed single container\nservices:\n  grist:\n    image: gristlabs\u002Fgrist:latest\n    container_name: grist\n    restart: unless-stopped\n    environment:\n      GRIST_SESSION_SECRET: change-me\n      APP_HOME_URL: http:\u002F\u002Flocalhost:8484\n    ports:\n      - \"8484:8484\"\n    volumes:\n      - grist-data:\u002Fpersist\n    healthcheck:\n      test: [\"CMD-SHELL\", \"python3 -c \\\"import urllib.request;urllib.request.urlopen('http:\u002F\u002Flocalhost:8484\u002Fstatus')\\\" || exit 1\"]\n      interval: 5s\n      timeout: 10s\n      retries: 30\n      start_period: 20s\nvolumes:\n  grist-data:\n","# Airtable — verdict log\n\n- **Date:** 2026-08-10\n- **Verdict:** YES — worth it\n- **Protocol:** v1 (2GB reference env, Docker preinstalled, AI assistant: claude-code)\n\n## Setup evidence\n\n- Compose: `compose\u002Fairtable-grist.yml`\n- Boot to healthy: **33s** measured this session\n- Setup time recorded: 26 min (boot + configuration to first working workflow)\n\n## What broke \u002F notes\n\n- Boot to healthy measured at 33s on the 2GB reference env\n\n## The call\n\nGrist is the closest thing to a self-hosted Airtable that actually exists: formula columns, linked records, views, API — sqlite-backed, one container. Per-seat pricing dies the day you move.\n",[91],{"date":48,"app":17,"from":85,"to":32,"reason":92},"Initial verdict: Grist is the closest thing to a self-hosted Airtable that actually exists: formula columns, linked records, vi.",1786459421637]