• Townie
    AI
  • Blog
  • Docs
  • Pricing
  • We’re hiring!
Log inSign up
rehanbgmi

rehanbgmi

voice

Public
Like
voice
Home
Code
4
backend
4
frontend
5
shared
2
README.md
Branches
1
Pull requests
Remixes
History
Environment variables
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Sign up now
Code
/
Code
/
Search
index.ts
https://rehanbgmi--e34b8522340d11f09a599e149126039e.web.val.run
README.md

VoiceSync - Real-time Indian English Transcription App

A real-time speech transcription application optimized for Indian English accents, similar to Otter.ai. Users can join channels where their speech is transcribed in real-time and visible to all other users in the channel.

Features

  • Real-time speech-to-text transcription optimized for Indian English accents
  • Channel-based communication where multiple users can join
  • Live updates as users speak or type
  • Mobile-friendly interface
  • User authentication and profile management

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Schema definitions
│   │   └── queries.ts       # DB query functions
│   ├── routes/              # Route modules
│   │   ├── auth.ts          # Authentication routes
│   │   ├── channels.ts      # Channel management
│   │   └── static.ts        # Static file serving
│   ├── websocket/
│   │   └── handler.ts       # WebSocket connection handling
│   └── index.ts             # Main entry point
├── frontend/
│   ├── components/
│   │   ├── App.tsx
│   │   ├── ChannelView.tsx
│   │   ├── Login.tsx
│   │   └── Transcription.tsx
│   ├── favicon.svg
│   ├── index.html           # Main HTML template
│   ├── index.tsx            # Frontend JS entry point
│   └── style.css
└── shared/
    ├── types.ts             # Shared type definitions
    └── utils.ts             # Shared utility functions

Technology Stack

  • Backend: Hono.js with WebSockets
  • Frontend: React with TypeScript
  • Database: SQLite for persistent storage
  • Speech Recognition: Web Speech API with customization for Indian English
  • Styling: TailwindCSS

How It Works

  1. Users create an account or log in
  2. They can create a new channel or join an existing one
  3. Once in a channel, they can start speaking or typing
  4. The speech is transcribed in real-time using the Web Speech API
  5. Transcriptions are sent to all users in the channel via WebSockets
  6. All users see the transcriptions in real-time with speaker identification

Limitations

  • Speech recognition quality depends on the browser's implementation of Web Speech API
  • Optimization for Indian English accents is achieved through configuration but may not be perfect
HTTP
  • index.ts
    rehanbgmi--e3…9e.web.val.run
Code
backendfrontendsharedREADME.md
FeaturesVersion controlCode intelligenceCLI
Use cases
TeamsAI agentsSlackGTM
DocsShowcaseTemplatesNewestTrendingAPI examplesNPM packages
PricingNewsletterBlogAboutCareers
We’re hiring!
Brandhi@val.townStatus
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.