Inspiration
In many schools and homes, connectivity is unreliable, data is expensive, and study time is scarce. Long articles and dense notes are hard to digest on low-end devices. We asked: what if a free, offline-first tool could turn any lesson into a small, study-ready pack - in under a minute - without paid AI or accounts? That became EduBridge Lite.
As a running example in science classes, students often meet the photosynthesis equation:
$$ 6\mathrm{CO_2} + 6\mathrm{H_2O} \rightarrow \mathrm{C_6H_{12}O_6} + 6\mathrm{O_2}. $$
EduBridge Lite turns the surrounding lesson into key points, an easy explanation, flashcards, and a quiz - even offline.
What it does
- Input: paste text or a URL, or upload a photo (OCR to text).
- Output (Lite Pack):
- Key Points (scored & deduped),
- Easy Language summary,
- Flashcards (cloze),
- Quiz (MCQ).
- Works offline: installable PWA, local My Packs library (IndexedDB).
- Listen & print: TTS controls (Play/Pause/Resume/Stop) and polished PDF export (Unicode font, atomic sections, QR back to the app).
- Import from links: serverless extractor fetches clean article text (≤5000 chars) and title.
- Privacy: no accounts, no analytics, no server DB. (Telegram bot: optional/deferred.)
How we built it
- Frontend: React + Vite, minimal CSS, shipped as a PWA (service worker, manifest).
- Heuristics (no paid LLM): sentence scoring (keywords + position + length) with Jaccard de-duplication for Key Points; simple rules for Easy Language; generators for flashcards and MCQ.
- OCR: Tesseract.js in the browser with light pre-processing and progress updates.
- TTS: Web Speech Synthesis API with reliable Stop/Pause/Resume wiring.
- PDF: jsPDF + embedded Noto Sans (Unicode) for PL/EN; fixed line heights; 3-line clamped title; atomic sections (e.g., a whole Quiz moves to the next page); footer QR (qrcode).
- Storage: IndexedDB for My Packs (save/load/delete, capped to 10).
- Serverless: Vercel function
/api/extractfor URL into clean text + title (stateless). - Deployment: Vercel static build; icons/manifest for A2HS on iOS/Android/Desktop.
Challenges we ran into
- PDF typography & layout: overlapping lines and broken sections - fixed with embedded Unicode fonts, deterministic line heights, and atomic pagination.
- Safari TTS “Stop” reliability - solved with aggressive
cancel()+ state guards. - OCR variability on low-quality photos - mitigated with pre-processing and user feedback.
- URL extraction against dynamic or paywalled sites - added fallbacks and clear errors.
- PWA quirks on iOS (A2HS discoverability) - UI hints and correct meta.
- Vercel routing/build footguns - corrected static build + output dir + PWA plugin config.
Accomplishments that we’re proud of
- A fully offline study workflow (import to generate to TTS/PDF to save) with zero paid APIs.
- Readable PDFs in Polish and English, with QR linking back to the live app.
- Deterministic heuristics that produce useful Key Points without black-box models.
- A clean, frictionless UI that works on low-end devices and poor networks.
What we learned
- Designing for constraints (low bandwidth, older phones) changes product choices for the better.
- Practical PWA patterns (service worker caching, iOS nuances) and on-device OCR/TTS.
- Why simple, explainable heuristics can beat “quick LLM glue” for accessibility, cost, and reliability.
What’s next for edubridge-lite
- More importers: TEX/DOCX.
- Template packs by subject (e.g., Biology, History) for faster study.
- Community contributions and translations.
- Telegram integration (optional) with hardened security, rate limits, and tests.
Our Team
Kamil Piejko - Technical Lead (Frontend & Generator)
- Contributions:
web/src/App.jsx, heuristics inlib/generator.js, on-device OCR/lib/ocr.js, TTS/lib/tts.js, URL import (api/extract.js+lib/extract.js), local library (lib/store.js). - Highlights: Reliable Play/Pause/Resume/Stop, robust Key Points heuristics, UX polish and accessibility.
Mateusz Grabowski - Cloud & DevOps (Hosting & PWA)
- Contributions: Vercel deploy & routing, serverless extractor, PWA manifest/icons & iOS meta, build pipeline hardening, Unicode PDF fonts delivery.
- Highlights: Stable production build, offline-first behavior, safe env setup
Joanna Pich - Documentation
- Contributions:
README.md,DEVPOST.md,PITCH_REPORT.md, slides, demo script, QA checklist. - Highlights: Clear submission pack, concise slide copy, ≤5-minute demo idea.
Built With
- css
- html
- indexeddb(local?mypacks?)
- ios)
- javascript
- npm
- react-18
- service-worker
- synthesisapi
- tesseract.js
- vercel(node.js-functions+static-hosting)
- vite
- vite-pwa/plugin
- web-manifest
- webspeech
Log in or sign up for Devpost to join the conversation.