Fast • Private-friendly • Built for creators
Live App • Features • Tech Stack • Self-hosting • Social Preview • Contributing
HappySRT is a modern web app for turning audio/video into:
- Transcripts (with timestamps / SRT)
- Translations (subtitle tracks in other languages)
- Summaries (highlights + bullet notes)
It’s built as a threaded workspace, so each project can keep its own uploads, outputs, and exports.
⭐ If you find this useful, please star the repo — it helps others discover the project.
- Transcription → clean text with timestamps (SRT-ready)
- Translation → generate multi-language subtitle tracks
- Summarization → highlights + bullet points
- Threads → separate workspaces per project
- Exports → save/copy/download outputs (SRT/Text)
- Token-based usage UI → “media tokens” shown in the sidebar + usage badges
- Billing flow → upgrade plans + Stripe checkout/portal hooks
- PWA-ready (optional) installable app experience
- Clean UI → styled-components + minimal “red as accent” design
- Next.js (Pages Router)
- React
- styled-components
- Appwrite (auth / DB / storage)
- FFmpeg (in-browser) for media handling
- Stripe (billing / checkout / customer portal)
- Create (or open) a thread from the left sidebar.
- Upload audio/video (or paste a link if enabled).
- Choose what you want to run:
- Transcription
- Translation
- Summarization
- Outputs show up inside the thread as the run completes.
- Export/copy/save results (ex: SRT / Text).
- The UI shows your Media Tokens balance.
- Running jobs consumes tokens based on media size/length and selected actions.
- If you’re running low, use Upgrade to purchase a plan / more capacity.
- Billing is handled via Stripe (checkout + portal).
HappySRT is fully open source and self-hostable. You’ll need to provide your own:
- Appwrite project (auth + DB + storage)
- Stripe keys (if enabling billing)
- Any model/provider credentials you use for transcription/translation/summarization
Create a .env.local file in the project root.
Tip: to see exactly what’s required in your codebase, search for process.env..
Common categories:
- Appwrite endpoint / project ID / keys
- Stripe secret key / webhook secret (if used)
- Storage credentials (S3 / B2, if configured)
- Any AI provider keys (if configured)
This repo includes an OG image builder page:
- Visit
/og - Click Download PNG
- Put the file at
public/og.png - Reference it in your SEO tags as the
og:image
Issues and PRs are welcome.
Good first contributions:
- UI/UX polish
- Better export options (SRT/JSON/CSV)
- More language support / presets
- Performance improvements
- Docs + deployment guides (Vercel, Amplify, Docker, etc.)
Suggested workflow:
- Fork → branch → PR
- Never commit secrets (use
.env.local) - Treat uploaded media and generated transcripts as sensitive data
- If you enable external providers, review their data retention policies
Add your license here (MIT / Apache-2.0 / etc).