Home/Projects/NotePal
LiveEducation / AI2026

NotePal

Turn any source into AI study notes, quizzes & flashcards

NotePal

Role

Architect & Engineer

Year

2026

Status

Live

Overview

NotePal turns any learning source into ready-to-study artifacts. Upload audio, a PDF, a YouTube link, or paste text; the backend extracts the content, classifies it, and uses an LLM to generate a clean study note eagerly, with mind maps, quizzes, and flashcards built lazily on demand and cached. Heavy extraction work (PDF parsing, YouTube downloading, long-audio transcription) is pushed onto serverless Lambdas and an SQS-fed Fargate worker so the API stays light and cheap to run. A v2 RAG layer chunks embeddings into Pinecone so students can chat with their own notes and get grounded, source-aware answers. Alongside the web app, a React Native mobile app brings the full study flow to Android and iOS, with subscriptions handled through RevenueCat.

Highlights

  • Cut AWS cost by offloading PDF/YouTube/long-audio work to Lambda + a single Fargate worker instead of an always-on heavy server

  • Chunked embeddings into Pinecone for noticeably better RAG-chat answers than whole-document vectors

  • One backend serves both a Next.js web app and a React Native mobile app

  • Cross-platform subscriptions via RevenueCat (mobile) alongside Stripe (web)

  • Eager note generation + cached lazy artifacts keeps LLM token spend bounded

  • Firebase token verification at the edge; service-to-service callbacks secured with a shared secret

Capabilities

01

Multi-Source Ingestion

One pipeline accepts audio, PDF, YouTube, and raw text. Each source type routes to the right extractor before generation, with presigned R2 uploads for large files.

02

Async Generation Pipeline

Golden rule: generation is always async. Sources are enqueued to SQS; an extract → classify → generate worker produces the note eagerly and increments usage only on success.

03

Study Artifacts

From a single note the app lazily builds mind maps, quizzes, and flashcards via the LLM — cached on first build and never regenerated, keeping token spend predictable.

04

Serverless Extraction

PDF parsing (PyMuPDF + OCR fallback) and YouTube transcript/audio pulls (yt-dlp) run in dedicated Lambdas, so resource-heavy work never burdens the always-on worker.

05

Long-Audio Whisper Chunking

Audio over the 25MB Whisper limit is split into ~10-min mono segments with ffmpeg, language-pinned on the first chunk, transcribed in order, and concatenated.

06

RAG Chat Over Your Notes

A v2 retrieval layer chunks embeddings into Pinecone so students can chat with their own material and get grounded, citation-aware answers instead of generic LLM output.

07

Cross-Platform Mobile App

A React Native app brings the full capture-and-study flow to Android and iOS — record or upload a source on the go, browse generated notes, and run quizzes and flashcards from your phone.

08

Unified Billing (Stripe + RevenueCat)

Web-first Stripe subscriptions for the browser; in-app purchases on mobile run through RevenueCat. Plan state is mutated only by signature-verified webhooks — the client is never trusted for upgrades.

Mobile app

Available now on the App Store and Google Play.

Tech stack

Next.jsReact NativeFastAPIPostgreSQLSQLAlchemyFirebase AuthAWS LambdaAmazon SQSCloudflare R2WhisperOpenAIPineconeStripeRevenueCatDockerECS Fargate

Have a similar idea? Let's talk.