The Agentic Spreadsheet That Feels Alive
AI agents work directly inside your grid, enriching your data with transparent, streaming AI workflows. Stop waiting for spinners.
Features β’ Architecture β’ Quick Start β’ Tech Stack β’ Documentation
Glaze is a high-performance data enrichment platform that transforms static spreadsheets into dynamic, AI-powered workflows. Unlike traditional data tools that make you wait for batch processing, Glaze's agentic architecture provides real-time, streaming enrichment directly in your grid.
- Traditional enrichment tools require manual data export/import cycles
- Batch processing means waiting minutes or hours for results
- No visibility into what's happening during processing
- Fragmented data from multiple providers requires manual merging
- Live enrichment happens directly in your spreadsheet cells
- Streaming results show progress in real-time
- Multi-provider intelligence automatically sources the best data
- AI-powered gap filling when providers can't find data
|
AI agents autonomously enrich your data using multiple providers with intelligent fallback strategies. Watch your data come alive with streaming updates - no more waiting for batch jobs. Automatically sources data from LinkedIn, websites, search APIs, and AI with confidence scoring. |
Redis-backed 7-day cache eliminates redundant API calls and reduces costs. Every field includes confidence scores and source attribution. Built on Bun and Elysia for maximum performance with minimal overhead. |
Glaze uses a waterfall architecture with distinct layers that enable scalable, maintainable data enrichment:
βββββββββββββββββββββββββββββββββββββββββββ
β π WEB APPLICATION β
β (Next.js + React) β
β β’ Interactive spreadsheet UI β
β β’ Real-time streaming updates β
β β’ Data visualization dashboard β
ββββββββββββββββββββ¬βββββββββββββββββββββββ
β
HTTP/REST API
β
ββββββββββββββββββββΌβββββββββββββββββββββββ
β β‘ API SERVER β
β (Elysia + Bun) β
β β’ REST endpoints & authentication β
β β’ Request validation & routing β
β β’ WebSocket connections β
β β’ Swagger documentation β
ββββββββββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββββββ
β π TASK ORCHESTRATOR β
β (Trigger.dev v3) β
β β’ Job queuing & scheduling β
β β’ Retry logic & error handling β
β β’ Concurrent task management β
β β’ Background job processing β
ββββββββββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββββββββββΌβββββββββββββββββββββββ
β π§ ENRICHMENT PIPELINE β
β β
β βββββββββββββββββββββββββββββββββββ β
β β PROVIDER LAYER β β
β β β β
β β βββββββββββ βββββββββββββββ β β
β β βLinkedIn β β Website β β β
β β βProvider β β Scraper β β β
β β β (95%) β β (80%) β β β
β β βββββββββββ βββββββββββββββ β β
β β β β
β β βββββββββββ βββββββββββββββ β β
β β β Search β β LLM β β β
β β β APIs β β Fallback β β β
β β β (70%) β β (60%) β β β
β β βββββββββββ βββββββββββββββ β β
β βββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββ¬βββββββββββββββββββββββ
β
ββββββββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββ
β β
ββββββββββββΌβββββββββββ βββββββββββββββββΌββββββββββββ
β ποΈ PostgreSQL β β π Redis Cache β
β (Persistent) β β (Fast Access) β
β β’ Table storage β β β’ 7-day TTL cache β
β β’ User data β β β’ Response caching β
β β’ Job history β β β’ Real-time pub/sub β
βββββββββββββββββββββββ βββββββββββββββββββββββββββββ
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ENRICHMENT PIPELINE STAGES β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββββββββββ βββββββββββ βββββββββββ βββββββββββ βββββββββββ
β 1.Cache ββββββΆβ2.LinkedInβββββΆβ3.WebsiteββββββΆβ4.Search ββββββΆβ 5.Gap β
β Check β β Providerβ β Scraper β β Service β βAnalysis β
βββββββββββ βββββββββββ βββββββββββ βββββββββββ βββββββββββ
β β
β HIT β
βΌ βΌ
βββββββββββ βββββββββββ
β Return β β 6. LLM β
β Cached β βFallback β
βββββββββββ βββββββββββ
β
βΌ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 7. MERGE & VALIDATE βββΆ 8. STORE & CACHE βββΆ DONE β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
This is a pnpm workspaces monorepo organized as follows:
glaze/
βββ π± apps/
β βββ api/ # Elysia HTTP server + REST endpoints
β βββ web/ # Next.js frontend + spreadsheet UI
β βββ workflows/ # Trigger.dev task definitions
β βββ worker/ # (Deprecated) Legacy BullMQ worker
β
βββ π¦ packages/
β βββ types/ # Shared TypeScript definitions
β βββ ui/ # Shared React components
β βββ trigger/ # Legacy trigger config
β
βββ π scripts/ # Development & deployment helpers
βββ π docs/ # Architecture & API documentation
βββ βοΈ config # Root configuration files
| Requirement | Version |
|---|---|
| Node.js | β₯ 18 |
| Bun | β₯ 1.0 |
| PostgreSQL | β₯ 14 |
| Redis | β₯ 6 |
# Clone the repository
git clone https://github.com/priyanshusaini105/glaze.git
cd glaze
# Install dependencies
pnpm install
# Copy environment template
cp .env.example .env
# Edit .env with your credentials
# Set up database
cd apps/api && pnpm run prisma:migrate:dev && cd ../..
# Start all services
./scripts/dev-all.sh| Service | URL | Description |
|---|---|---|
| Web UI | http://localhost:3000 | Spreadsheet interface |
| API | http://localhost:3001 | REST API server |
| API Docs | http://localhost:3001/docs | Swagger documentation |
|
|
|
| Stage | Duration | Cost/Request | Confidence |
|---|---|---|---|
| Cache Hit | <10ms | $0 | 95% |
| LinkedIn Provider | 500ms-2s | $0.01-0.05 | 95% |
| Website Scraper | 2-5s | $0 | 70-80% |
| Search Service | 1-2s | $0.02 | 70% |
| LLM Fallback | 1-3s | $0.02-0.05 | 60% |
| Total (uncached) | 2-10s | $0.05-0.15 | 90% |
# Start all services
pnpm dev
# Start individual services
pnpm dev:api # API server only
pnpm dev:web # Web frontend only
pnpm dev:workflows # Trigger.dev workflows
# Database operations
cd apps/api
pnpm run prisma:studio # Open database UI
pnpm run prisma:migrate:dev # Run migrations
# Code quality
pnpm check-types # TypeScript validation
pnpm lint # ESLint checks
pnpm format # Prettier formattingCreate a .env file in the project root:
# Database
DATABASE_URL=postgresql://user:password@localhost:5432/glaze
# Redis
REDIS_URL=redis://localhost:6379
# API Server
PORT=3001
API_URL=http://localhost:3001
# LLM Provider
LLM_PROVIDER=anthropic
LLM_API_KEY=your_api_key
LLM_MODEL=claude-3-sonnet-20240229
# Trigger.dev
TRIGGER_API_KEY=your_trigger_key
# Search API
SERPER_API_KEY=your_serper_key| Document | Description |
|---|---|
| Architecture Guide | System design & data flow |
| Contributors Guide | Development setup & guidelines |
| API Documentation | REST endpoints reference |
| Workflows Guide | Trigger.dev task definitions |
Database connection errors
# Verify PostgreSQL is running
psql -h localhost -U postgres
# Check DATABASE_URL in .env
# Run migrations
cd apps/api && pnpm run prisma:migrate:devRedis connection issues
# Test Redis connection
redis-cli PING
# Verify REDIS_URL in .envType errors
# Rebuild types
pnpm check-types
# Clear cache
rm -rf node_modules/.viteWe welcome contributions! Please read our Contributors Guide for:
- Development environment setup
- Code organization guidelines
- Adding new provider adapters
- Testing procedures
MIT License - see LICENSE for details.
Status: Active Development Β |Β Last Updated: January 2026
Built with β€οΈ by @priyanshusaini105
