FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
Victoria1234
Victoria1234Victoria
Remix of Victoria1234/voicemessages
Public
Like
Victoria
Home
Code
5
backend
3
frontend
3
shared
1
untitled-folder-3804
README.md
Branches
1
Pull requests
Remixes
1
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 miliseconds.
Sign up now
Code
/
Code
/
Search
README.md

Voice Notes App

A web application for recording, transcribing, and sharing voice notes with expiration controls.

Features

  • 🎙️ Record voice notes directly in the browser
  • 🤖 AI-powered transcription using OpenAI Whisper
  • 🔗 Share voice notes via unique URLs
  • ⏰ Set expiration by max listens or date
  • 📋 Dashboard to view and manage all your voice notes
  • 🗑️ Delete voice notes you no longer need
  • 📱 Responsive design with modern UI

User Stories

  • I can record a voice note
  • Given I record a voice note, it is transcribed by AI
  • Given I have recorded a voice note, I can share that voice note with someone via URL
  • I can set an expiration for the voice note by number of max listens (i.e. 1 listen)
  • Or, I can set an expiration for the voice note by choosing an expiration date
  • I can see which voice notes I have sent
  • I can delete voice notes I no longer need

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Database schema
│   │   └── queries.ts       # Database operations
│   ├── routes/
│   │   ├── voicenotes.ts    # Voice note CRUD operations
│   │   └── static.ts        # Static file serving
│   └── index.ts             # Main Hono server
├── frontend/
│   ├── components/
│   │   ├── App.tsx          # Main app component
│   │   ├── VoiceRecorder.tsx # Recording interface
│   │   ├── VoicePlayer.tsx  # Playback interface
│   │   ├── ShareModal.tsx   # Sharing configuration
│   │   └── Dashboard.tsx    # Voice notes management
│   ├── index.html           # Main HTML template
│   ├── index.tsx            # Frontend entry point
│   └── style.css            # Custom styles
└── shared/
    └── types.ts             # Shared TypeScript types

Tech Stack

  • Backend: Hono (TypeScript API framework)
  • Database: SQLite for voice note metadata
  • Storage: Val Town Blob storage for audio files
  • AI: OpenAI Whisper for transcription
  • Frontend: React with TypeScript
  • Styling: TailwindCSS
Code
backendfrontendshareduntitled-folder-3804README.md
Go to top
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Product
FeaturesPricing
Developers
DocsStatusAPI ExamplesNPM Package Examples
Explore
ShowcaseTemplatesNewest ValsTrending ValsNewsletter
Company
AboutBlogCareersBrandhi@val.town
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.