Skip to content

Repository files navigation

Nottera 📜✨

A tactile, vintage-inspired academic note-taking environment powered by real-time typewriter dictation and Sarvam AI Saaras v3 multilingual transcription.

Live Demo React Vite Sarvam AI License


📖 Overview

Nottera brings the physical elegance of archival books, embossed leather folios, and mechanical typewriters to modern web-based academic note-taking. Designed with a distinct textbook aesthetic, it pairs classic editorial typography and parchment textures with an intelligent dual-engine voice transcription pipeline.


✨ Key Features

🎙️ Vintage Cassette Recorder & Typewriter Feed

  • Instantaneous Real-Time Dictation: Spoken words appear in real time (<50ms latency) on an emerging vintage typewriter sheet with a mechanical cursor (█).
  • Sarvam AI Saaras v3 Engine: High-fidelity Indic and Indian English transcription using Sarvam's state-of-the-art saaras:v3 model.
  • Dynamic Mechanical Reel Animation: Rotating cassette reels driven by live audio RMS energy and voice activity detection (VAD).
  • Direct Typewriter Keyboard Input: Type directly on the emerging parchment page during recording.

📚 Tactile Academic Folios & Note Library

  • Archival Folio Binders: Organize research and lecture notes into custom folios (e.g., Cognitive Science, Macroeconomics, Architecture, Discrete Mathematics).
  • Rich Document Reader: Clean serif typography (Source Serif 4), margin notes, paper textures, and bookmark tabs.
  • Instant Global Search: Filter across notes, folders, tags, and voice transcripts instantly.
  • Quick-Note Scratchpad: Capture thoughts on the fly with persistent auto-saving.

⚡ Resilient Fullstack Architecture

  • Vercel Serverless Ready: Native /api/transcribe and /api/speech-to-text endpoints configured for seamless deployment on Vercel.
  • Atomic Local Persistence: Local file-backed storage with atomic writes to ensure zero data corruption.
  • Export & Backup: Export your complete notebook catalog as a structured JSON archive at any time.

🛠️ Tech Stack

Layer Technology
Frontend React 19, Vite 8, Vanilla CSS (Design Tokens & HSL Palettes)
Typography Source Serif 4 (Google Fonts), Courier Prime
Speech-to-Text Web Speech API (Live stream) + Sarvam AI saaras:v3 (High-accuracy REST)
Backend / API Node.js Serverless Functions (Vercel) & Standalone Express/HTTP API
Audio Processing Web Audio API (16 kHz mono PCM resampling, RMS analysis, WAV encoding)
Linting & Testing Oxlint, Node.js Native Test Runner

🚀 Getting Started

Prerequisites

  • Node.js 20+ installed
  • (Optional) Sarvam AI API Key for Indic speech-to-text

Installation

  1. Clone the repository:

    git clone https://github.com/r69shabh/nottera.git
    cd nottera
  2. Install dependencies:

    npm install
  3. Configure environment variables:

    cp .env.example .env.local

    Add your Sarvam API key in .env.local:

    SARVAM_API_KEY=your_sarvam_api_key_here
  4. Start development server:

    npm run dev

    Open http://localhost:5173 in your browser.


📡 API Reference

Endpoint Method Description
/api/transcribe POST Transcribe 16kHz WAV audio using Sarvam Saaras v3
/api/bootstrap GET Fetch profile, settings, folders, and saved notes
/api/folders GET Retrieve notebook folios and categories
/api/notes?q=... GET Global search across notes and voice transcripts
/api/quick-notes POST Create a new scratchpad note
/api/voice-memos GET, POST List or save transcribed voice memos
/api/settings GET, PATCH Read or update user preferences
/api/export GET Download full JSON data archive

🧪 Development Scripts

# Start Vite client + Node API concurrently
npm run dev

# Run client only
npm run dev:client

# Lint codebase with Oxlint
npm run lint

# Run automated backend test suite
npm test

# Build production bundle
npm run build

# Start production server
npm start

🌐 Deployment to Vercel

  1. Push your repository to GitHub.
  2. Import the project into Vercel.
  3. Set the SARVAM_API_KEY Environment Variable in your Vercel project settings.
  4. Deploy!

📄 License

Distributed under the MIT License. See LICENSE for more information.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages