Skip to content

Latest commit

 

History

History
65 lines (49 loc) · 4.01 KB

File metadata and controls

65 lines (49 loc) · 4.01 KB
title Smart Spreadsheet
sidebarTitle Smart Spreadsheet
description An AI-powered company enrichment tool that uses Exa search and Claude to extract verified company data with source attribution.

import RealtimeLearnMore from "/snippets/realtime-learn-more.mdx";

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 stream to the frontend in real-time as they're processed.

  • 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 to stream updates to the frontend

Video

<video controls className="w-full aspect-video" src="https://content.trigger.dev/smart-spreadsheet.mp4"

GitHub repo

<Card title="View the Smart Spreadsheet repo" icon="GitHub" href="https://github.com/triggerdotdev/examples/tree/main/smart-spreadsheet"

Click here to view the full code for this project in our examples repository on GitHub. You can fork it and use it as a starting point for your own project.

How it works

The enrichment workflow:

  1. Trigger enrichment – User enters a company name or URL in the spreadsheet UI
  2. Parallel data gathering – Four subtasks run concurrently to fetch basic info, industry, employee count, and funding details
  3. AI extraction – Each subtask uses Exa search + Claude to extract structured data with source URLs
  4. Real-time updates – Results stream back to the frontend as each subtask completes
  5. 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
  • Real-time streaming – Results appear in the UI as they're processed using Realtime
  • Structured extraction – Zod schemas ensure consistent data output from Claude

Relevant code

File Description
src/trigger/enrich-company.ts Main orchestrator that triggers parallel subtasks and persists results
src/trigger/get-basic-info.ts Extracts company website and description
src/trigger/get-industry.ts Classifies company industry
src/trigger/get-employee-count.ts Finds employee headcount
src/trigger/get-funding-round.ts Discovers latest funding information