Tech Stack Overview
Every service the platform depends on, what it does, who owns it after handover, and what breaks without it.
Impact Hub OS is one Next.js application. It runs on Vercel, keeps its data in Supabase, signs people in through Clerk, sends email through Resend, and calls Nexus for matching and video rooms. Everything else plays a supporting role. The pages in this section take each group in turn.
The Map
| Service | Role | Page |
|---|---|---|
| Vercel | Hosts the app, runs the daily scheduled jobs, serves this docs site | Hosting and Domain |
| GoDaddy | Registrar and DNS for impacthubos.com | Hosting and Domain |
| GitHub | The source code | Hosting and Domain |
| Supabase | Postgres database, private file storage, one five-minute scheduled job | Database and Storage |
| Clerk | Sign-in, invitation-only sign-up, organizations, the Google and Microsoft buttons | Sign-In and Accounts |
| Google Cloud | The OAuth client for Google sign-in and calendar access | Sign-In and Accounts, Calendars and Video |
| Microsoft Entra | The app registration for Microsoft sign-in and Outlook access | Sign-In and Accounts, Calendars and Video |
| Resend | Every email the platform sends | |
| Nexus | Matching scores, semantic member search, video rooms | Matching and AI |
| OpenRouter | The language model behind the OS Agent and dashboard insights | Matching and AI |
| Sentry | Error reports from production | Monitoring and Tracking |
| Linear | The issue tracker; in-app reports land here | Monitoring and Tracking |
How a Request Travels
- The browser asks Vercel for a page.
- The edge gate (
proxy.ts) lets public routes through and checks everything else against the navigation registries for the viewer's role. - The page's server code reads the identity from the Clerk session, reads data from Supabase with the service key, and renders.
- Writes go through server actions, which check the role again before touching the database.
There is no separate API server, no client-side database access, and no state kept anywhere but Postgres and Clerk.
What Breaks Without Each
| If this stops | What members see |
|---|---|
| Vercel | The site is down |
| GoDaddy DNS | The address stops resolving; email authentication fails |
| Supabase | Sign-in works, every page errors |
| Clerk | Nobody can sign in |
| Resend | Email is logged as failed, nothing delivered |
| Google Cloud | Google sign-in and calendar connection fail; the rest works |
| Microsoft Entra | Microsoft sign-in and Outlook sync fail |
| Nexus | Matching falls back to a built-in ranker; sessions use Google Meet |
| OpenRouter | The OS Agent says it is not configured; nothing else changes |
| Sentry | Errors still happen, nobody is told |
| Linear | In-app reports fall back to email |
Ownership
Every account transfers to Impact Hub Houston at handover, tracked in Linear under IMP-9. Until each transfer, the service runs on an account the build team holds. See Account Ownership and Handover.
The Application Itself
Next.js 16 (App Router), React 19, TypeScript, Tailwind CSS v4, shadcn/ui on Base UI, Inter as the only typeface. Tests run on Vitest. Details in For Developers.

