https://github.com/pibulus/talktype
Your transcription ghost friend - voice to text with soft personality
https://github.com/pibulus/talktype
ghost svelte transcription voice-to-text
Last synced: about 1 month ago
JSON representation
Your transcription ghost friend - voice to text with soft personality
- Host: GitHub
- URL: https://github.com/pibulus/talktype
- Owner: pibulus
- License: other
- Created: 2025-08-15T16:04:24.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-05-07T10:37:17.000Z (about 2 months ago)
- Last Synced: 2026-05-07T12:34:48.022Z (about 2 months ago)
- Topics: ghost, svelte, transcription, voice-to-text
- Language: JavaScript
- Size: 7.53 MB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Audit: AUDIT_FOLLOWUP_2025_11_22.md
Awesome Lists containing this project
README
# TalkType
Your transcription ghost friend. Voice-to-text that doesn't suck.
## β¨ Features
### Progressive Transcription
- **β‘ Instant Start**: Web Speech API for 0ms latency (Chrome/Edge)
- **π Privacy Mode**: 100% offline transcription with Whisper
- **π€ Auto Mode**: Let TalkType choose the best option for you
- **Smart Model Selection**: Automatically picks optimal Distil-Whisper model based on your device
### Delightful Experience
- **π» Ghost Personality**: Animated companion with 4 themes (peach, mint, bubblegum, rainbow)
- **π± PWA Installable**: Works offline, installs like a native app
- **π¨ Beautiful Design**: Pastel-punk aesthetic with smooth animations
- **π Quick Copy**: One-click copy to clipboard
### Privacy & Performance
- **100% Private**: All transcription happens locally (in Privacy mode)
- **Distil-Whisper Models**: 6x faster, 50% smaller than regular Whisper
- **WebGPU Ready**: Future-proofed for 10-100x speed improvements
- **No Subscriptions**: Free forever, no accounts, no data collection
## Developing
Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server:
```bash
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
```
> π **New**: the first time you trigger any Gemini-powered feature, the browser
> will prompt you for the `API_AUTH_TOKEN` from `.env`. The token is only used
> to open an HttpOnly session cookie so random clients canβt drain your quota.
>
> Set `API_AUTH_TOKEN` and `API_COOKIE_SECRET` (any 32+ char random string) in
> your `.env`, and tweak `API_RATE_LIMIT`, `API_RATE_WINDOW_MS`, or
> `API_SESSION_TTL_MS` if you need different defaults.
## Deploying (Netlify)
We ship with `@sveltejs/adapter-netlify` and a `netlify.toml` that points Netlify at the correct build output. To deploy:
1. **Install deps**: `npm install`
2. **Set environment variables** in Netlify β Site settings β Environment:
- `VITE_GEMINI_API_KEY`
- `API_AUTH_TOKEN`
- `API_COOKIE_SECRET` (32+ random chars)
- Optional: `API_RATE_LIMIT`, `API_RATE_WINDOW_MS`, `API_SESSION_TTL_MS`, `MAX_UPLOAD_BYTES`, `API_COOKIE_SECURE=true`
3. **Build command**: `npm run build`
4. **Publish directory**: Netlify auto-detects `.svelte-kit/output/client` via the adapter (no manual override needed)
Hit βDeployβ and Netlify will generate the serverless functions + static assets automatically.
## Building
To create a production version of your app:
```bash
npm run build
```
You can preview the production build with `npm run preview`.
## Quality Assurance
We use Lighthouse CI to maintain high performance, accessibility, and best practices standards.
```bash
# Run Lighthouse CI tests
npm run lighthouse
```
This will:
1. Build the production version of the app
2. Run Lighthouse audits against key metrics
3. Generate reports in the `lighthouse-reports` directory
### Thresholds
- Performance: 85+
- Accessibility: 90+
- Best Practices: 85+
- SEO: 90+
Failing these thresholds will cause warnings or errors in the CI process. We prioritize accessibility with stricter error thresholds.