Skip to content

tansautn/sofir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SOFIR - AI 'sofer'

Sofir is an application that uses the Gemini API to provide real-time transcription of audio captured from the user's microphone. The transcribed text appears instantly, creating a seamless speech-to-text experience.

This project is built with React, TypeScript, Vite, and Tauri for cross-platform native desktop deployment.

NEW: Complete native desktop support with Tauri! See TAURI_SETUP.md for detailed setup and feature documentation.

Features

Core Features

  • Real-time audio transcription using Gemini 2.5 Flash Native Audio
  • Visual audio waveform display
  • Mute/unmute functionality during recording
  • Option to listen to the recorded audio after transcription stops
  • Cross-platform support (Windows, macOS, Linux) via Tauri

Native Desktop Features

  • Native File Dialogs: Save and load transcripts with OS-native file pickers
  • System Notifications: Get notified when transcription completes
  • Persistent Storage: Transcripts saved to OS-appropriate app data directories
  • Portable Mode: Create standalone builds that run without installation
  • Native Performance: Rust backend for optimal performance

Prerequisites

Before you begin, ensure you have the following installed on your system:

  1. Node.js and npm: Download & Install Node.js (npm is included).
  2. Rust Toolchain: Follow the official instructions at rustup.rs to install Rust and Cargo.
  3. Tauri Prerequisites: Complete the setup for your specific operating system by following the Tauri Prerequisites Guide.

Setup Project Environment

  1. Clone the repository:

    git clone https://github.com/tansautn/sofir.git
    cd sofir
  2. Install dependencies: This command will install all the necessary Node.js packages for the frontend.

    npm install
  3. API Key Configuration: This application requires a Google Gemini API key to function. Create a file named .env.local in the root directory of the project.

    Add your API key to this file like so:

    GEMINI_API_KEY=YOUR_API_KEY_HERE
    

    The .gitignore file is already configured to prevent this file from being committed to version control.

Run Development Environment

To run the application in development mode with hot-reloading:

npm run tauri dev

This command will start the Vite development server and launch the Tauri application window.

Note on HTTPS: The development server runs on https://localhost:3000. The first time you run it, your browser (and the webview) might show a security warning about a self-signed certificate. This is expected and safe for local development. Simply accept the warning to proceed.

Build the Project

You can build the application into a native installer or a portable package.

Standard Installer (NSIS for Windows)

This command bundles the application into a standard NSIS installer for Windows.

npm run tauri build

The output will be located in the src-tauri/target/release/bundle/nsis/ directory.

Portable Version (Windows)

A portable version runs directly from a folder without needing installation and stores its data within that folder.

To create a portable build, run the following script:

npm run build:portable

This will:

  1. Build the release executable.
  2. Create a portable.txt file, which signals the app to run in portable mode.
  3. Package the executable, required DLLs, and the portable.txt file into a .zip archive.

The final portable package (sofir-vX.X.X-portable-windows.zip) will be in the src-tauri/target/release/ directory. Simply unzip and run the .exe file.

About

A `Sofer` living alongside with your system

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  
  •  

Packages

 
 
 

Contributors