VoxFormAI

Fill Surveys at the Speed of Speech

VoxForm AI transforms how organisations collect data.
Speak naturally β€” our AI transcribes your voice, understands your intent, and fills every form field in real time.

No more CLICKING. No more TYPING.
⚑10Γ— faster data collection
🎯LLM-powered field extraction
πŸ”’JWT-secured multi-tenant auth
⏱️
< 2s
Avg. transcription time
πŸ”„
3-step
Voice β†’ LLM Extract β†’ Fill pipeline
πŸ‘₯
2-tier
Role system (Admin + Respondent)
πŸ“‹
∞
Form complexity via SurveyJS
The pipeline

How VoxForm AI Works

Five steps from microphone click to submitted form β€” all happening in under 5 seconds.

🎀01
Speak NaturallyThe user opens a form and clicks the microphone button. They speak their answers in natural language β€” no special syntax, no commands. The browser's MediaRecorder API captures the audio stream in real time.Supports WebM, WAV, and any browser-native audio format. Max 25 MB per recording.
πŸ”Š02
Whisper TranscribesThe audio clip is sent to the FastAPI backend and processed by OpenAI's Whisper model via the Groq API β€” one of the fastest inference providers available. Groq's LPU hardware delivers transcriptions in under 2 seconds on average.Groq-hosted Whisper large-v3. Supports 50+ languages.
🧠03
LLM Extracts FieldsThe transcript is passed to a Groq-hosted LLM (e.g. OpenAI GPT) alongside the form's field schema (labels, types, options). The model returns a structured JSON mapping each spoken answer to its correct field β€” including fuzzy-matching for choice fields.Temperature 0 for deterministic extraction. Field IDs validated post-parse.
✍️04
Form Fills DynamicallyThe React frontend receives the extracted values and immediately pre-populates every matched field.Unmatched fields stay blank for manual entry. Transcript shown for review.
βœ…05
Review & SubmitThe user reviews the pre-filled fields, corrects any mistakes using standard inputs, and submits. The response is validated server-side (required fields, choice constraints, number format) before being persisted to MySQL.Raw transcript stored alongside structured answers for audit trails.
What you get

Everything Your Survey Team Needs

From voice capture to analytics export β€” VoxForm AI covers the full data-collection lifecycle.

πŸŽ™οΈ
Real-time Voice Filling
Core Feature
Respondents click one button, speak naturally, and watch every form field populate instantly. The browser MediaRecorder captures audio; the Groq-powered Whisper model transcribes it; the LLM maps answers to fields.
  • βœ“Multi-language transcription (50+ languages)
  • βœ“Confidence scores highlight uncertain extractions
  • βœ“Verbatim transcript stored for audit trails
  • βœ“Manual correction of any pre-filled field
πŸ—οΈ
Advanced Form Builder
SurveyJS Powered
Org admins design forms of any complexity using a drag-and-drop interface powered by SurveyJS β€” the industry-leading open-source form framework. No coding required.
  • βœ“30+ question types: text, rating, matrix, image selector…
  • βœ“Conditional logic and branching
  • βœ“Multi-page forms with progress indicators
  • βœ“Global template library β€” clone and customise
πŸ”
JWT Authentication
Security First
Every session is backed by a signed HS256 JWT stored in an HttpOnly cookie β€” inaccessible to JavaScript, immune to XSS. The token embeds user_id, org_id, and role so every API call is instantly verifiable without a DB round-trip.
  • βœ“HttpOnly + SameSite=Lax cookies β€” no localStorage
  • βœ“7-day token expiry, configurable per deployment
  • βœ“bcrypt password hashing (work factor 12)
  • βœ“Org-scoped data isolation β€” multi-tenant by design
🏒
Organisation & Team Management
Multi-tenant
Every deployment is org-scoped. Org Admins manage their team via a one-click invite system. Invites carry the recipient's name, email, and role β€” the invitee only needs to set a password.
  • βœ“Invite-only model β€” no public signup
  • βœ“Invite link shown once; token valid 7 days
  • βœ“Two roles: Org Admin & Respondent
  • βœ“Seed script for the first org + admin
πŸ“€
CSV Export
Data Portability
Download all responses for a form as a clean, analysis-ready CSV in one click. Each response is a row; each form field is a column. Duplicate field labels are automatically disambiguated.
  • βœ“One row per response, one column per field
  • βœ“Submitted-at timestamp in every row
  • βœ“Duplicate-label disambiguation (Notes, Notes (2)…)
  • βœ“Content-Disposition header triggers browser save dialog
Under the hood

The Voice-to-Form Pipeline

Three interfaces, three responsibilities, zero coupling.

πŸ’Ύ

AudioStorage

Where bytes live
The browser sends a WebM audio blob via multipart POST. FastAPI writes it to disk (LocalAudioStorage) with a UUID filename to prevent collisions and path-traversal attacks. Future: swap to S3AudioStorage without touching the transcriber.
UUID filenamesLocalAudioStorageInterface-swappable
πŸ”Š

Transcriber

Audio β†’ Text
FasterWhisperTranscriber (or the Groq Whisper API) converts the audio file to a plain text transcript. The model is lazy-loaded and cached per process β€” so the first request pays the cold-start cost; all subsequent ones are instant.
Groq APIWhisper large-v350+ languages
🧠

FieldExtractor

Text β†’ Structured JSON
OpenAIFieldExtractor (configured for Groq's LLM endpoint) receives the transcript alongside the form's field schema and returns a JSON array of {field_id, value, confidence} objects. Hallucinated field IDs are silently dropped.
Groq LLaMA 3temp=0Confidence scores
🎀BrowserMediaRecorder
β†’
⚑FastAPIPOST /api/voice/…
β†’
πŸ’ΎAudioStoragesaves to disk
β†’
πŸ”ŠTranscriberGroq Whisper
β†’
🧠FieldExtractorGroq LLM
β†’
✍️React UIpre-fills fields
Built with

Technology Stack

Modern, battle-tested technologies chosen for performance, developer ergonomics, and long-term maintainability.

πŸ–₯️

Frontend

βš›οΈ
React 19
UI Library
β–²
Next.js
Dev Server / SSR
🎨
Tailwind CSS
Utility-first Styling
πŸ“‹
SurveyJS
Form Builder Engine
βš™οΈ

Backend

🐍
Python FastAPI
REST API Framework
πŸ—„οΈ
SQLAlchemy 2
ORM / Query Builder
🐬
MySQL
Relational Database
πŸ”’
PyJWT + bcrypt
Auth / Password Hashing
βœ…
Pydantic v2
Data Validation / DTOs
πŸš€
Uvicorn
ASGI Server
πŸ€–

AI & Voice

⚑
Groq API
LPU Inference Provider
πŸ”Š
Whisper AI
Speech-to-Text Model
🧠
GPT / LLaMA 3
Field Extraction LLM
🎀
MediaRecorder API
Browser Audio Capture
System Architecture Overview
πŸ–₯️

Presentation Layer

  • React 18 + Next.js
  • React Router v6
  • SurveyJS Form Builder
  • Chart.js Dashboards
βš™οΈ

Application Layer

  • FastAPI REST API
  • JWT HttpOnly Cookies
  • Dependency Injection
  • Repository Pattern
πŸ—„οΈ

Data & AI Layer

  • MySQL + SQLAlchemy
  • Groq Whisper API
  • Groq LLM API
  • bcrypt Password Hashing
User roles

Org Admin vs Respondent

Two clearly differentiated roles with purpose-built capabilities.

πŸ‘‘ Org Admin

Full control over the organisation

πŸ“‹Create, edit & delete forms via SurveyJS builder
πŸ“šBrowse and clone global form templates
πŸ“¨Invite new Org Admins and Respondents
πŸ‘₯View & manage all org members
πŸ“ŠAccess analytics dashboard for all forms
πŸ“₯Export any form's responses as CSV
πŸ—οΈConfigure form logic, branching, and multi-pages

🎀 Respondent

Focused form-filling experience

πŸ“‹View all forms in their org
🎀Voice-fill forms with microphone recording
✍️Review, correct & submit responses
πŸ“See the AI-generated transcript for each session
πŸ”’Manual entry fallback for all field types
πŸ”’Isolated from other orgs' data (multi-tenant)
🚫No access to templates, or team management

Onboarding Flow β€” How New Members Join

πŸ‘‘Admin opens /invite
β†’
πŸ“Fills name, email, role
β†’
πŸ”—System generates one-time link
β†’
πŸ“€Admin shares the invite URL
β†’
πŸ”‘Invitee sets password
β†’
βœ…Account created, logged in
Questions

Frequently Asked Questions

Everything you need to know about VoxForm AI.

πŸŽ™οΈ

Ready to fill forms at the speed of speech?

VoxForm AI brings together voice AI, a powerful form builder, and a secure multi-tenant platform in one streamlined tool.

Get your organisation set up in minutes.

βš›οΈ React🐍 FastAPI⚑ OpenAI GPT🎀 WhisperπŸ”’ JWTπŸ“‹ SurveyJS