Files
wisp/package.json
T
NilsBriggen 9f42ee2460
CI / test (push) Has been cancelled
CI / deploy-web (push) Has been cancelled
CI / build-apk (push) Has been cancelled
Build Wisp: on-device transcription studio (web + native, one codebase)
Private, offline speech-to-text that runs Whisper on the user's own device —
free, no account, no per-minute fees. Replaces Otter.ai / Rev.

- Pure, tested engine: chunking, overlap timestamp-stitching, exports
  (SRT/VTT/TXT/MD/JSON), WAV codec, resampler, job queue, model catalog (142 tests).
- Platform-abstracted TranscriptionEngine: transformers.js on web (loaded from
  CDN at runtime to dodge Metro's onnxruntime-web bundling limits), whisper.rn
  on native. Shared pipeline orchestrates decode -> chunk -> transcribe -> stitch.
- Cross-platform StorageRepo (Dexie web / expo-sqlite native), Zod-validated.
- UI: library + search, import, live-progress transcription, synced click-to-seek
  editor, multi-format export; model picker + privacy in settings.
- Web ships as a single-page PWA with COOP/COEP isolation for threaded WASM;
  Docker (nginx) image + Traefik compose for wisp.briggen.dev.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 17:54:21 +02:00

59 lines
1.6 KiB
JSON

{
"name": "wisp",
"main": "expo-router/entry",
"version": "1.0.0",
"dependencies": {
"@expo/ui": "~56.0.17",
"@huggingface/transformers": "^4.2.0",
"dexie": "^4.4.3",
"expo": "~56.0.11",
"expo-constants": "~56.0.18",
"expo-device": "~56.0.4",
"expo-document-picker": "^56.0.4",
"expo-font": "~56.0.6",
"expo-glass-effect": "~56.0.4",
"expo-image": "~56.0.11",
"expo-linking": "~56.0.14",
"expo-router": "~56.2.10",
"expo-splash-screen": "~56.0.10",
"expo-sqlite": "^56.0.5",
"expo-status-bar": "~56.0.4",
"expo-symbols": "~56.0.6",
"expo-system-ui": "~56.0.5",
"expo-web-browser": "~56.0.5",
"react": "19.2.3",
"react-dom": "19.2.3",
"react-native": "0.85.3",
"react-native-gesture-handler": "~2.31.1",
"react-native-reanimated": "4.3.1",
"react-native-safe-area-context": "~5.7.0",
"react-native-screens": "4.25.2",
"react-native-web": "~0.21.0",
"react-native-worklets": "0.8.3",
"whisper.rn": "^0.6.0",
"zod": "^4.4.3",
"zustand": "^5.0.14"
},
"devDependencies": {
"@types/node": "^25.9.3",
"@types/react": "~19.2.2",
"fake-indexeddb": "^6.2.5",
"fast-check": "^4.8.0",
"typescript": "~6.0.3",
"vitest": "^4.1.8"
},
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"export:web": "expo export --platform web",
"prebuild:android": "expo prebuild --platform android --no-install",
"test": "vitest run",
"test:watch": "vitest",
"typecheck": "tsc --noEmit",
"lint": "expo lint"
},
"private": true
}