a queryable knowledge graph for real-world data

Your APIs, your notes, your scraped competitor pages — all in one local database, queryable and kept fresh by Claude.

Describe what you want to track. Claude writes the scripts and helps you visualize your data.

curl -fsSL https://rack.dev/install.sh | sh

Local-first, no cloud ◝(ᵔᵕᵔ)◜

Everything runs on your machine. DuckDB is the database. No accounts, no SaaS, no telemetry, no network calls except what your scripts explicitly make.

Your data stays yours. Query it offline. Back it up with git. Delete it when you're done.

How it works (•̀ᴗ•́)و

Your data lives in many places. Rack pulls it into one local database, then generates dashboards you can see in Obsidian. Claude Code handles everything — you just describe what you want.

Your data
GitHub · Stripe · Sheets · APIs
Rack
local DuckDB
Obsidian
dashboards you own

Run rack refresh to update, or just ask Claude.

Just ask ( ˶ˆᗜˆ˵ )

Describe what you're curious about. Claude builds the pipeline, keeps it fresh, and answers your questions with beautiful reports.

"Track every satellite launch this year and build a cohort breakdown of the differente sat and mission types"
"Build me a calendar of every comet visible this year — when do I need to look up?"
"Monitor all the restaurants that opened in my neighborhood — predict which ones survive"
"Track Magnus's recent games — which openings is he experimenting with now?"
"Track fog delays at my airport — is there a pattern I can plan around?"
"Monitor ocean buoy temps off my coast — is my surf spot getting warmer?"

You ask questions about your world. Rack turns them into queryable answers.

Plain text for transparency ૮₍ ˶ᵔ ᵕ ᵔ˶ ₎ა

A rack is just a directory with a convention:

my-metrics/ ├── .claude/CLAUDE.md # Claude reads this ├── playbook.md # What this rack tracks ├── data/ │ ├── inbox/ # Drop files here │ ├── sources/ # JSON from APIs │ └── my-metrics.duckdb # DuckDB database ├── scripts/ │ ├── fetch/ # Pull data │ ├── ingest/ # JSON → DuckDB │ └── derive/ # SQL → Markdown └── dashboards/ # Markdown output

No magic. Read any file to understand what's happening. Edit any script to change behavior.

Usecases / Examples ( ˶°ㅁ°)!!

SOURCES
GitHub 284 PRs
Stripe $47,291
Posthog 12k events
Linear 89 tasks
DUCKDB
pull_requests 2,847 payments 1,204 events 89,341 tickets 634 users 312 sessions 24,891
OUTPUT
Weekly KPIs Week of Jan 20, 2025
This week: $47,291 revenue from 89 paying users.
Engineering shipped 38 PRs and closed 12 bugs.
This wk 8-week trend Δ
Revenue $47,291 ▂▃▃▄▅▅▆█ +23%
Paying users 89 ▄▄▅▅▅▆▆▇ +8%
PRs shipped 38 ▅▆▄▇▅▆▅▅ --
Bugs open 7 █▇▆▅▄▃▃▂ -40%
* Revenue spike Tue -- 3 annual plans ($8,400)
Cohort Retention Users who signed up in Jan
Week 1 retention hit 68%, up from 61% last month.
Week 4 holding at 41% -- strongest cohort since launch.
Retained By cohort vs avg
Week 1 68% ▅▅▆▆▆▇▇█ +7%
Week 2 54% ▄▄▅▅▅▆▆▇ +5%
Week 4 41% ▃▃▄▄▅▅▆▆ +4%
Week 8 32% ▃▃▃▄▄▄▅▅ +2%
* Onboarding email change warming up week 1
Feature Adoption Last 30 days, active users
Dashboards used by 73% of active users.
Signals adoption doubled -- now at 38%.
Adoption 8-week trend Δ
Dashboards 73% ▆▆▆▇▇▇▇█ --
Queries 61% ▄▅▅▅▆▆▆▇ +12%
Signals 38% ▂▂▃▄▅▆▇█ +89%
Snapshots 24% ▃▃▃▄▄▄▅▅ +8%
* Users who adopt Signals have 2.3x retention
Churn Risk Accounts inactive 14+ days
4 accounts at risk representing $2,400 MRR.
Acme Corp was power user -- worth a check-in.
MRR Activity Silent
Acme Corp $1,200 ▇▆▅▄▃▂▁▁ 18 days
StartupXYZ $600 █▇▆▅▄▃▂▁ 14 days
Nonprofit.io $300 ▅▅▄▃▃▂▁▁ 21 days
Local Shop $300 ▆▅▅▄▃▂▂▁ 16 days
* Acme's last action was exporting data
Runway Forecast At current burn rate
14 months of runway remaining.
Break-even requires +22% MRR growth (currently +23%).
Current 6-month trend Δ/mo
Cash $114k █▇▇▆▆▅▅▅ -$8.2k
MRR $47k ▂▃▃▄▅▅▆█ +$8.8k
Burn $8.2k ▆▆▅▅▅▅▄▄ -$1.1k
Runway 14 mo ▄▄▅▅▆▆▇█ +2 mo
* On track for profitability by Q3


From scattered data to a unified report. Every answer traces back to its source.

Query the past ₍ᐢ.ˬ.ᐢ₎

Rack takes snapshots and supports temporal queries:

$ rack snapshot # Save current state $ rack query --at 2024-01-10 "SELECT *" # Query that snapshot $ rack diff # What changed since last refresh

Compare this week to last week. See how metrics evolved. Time-travel through your data.

Signals & alerts (◎_◎;)

Tell Claude what you care about. It watches your data and lets you know when something happens.

* MRR crossed $50k
* Churn spiked above 5%
* Three new annual signups today

Run rack signals to see what's happening. No dashboards to check — the data comes to you.

Scheduling ( ˘ω˘ )zzZ

Keep your knowledge graph fresh with cron-style schedules. Ask Claude:

"Refresh GitHub data every hour" "Run the full pipeline daily at 6am" "Fetch Stripe payments every 15 minutes"

Claude creates the appropriate launchd (macOS) or systemd (Linux) configuration. Your dashboards update themselves.

More features ヾ(^▽^*)))

MCP Server

Expose your rack to AI tools. Run rack mcp install to auto-configure Claude Code, Cursor, or VS Code.

Direct queries

Skip the scripts. Run rack query "SELECT * FROM users" to query DuckDB directly.