Skip to content

fparanso/MyVoiceRecorder

Repository files navigation

MyVoiceRecorder

MyVoiceRecorder is a secure, local-first desktop application for high-quality voice recording and management. Designed with a focus on simplicity and accessibility, it allows users to capture audio, manage recordings across multiple accounts, and customize their experience with adjustable typography and theme controls.

🌟 Key Features

  • Local-First Architecture: All data and recordings are stored on your machine. No cloud required.
  • Multi-Account Support: Securely manage multiple user profiles with independent settings and recording libraries.
  • High-Quality Recording: Encodes audio in OGG Vorbis format using a WASM-based engine for platform consistency.
  • Accessibility First: Kindle-style font size controls and a seamless Dark/Light mode toggle.
  • Custom Storage: Choose exactly where your recording files are saved on your system.
  • Secure Authentication: Local password hashing using bcrypt and a secure offline password reset flow.

🛠️ Tech Stack

  • Core: Electron JS
  • Build System: electron-vite
  • Database: PostgreSQL (Local)
  • Frontend: HTML5, Vanilla CSS, Modern ES6+ JavaScript
  • Audio Engine: MediaRecorder API with libvorbis.js (WASM) fallback

🚀 Getting Started

Prerequisites

Installation

  1. Clone the repository:

    git clone https://github.com/yourusername/my-voice-recorder.git
    cd my-voice-recorder
  2. Install dependencies:

    npm install
  3. Setup the Database: Ensure your PostgreSQL service is running, then run the initialization script:

    npm run setup-db

    Note: This creates the my_voice_recorder database and necessary tables.

Development

Start the application in development mode with hot-reload:

npm run dev

Build

To package the application for production:

# Build the project
npm run build

# Preview the build
npm run preview

📂 Project Structure

├── db/                 # SQL schema and migrations
├── prd & design/       # Design assets and product requirements
├── scripts/            # Database initialization scripts
├── src/
│   ├── main/           # Electron main process (IPC, DB, Protocol)
│   └── renderer/       # Frontend UI, Audio Engine, and Logic
├── electron.vite.config.mjs # Build configuration
└── package.json        # Dependencies and scripts

🔒 Security

  • Data Privacy: No audio or user data ever leaves your computer.
  • Passwords: Hashed locally using bcryptjs (10 rounds).
  • Session Safety: Deep-linking protocol (myvoicerecorder://) used for secure local password recovery tokens.

📄 License

This project is licensed under the MIT License.

About

Simple desktop app for recoding my voice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors