Part Time
$5 - $15
20
Sep 9, 2026
FULL-STACK DEVELOPER — AI OPERATIONS DASHBOARD FOR TRUCKING BUSINESS (NEXT.JS / SUPABASE / VERCEL)
SUMMARY
I'm building a web app for a small auto-transport trucking operation. The app collects everything that happens in the business each day — voice/text notes, phone calls and texts, team chat, emails, tracking spreadsheets, TMS data, project tasks, and accounting — extracts what matters with an LLM, and turns it into a daily, weekly, and monthly view of how the business is doing.
The app already exists with a Notes tab and basic structure. The work is finishing the AI prompts, building the connectors to each platform, and delivering the health dashboard.
This will also be offered to other trucking companies we dispatch for, so it must be multi-tenant from the start: each company sees only its own data.
The full scope is still taking shape, so I'm open to hourly with a weekly cap, or fixed price per milestone if you prefer to bid that way.
STACK (ALREADY CHOSEN — NO CHANGES)
- Next.js (App Router) + TypeScript + Tailwind, deployed on Vercel
- Supabase: Postgres, Row Level Security (tenant isolation), Auth, Storage
- GitHub, PR-based workflow with Vercel preview deployments
- AI pipeline: Whisper (audio to text) -> low-cost LLM for extraction -> larger model for synthesis. Provider must be swappable (Anthropic / OpenAI / Google) behind one interface.
WHAT YOU'LL BUILD — FOUR MILESTONES
Milestone 1 — Notes pipeline
Voice or text note in (existing Notes tab) -> Whisper transcript -> LLM extracts structured JSON -> saved to Supabase. Validation, retries on malformed output, provider-switch config. Prompts are drafted; you finish and harden them. Multi-tenant schema and RLS set up here.
Milestone 2 — Unified events table + connector pattern
Every source below feeds one "events" table (tenant, source, timestamp, type, structured payload, raw text). Build one connector pattern and reuse it: API/webhook/bot/upload in -> normalize -> LLM extraction where content is unstructured -> write to events. Adding a new source later must mean writing one adapter, not touching the dashboard.
Milestone 3 — Connectors
All platforms in the list below, wired into the pattern from Milestone 2. Automated where the platform allows; manual upload path where it doesn't.
Milestone 4 — Business health dashboard
Daily, weekly, and monthly views built from the events and records tables: gross, net, cash in/out, cost per mile, revenue and loads per truck, driver pay owed and deductions, open issues, outreach activity, and a short AI-written summary of what changed and what needs attention. Metric definitions are documented; you implement them.
PLATFORMS TO CONNECT
Super Dispatch (carrier TMS)
Data: booked loads, drivers, statuses, BOLs, invoices
Method: REST API with bearer key; webhooks for status events
Quo (business phone)
Data: inbound/outbound call logs, call recordings and transcripts, SMS threads with brokers and drivers
Method: API and webhooks; recordings run through Whisper if Quo transcripts aren't available; LLM extracts commitments, rates, issues
Gmail (shared team inbox)
Data: broker emails, rate confirmations, claims, driver applicants
Method: Gmail API via OAuth on the shared account; LLM extracts loads, contacts, money, dates
Google Sheets (5–10 tracking sheets)
Data: driver pay, deductions, amounts owed, outreach/call tracking, load tracking, connections
Method: Sheets API via OAuth; read named tabs on a schedule; sheet list provided at kickoff
Zoho Projects
Data: tasks, project status, who owns what
Method: Zoho REST API via OAuth
Data: text channels plus voice sessions
Method: bot with read access to named channels; voice sessions recorded -> Whisper -> same notes pipeline
Telegram
Data: group and direct messages with drivers/brokers
Method:
WhatsApp
Data: group and direct messages
Method: manual upload only (chat export file uploaded daily by an assistant); parser handles the export format
Loom
Data: recorded walkthrough videos between team members
Method: Loom API for transcripts where available; otherwise upload video/transcript manually
QuickBooks + bank accounts (phase 2, design for it now)
Data: money in, money out, balances, AR/AP
Method: QuickBooks Online API via OAuth; bank data via Plaid or equivalent
Carrier payment/factoring platform (name confirmed at kickoff)
Data: load payments received, fees
Method: API if available, otherwise statement upload
OpenAI Whisper — voice notes, calls,
LLM providers (Anthropic / OpenAI / Google) — extraction and synthesis — single provider-agnostic adapter
Supabase / Vercel / GitHub — database, auth, storage, hosting, preview deploys, source control — native
Other sources may be added during the project. The Milestone 2 pattern must make that a one-adapter job.
REQUIREMENTS
- Production experience with Next.js + TypeScript and Supabase, including RLS for multi-tenant isolation
- Have built on at least one LLM API with structured/JSON output — you know what happens when the model returns bad JSON and how to handle it
- Have done multiple OAuth integrations (Google, Zoho, QuickBooks, or similar) and at least one webhook consumer
- Have built or worked with a chat bot (
- Comfortable building a clean, readable dashboard (charts, KPI cards) — clarity over polish
- Clear written English; async communication
- You work from a spec and ask precise questions, not "what should it do?"
Nice to have: Whisper/audio pipelines, background job queues, Plaid, any logistics or dispatch software.
HOW WE WORK
- GitHub repo, one PR per milestone, I test on the Vercel preview URL
- Milestone accepted when it passes my test on real data — not on your word, not on a video
- Short async updates; one call per milestone if needed
- Hourly with a weekly cap, or fixed per milestone — your choice, say which in your proposal
TO APPLY
1. Link to a production Next.js + Supabase app you built and what you personally owned
2. Two or three sentences: how would you structure the events table and connector pattern so adding a new platform later doesn't touch the dashboard?
3. Your hourly rate and estimated hours per milestone, or a fixed bid per milestone
Start your proposal with the word "trailer" so I know you read this.