Skip to content

vantage-ola/summarise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Summarise (offline now)

Turn YouTube videos into LLM-processed output — summaries, key takeaways, action items, and more. Paste a URL, pick a prompt, get structured output.


The core loop

Paste YouTube URL -> Pick or write a prompt -> Get structured output -> Copy / save

How LLM dispatch works

Two tracks, one interface:

  • Platform default (free tier) — requests route through a house OpenRouter key (openrouter/auto). New users get this with no setup. 20 requests/month/user. When the quota's exhausted, the app prompts the user to BYOK or wait.
  • BYOK (unlimited) — users can store one key per provider (Anthropic, OpenAI, OpenRouter, Gemini) and select an active provider in settings. Requests use the user's key and bypass the quota entirely.

No per-request model picker — the backend sends each request to that provider's default model.


Repo layout

├── web/          Next.js 16 + Tailwind v4 + shadcn/ui  (nested git repo)
├── api/          Flask backend (app factory, blueprints, Flask-Migrate)
├── docs/         Product spec, design system, UI prompts
└── README.md     This file

Tech stack

Layer Choice
Frontend Next.js 16 (App Router, Turbopack, React 19)
Styling Tailwind v4 + shadcn/ui (Radix Maia, Stone base)
Backend Python + Flask
Database PostgreSQL
Auth Google OAuth 2.0 (JWT in httpOnly cookies)
Transcript youtube-transcript-api
LLM (platform) OpenRouter (openrouter/auto) via house key
LLM (BYOK) Anthropic, OpenAI, OpenRouter, Gemini
API key storage DB, AES-256 encrypted per key

Getting started

Prerequisites

  • bun (for web/)
  • Python 3.12+ (for api/)
  • PostgreSQL running locally

Web

cd web
cp .env.local.example .env.local   # fill in your values
bun install
bun run dev                         # next dev --turbopack

Other scripts:

Command Description
bun run build Production build
bun run start Start production server
bun run lint ESLint
bun run typecheck tsc --noEmit
bun run format Prettier

API

cd api
cp .env.example .env               # fill in your values
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
flask db upgrade
python run.py

The Flask app uses an app-factory pattern with blueprints.


Documentation

File Contents
docs/SPEC.md Features, data models, API endpoints, /api/process flow, monetization phases, MVP scope
docs/DESIGN.md Design system — retro-modern simplicity, warm earth tones, mid-century type, light-mode-first
docs/STITCH_PROMPTS.md Page-by-page UI prompts

Out of scope (MVP)

Mobile app, WhatsApp/Telegram integration, video uploads (YouTube only), team accounts, Notion/Docs export, per-request model picker.

About

youtube video to text.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors