Skip to content

blending the communication barrier between man and machine

License

Notifications You must be signed in to change notification settings

bwanedead/sinap

Repository files navigation

Sinap

Sinap is a cognitive layer between thought and digital action, designed to make interaction with your computer as fluid and high-bandwidth as your stream of consciousness.

Features

Phase 1 - TTS MVP (Current)

  • Text-to-Speech: Highlight text anywhere on your system and trigger with a triple right-click or Ctrl+Shift+S to hear it spoken using natural voices from OpenAI.
  • Minimal UI: Clean interface with playback controls and status indicators.
  • Flow Bar: Optional docked UI that floats at the bottom of the screen for quick access.

Upcoming Features

  • Speech-to-Text: Speak into your mic and have words transcribed instantly.
  • Thought Feed: Save snippets, notes, and thoughts in a timestamped feed.
  • LLM Integration: Summarize content, get answers, and continue threads.

Quick Start

  1. Install Rust
  2. Install Node.js and Yarn
  3. Install Tauri Prerequisites: Ensure you have the necessary platform-specific dependencies (like C++ build tools, WebView2/WebKitGTK) for Tauri development before proceeding. Follow the official guide: Tauri Prerequisites
  4. Clone the repository:
    git clone https://github.com/bwanedead/sinap.git
    cd sinap
  5. For the best development experience, open the project in VS Code using the workspace file:
    code sinap.code-workspace
  6. Set up the desktop app frontend:
    cd desktop
    yarn install
  7. Create a .env file in the desktop directory for your OpenAI API key:
    # In the /desktop folder:
    # Option 1: Use notepad (Windows)
    notepad .env 
    # Option 2: Use echo (Cmd/PowerShell) - replace placeholder
    echo OPENAI_API_KEY=your_actual_openai_api_key_here > .env
    # Option 3: Use touch/nano (Git Bash/Linux/macOS)
    # touch .env
    # nano .env 
    Ensure the .env file contains: OPENAI_API_KEY=your_actual_openai_api_key_here
  8. Run the development server (from the desktop directory):
    yarn tauri dev
    This command compiles the Rust backend and starts the React frontend.

Usage

  1. Start the Sinap app using yarn tauri dev (after setup).
  2. Highlight text in any application.
  3. Trigger TTS: Triple right-click or press Ctrl+Shift+S.
  4. Sinap reads the text aloud using OpenAI's TTS API.
  5. Use the app interface to:
    • Control playback (stop, potentially restart - depending on current implementation).
    • Toggle the Flow Bar (minimal floating UI).
    • Access settings (if implemented).

Troubleshooting

  • No Sound: Make sure your audio device is working and not muted.
  • API Key Error: Ensure you've added your actual OpenAI API key to the .env file.
  • Triple Right-Click Not Working: Some applications may intercept right-clicks. Try using the Ctrl+Shift+S shortcut instead.
  • "No Text Selected" Error: Highlight text before triggering TTS. The app needs text to be selected first.
  • TypeScript/CSS Errors in VS Code: Use the provided workspace file (sinap.code-workspace) to open the project, which includes proper configuration.

Development

This project combines a Rust backend with a React frontend using Tauri.

Core Technologies:

  • Tauri: Framework for building desktop apps with web tech + Rust backend.
  • Rust: Backend logic for system interaction, API calls, and audio.
    • Key Crates (likely): tokio (async), reqwest (HTTP), rodio (audio), clipboard-master/arboard (clipboard), global_hotkey (shortcuts), serde (data handling).
  • React: Frontend UI library.
  • TypeScript: Type safety for frontend code.
  • Tailwind CSS: Utility-first CSS styling.
  • Vite: Frontend build tool.
  • OpenAI API: Text-to-Speech service.

For more details, see the setup guide, project plan, and changelog.

Vision

Sinap is not just an app—it's the beginning of a personal operating system that extends your cognition, remembers what you were doing, and lets you move through ideas seamlessly. Learn more in our project plan.

License

MIT License

About

blending the communication barrier between man and machine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages