Overview
Smart Spreadsheet is an AI-powered tool that enriches company data on demand. Input a company name or website URL and get verified information including industry, headcount, and funding details; each with source attribution. Results appear in the frontend in real-time as each task completes.- A Next.js app with Trigger.dev for background tasks
- Exa – an AI-native search engine that returns clean, structured content ready for LLM extraction
- Claude via the Vercel AI SDK for data extraction
- Supabase PostgreSQL database for persistence
- Trigger.dev Realtime for live updates to the frontend
Video
GitHub repo
View the Smart Spreadsheet repo
How it works
The enrichment workflow:- Trigger enrichment – User enters a company name or URL in the spreadsheet UI
- Parallel data gathering – Four subtasks run concurrently to fetch basic info, industry, employee count, and funding details
- AI extraction – Each subtask uses Exa search + Claude to extract structured data with source URLs
- Real-time updates – Results appear in the frontend as each subtask completes
- Persist results – Enriched data is saved to Supabase with source attribution
Features
- Parallel processing – All four enrichment categories run simultaneously using batch.triggerByTaskAndWait
- Source attribution – Every data point includes the URL it was extracted from
- Live updates – Results appear in the UI as each task completes using Realtime
- Structured extraction – Zod schemas ensure consistent data output from Claude
Key code patterns
Parallel task execution
The main task triggers all four enrichment subtasks simultaneously usingbatch.triggerByTaskAndWait:
src/trigger/enrich-company.ts
Live updates from child tasks
Each subtask usesmetadata.parent.set() to update the parent’s metadata as soon as data is extracted:
src/trigger/get-basic-info.ts
Relevant code
Learn more about Trigger.dev Realtime
To learn more, take a look at the following resources:- Trigger.dev Realtime - learn more about how to subscribe to runs and get real-time updates
- Realtime streaming - learn more about streaming data from your tasks
- Batch Triggering - learn more about how to trigger tasks in batches
- React hooks - learn more about using React hooks to interact with the Trigger.dev API

