Back to work
Consumer AI · monetization·v1.0 live on Chrome Web Store · Stripe Pro tier active

ravenote

A Chrome extension that auto-captures lectures from Udemy and YouTube, generates AI study notes, and quizzes you on them. Live on the Chrome Web Store with a Stripe-backed Pro tier.

In one sentenceChrome extension that turns Udemy and YouTube lectures into AI study notes and quizzes. Free tier is bring-your-own-OpenRouter-key; Pro tier proxies through a backend that reconciles generation cost against Stripe revenue. Live on the Chrome Web Store with paying users.

ravenote.xyzSolo PM + builder, product, pricing, backend, GTM

Stack

Chrome extension (MV3)OpenRouter multi-model routingStripe subscriptionsFirebase Auth + FirestoreVercel Functions (backend proxy)Edge Config (cost tracking)

The call I'd own

Free tier is bring-your-own-OpenRouter-key. It caps viral growth because users need to set up an account elsewhere, but it keeps COGS inside margin from day one. Before external funding that is the correct tradeoff. I would make the same call again.

The problem

Self-learners on Udemy and YouTube spend hours in passive video playback. The comprehension wins they want, structured notes, spaced retrieval quizzes, require re-watching and manual effort. Generative models can do this in seconds; nobody had shipped a zero-friction capture loop inside the actual learning surface.

What it does

Content scripts on Udemy and YouTube silently capture the lecture transcript as you watch, then one-click generates structured notes (headings, key concepts, summary) and a short recall quiz.

Free tier: 3 lectures/day, bring-your-own OpenRouter key, users own the cost.

Pro tier (Stripe subscription): unlimited generation via our backend proxy that hides the key; we absorb the LLM cost and reconcile against subscription revenue.

PM decisions I'm proud of

Cost-aware routing as a product feature. The backend defaults to Sonnet 4.6 and falls back across Gemini / Qwen / OpenAI via OpenRouter if the primary errors. When Anthropic retires old 3.5 models, our router auto-remaps, zero user-facing break.

Bring-your-own-key for free tier is the anti-VC-burn lever. Free users can't spike our costs; Pro users pay for abstraction (they don't want to manage keys). This kept COGS inside margin from day one.

Webhook-based cost reconciliation. OpenRouter reports actual generation cost ~1s after the response; we store it and reconcile against the Stripe subscription. If a user is in deficit we know which model choices to rebalance.

Tradeoffs I'd revisit

I used Firebase Auth + Firestore because it's the fastest path to production. At scale the cold-start on Vercel Functions + Firestore is visible; a Cloudflare Workers + D1 migration is on the list.

Model choice default is Sonnet 4.6. It's right for quality, but for bullet-style notes a cheaper model with a tighter prompt gets 90% of the win. A/B on the free tier is overdue.

Want to talk about ravenote?

Currently taking conversations about AI PM and founding PM roles in the UK, Singapore, and Indonesia. Remote also works. Fastest reply is email.