ethanhouseworth

← back to projects

The Death of the Spreadsheet

Jan 2026 AI / Essay

Ethan Houseworth + Ultron

CRMs are a UI for data you could just talk to.

this whole thing started when i realized Claude Code is just a really good general purpose agent. it runs in your terminal, it reads and writes files, it executes code, and it has a memory file called CLAUDE.md that acts as its brain. you write instructions in that file, and the agent follows them. it updates the file as it learns. self-improving, self-modifying, right in your terminal or IDE.

Claude Code sounds scary if you're not technical. but honestly, it's the simplest way to create an AI agent. you can have one running in five minutes. no framework, no setup wizard, no SaaS dashboard. just a markdown file and a conversation.

once i saw that, i started looking at every spreadsheet and CRM differently. every startup pays $50-200/seat/month for a CRM. every freelancer has a Google Sheet with color-coded columns. every small business has someone whose whole job is updating the spreadsheet. what if you just talked to your data instead?

the old way

you want to do cold outreach to 100 artists. the traditional workflow: open Spotify, manually find artists in your genre, copy their names into a spreadsheet, add columns for follower count and tier, google their Instagram handles, write 100 personalized DMs by hand (or worse, send the same template to everyone), track who responded in another column, follow up manually.

that's a full day of work. minimum. and the spreadsheet is stale the moment you close it.

how could AI do this?

what we actually built

for Spinfluence, my feedback marketplace for music producers, i needed to find artists and producers to recruit. hundreds of them, across specific genres, with personalized outreach that doesn't feel like spam.

the agent pulls directly from Spotify's API. every artist i've ever liked, filtered by genre (house, tech house, deep house, minimal), scored by follower count, popularity, and how many of their tracks are in my library. it auto-tiers them: Weekend Warriors (1K-100K followers, most accessible), Rising Stars, Touring Pros, and Whales.

the output is a SQLite database. not a spreadsheet. a database the agent can query conversationally. "show me the top 20 Weekend Warriors in tech house that i haven't contacted yet." instant. no scrolling, no filters, no pivot tables.

then the LLM enricher runs. it takes each artist's data, their genres, their tracks i actually listen to, their tier, and generates personalized outreach messages. not mail merge. actually personalized. "hey, been listening to your track on [specific playlist] for weeks, the groove on that bassline is insane" type messages. because the AI has the context of which specific tracks are in my library.

the health system: same pattern, different domain

i applied the exact same abstraction to my personal health. the full system is a combination of things: a Garmin watch pulls daily metrics (steps, heart rate, sleep stages, stress, body battery, calories) into a SQLite database. a digital pantry tracks what's actually in my kitchen across four zones (cupboard, fridge, freezer, room). a meals database logs what i eat. a purchases database tracks every grocery run. and a meal template system knows my go-to meals and what ingredients they need.

all of it is just structured data that the agent queries conversationally. "what's my average resting heart rate this week?" hits the health database. "what do i need from the store?" diffs the pantry against my staples list. "i burned 600 calories today, what should i make for dinner?" cross-references the health data with what's actually in the fridge and suggests a meal from my templates. the full writeup goes deeper into how it works.

no app. no dashboard. no subscription. just a database and a conversation.

the abstraction layer

the pattern is always the same:

1. structured data in SQLite. not a spreadsheet. a real database that supports queries, joins, and aggregations. SQLite is free, runs locally, and the agent can read and write to it natively.

2. an AI agent as the interface. you don't open a dashboard. you text the agent. it translates natural language into SQL, runs the query, and responds conversationally. the UI is a chat window you already have open.

3. LLM enrichment on top. the agent doesn't just retrieve data, it reasons about it. generate personalized messages from contact data. suggest meals from pantry inventory. identify patterns in health metrics. the database is the memory, the LLM is the brain.

this replaces:

CRMs like HubSpot and Salesforce. Google Sheets with 47 tabs. Notion databases you stopped updating. health apps with dashboards you never check. meal planning apps that don't know what's in your kitchen.

why this is faster

a CRM makes you learn its UI, maintain its data, and work within its constraints. an AI agent with a database does whatever you ask in plain English. need a new field? just start mentioning it. need a report? describe what you want. need to change the workflow? just tell it.

the Spinfluence outreach system went from idea to 138 scored, tiered, enriched artist targets with personalized DMs in a single afternoon. no CRM setup, no template builder, no mail merge. just "find me artists to reach out to" and let the agent work.

extractable architecture

the real power isn't any one of these projects. it's that the architecture is extractable. i've done this over and over: artist outreach, producer outreach, health tracking, grocery management. same architecture, different data. once you see the pattern (structured data + conversational agent + LLM enrichment), you can duplicate it across anything. the architecture is the product, not the implementation.

try it yourself

you don't need to be technical to do this. download Claude for Desktop (it comes with Claude Code built in), hit the copy button below, paste the architecture prompt, and tell it what domain you want to apply it to. your contacts, your inventory, your workout log, whatever. it'll create the SQLite database, write the queries, and give you a conversational interface to your own data. whole thing takes an afternoon.

Share LinkedIn

subscribe for a monthly bonus article and updates on new projects and experiments.