STANECT CASE STUDY

Stanect — AI Voice Companion Platform

AI voice companion I built end-to-end so people can practice conversations and build speaking confidence — from landing and onboarding through live sessions and subscriptions.

Quick Facts

Role:

Founder & Full-Stack Engineer

Ownership:

Built the entire product end-to-end

Users:

200+ users

Latency:

Sub-500ms real-time voice interactions

Performance:

About 20% Lighthouse performance improvement

Core Stack:

Next.jsReactTypeScriptNode.jsSupabaseClerkVapiOpenAI

Focus:

Real-time voice, reliable onboarding, scalable architecture

The Problem

Many people want to improve their communication skills but lack safe environments to practice conversations. I explored whether an AI voice companion could create a low-pressure space where users can experiment, practice responses, and build confidence speaking to others.

Key Features

Companion creation flow

Preview-driven configuration

Real-time conversation sessions (WebSockets, sub-500ms)

Profile management

Subscription model for premium access

Product

Stanect dashboard with saved companions and a continue-practice banner
Home dashboard — resume a session or start a new conversation
Stanect companion creation flow on the avatar step, Choose Your Muse
Companion creation — avatar, person, voice, then preview
Stanect conversation room for Gina with a Start Call button and live transcript
Conversation room — ready state before the call
Stanect live voice session with Gina, call controls, and a streaming transcript
Live session — voice call with a streaming transcript

Engineering

Persistent onboarding state so users do not lose progress

WebSockets and streaming for sub-500ms voice interactions

React Server Components and a modular architecture for maintainability

Strict enough validation to keep bad data out of onboarding without blocking the flow

Architecture

Frontend, data, backend, and voice are split so each layer can change without rewriting the rest.

Frontend:

Next.js

React

TypeScript

Tailwind CSS

Framer Motion

State and data management:

Zustand

TanStack Query

Zod

Backend infrastructure:

Node.js

Supabase

Clerk

WebSockets

Voice and AI processing:

Vapi for voice processing

OpenAI for conversation generation

WebSockets sit on the backend layer so voice stays under 500ms.