Skip to content

vmt v2: monorepo, scribe, libsql & vmt.sh - #9

Merged
dromzeh merged 10 commits into
mainfrom
marc/fixup
Jul 24, 2026
Merged

dromzeh merged 10 commits into
mainfrom
marc/fixup

Conversation

@dromzeh

@dromzeh dromzeh commented Jul 24, 2026

Copy link
Copy Markdown
Member

closes #8, closes #7, closes #6

full rework of vmt into a monorepo: a rebuilt bot in apps/bot, and a brand new site for vmt.sh in apps/web.

bot (apps/bot)

  • elevenlabs scribe stt when a key is set, google sr fallback for keyless self-hosting; deepl translation, both with exponential retry on transient failures
  • libsql persistence: local file by default, turso via env; sha256 transcript + translation caching so a clip is never transcribed twice
  • per-user daily quotas in seconds of audio (DAILY_LIMIT_SECONDS, off by default)
  • long voice notes get a paged embed with a transcription/translation dropdown
  • env validation with all-problems-at-once errors, proper logging (no transcript content ever logged), uv + ruff + basedpyright + 30 tests

web (apps/web)

  • astro + react + tailwind 4, bun-managed; deploys to cloudflare workers as vmt-web (wrangler config included)
  • full seo/meta + sitemap + robots

infra

  • dockerfile + compose for one-command self-hosting, railway config
  • ci: lint → format → type check → test/build for both apps; commitlint + husky

breaking

  • bot moved to apps/bot, runs as python -m vmt, new env vars in .env.example
  • railway template needs updating (volume at /app/data, or the sqld service setup)

@dromzeh dromzeh self-assigned this Jul 24, 2026
@dromzeh dromzeh added the enhancement New feature or request label Jul 24, 2026
@dromzeh
dromzeh merged commit d492441 into main Jul 24, 2026
3 checks passed
@dromzeh
dromzeh deleted the marc/fixup branch July 24, 2026 10:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

update readme badges usage limit per user on public deployment look into elevenlabs api as secondary provider

1 participant