Skip to content

Umoren/voice-writing-assistant

Repository files navigation

Voice Writing Assistant

An AI writing assistant that preserves your unique voice and writing style.

Watch how it works here

Demo video

Overview

Voice Writing Assistant is a personalized AI tool that helps improve your writing while maintaining your authentic voice. Unlike generic AI writing assistants, this tool:

  • Learns from YOUR writing samples
  • Preserves YOUR vocabulary and style
  • Integrates directly into your writing workflow
  • Keeps your content private and secure

Architecture

This project consists of two main components:

  1. FastAPI Backend: Handles retrieval, generation, and caching
  2. Chrome Extension: Provides seamless integration with Notion

Tech Stack

  • Vector Search: Leverages RAG (Retrieval Augmented Generation)
  • Language Model: Uses Together AI's Mistral 7B
  • Performance: Redis caching for sub-second responses
  • Integration: Works directly in Notion (more platforms coming soon)

Installation

Backend Setup

# Clone the repository
git clone https://github.com/yourusername/voice-writing-assistant.git
cd voice-writing-assistant

# Set up virtual environment
python -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Create .env file (see .env.example)
cp .env.example .env
# Edit .env with your API keys

Running the Backend

Start the FastAPI server

./run.sh
# or
python -m app.main

The server will start on http://localhost:8001

Chrome Extension Setup

  1. Open Chrome and go to chrome://extensions/
  2. Enable "Developer mode" (toggle in top-right)
  3. Click "Load unpacked"
  4. Select the chrome-extension folder from this repository

Usage

  1. Open Notion in Chrome
  2. Click on any text block to start editing
  3. Press Ctrl+Space (or click the ✨ icon) to get suggestions
  4. Choose a suggestion that matches your style
  5. Accept or dismiss as needed

Development

Backend Development

# Install development dependencies
pip install -r requirements-dev.txt

# Run tests
pytest tests/

# Start server in development mode
uvicorn app.main:app --reload

Extension Development

The Chrome extension uses vanilla JavaScript for maximum compatibility.

# Navigate to extension directory
cd chrome-extension

# Install dev dependencies if editing with npm tools
npm install

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors