Case study 01/08 // AI · Video agents
Voxforce
AI video agents that talk, listen and act in real time: client portal, marketing site and backend API.

The write-up
Voxforce
Voxforce is an AI video agent platform — face-to-face agents that speak naturally with customers, draw from CRM and knowledge-base context, and take action in real time for sales, support, and customer experience. The product includes a client portal (Next.js) at portal.voxforce.ai, a marketing website (Astro) at voxforce.ai, and a backend API (Node.js + Express + PostgreSQL) at api.voxforce.ai. Delivered with Simublade; I implemented almost all of it, with a small portion of the backend API—a few CRUDs—handled by others.
Project Overview
Voxforce comprises three main surfaces: a client portal for deploying and managing AI video agents, a marketing site for product positioning and conversion, and a backend service for auth, video, personas, analytics, and business logic. The stack is TypeScript on the frontends and Node/PostgreSQL on the backend, with integrations for video (Daily), storage (S3), payments (Stripe), and auth (WorkOS).
Key Features
- Client portal: Next.js app with Chakra UI — Avatar Studio, Persona Studio, Pulse View analytics, and live conversational video (portal.voxforce.ai)
- Marketing website: Astro site for voxforce.ai with SEO, pricing, and static deployment
- Backend API: RESTful Node.js + Express service with PostgreSQL (Sequelize), Swagger docs, and observability (OpenTelemetry)
- Integrations: Video (Daily), file storage (AWS S3), payments (Stripe), auth (WorkOS), and email (Nodemailer)
Brand & Design
Voxforce uses a light-first identity built around two logo colours — Periwinkle (#9590EE) and Lavender (#E89DFB) — with a periwinkle→lavender gradient reserved for the symbol and key identity moments. Typography is Inter throughout (bold upright headlines paired with extra-light italic accent phrases). Status colours are kept separate from brand palette.
Technology Stack
Client portal (portal.voxforce.ai):
- Next.js 16, React 19, TypeScript
- Chakra UI for components and theming (next-themes)
- Daily (Daily.co) for video
- Axios for API calls
Marketing site (voxforce.ai):
- Astro 5 with static build, sitemap, and SEO (astro-seo)
Backend (api.voxforce.ai):
- Node.js, Express 5, TypeScript
- PostgreSQL with Sequelize
- AWS S3, Stripe, WorkOS, JWT, Nodemailer, Handlebars
- Swagger for API documentation, OpenTelemetry for observability
Development Highlights
- Multi-repo product: Client portal, website, and API in separate repos with a shared product surface
- Video integration: Daily-based conversational video inside the client portal
- API design: REST API with validation (Joi), file uploads, and documented surface (Swagger)
- Observability: Instrumentation and tracing in the backend for production support
My Contributions
- Client portal: Implemented the full Next.js client portal—UI (Chakra UI), video integration (Daily), theming aligned with Voxforce brand guidelines, and product flows
- Marketing website: Built the Astro marketing site for voxforce.ai, including structure, SEO, and deployment setup
- Backend API: Implemented the majority of the backend service—architecture, routes, auth, integrations (S3, Stripe, WorkOS, Nodemailer), and Swagger; a small number of CRUD endpoints were implemented by others
- Cross-app alignment: Ensured the portal and website align with the API contract and product behavior
Technical Achievements
- Full-stack delivery: Shipped client app, marketing site, and most of the backend across the Voxforce product
- Video in the product: Integrated Daily-based conversational video into the Next.js portal with a strong UX
- Modern stack: Next.js 16, React 19, Express 5, TypeScript, and PostgreSQL with clear separation between frontends and API
- Production readiness: API documentation (Swagger), observability (OpenTelemetry), and deployment paths for all three parts
Technical Challenges Solved
- Video integration: Reliable integration of Daily.co into the client portal with correct state and error handling
- Multi-repo consistency: Kept client portal, website, and API in sync without a monorepo
- API surface: Designed and implemented the main API surface so the portal and internal tools could consume it cleanly
This project demonstrates full-stack delivery of an AI video agent product with a modern web stack, clear ownership of frontend and most of the backend, and collaboration with Simublade on a small subset of backend CRUDs.

