Learning portal investigation
Контекст
Маємо PDF-матеріали для навчання сина і плануємо довантажувати ще: математика, фізика, хімія, біологія та інші предмети. Ціль — не просто складувати PDF-и, а зробити освітній вебпортал, де:
- матеріали можна читати прямо на сайті, а не відкривати як сирі PDF;
- контент структурований по класах, предметах, темах, тижнях, модулях;
- є тести / quiz / self-check;
- є хороший UI/UX для дитини й для батьків;
- далі можна додати персоналізацію та AI-based tutoring.
Що насправді треба будувати
Не “сайт з PDF”, а content pipeline + learning experience.
Проєкт має 4 шари:
- Ingestion layer — забір PDF, OCR/парсинг, нормалізація, сегментація по уроках/темах.
- Content model — предмет → клас → тема → урок → блоки контенту → запитання.
- Learning UI — портал для читання матеріалів, навігації, прогресу, тестування.
- AI layer — допомога з конвертацією контенту, генерацією quiz, пояснень, summaries, tutoring flows.
Найкращий практичний підхід сьогодні
1. Не рендерити PDF як “основний UX”
PDF повинен бути джерелом, а не кінцевим інтерфейсом.
Правильніше:
- PDF → extraction → structured markdown / HTML / JSON blocks
- далі на сайті показувати вже:
- теми
- пояснення
- формули
- таблиці
- ілюстрації
- завдання
- quiz blocks
Чому це важливо:
- кращий mobile UX;
- кращий search;
- легше додати тести;
- легше адаптувати контент під дитину;
- легше додати AI tutoring.
2. PDF viewer лишити як fallback
На сторінці уроку можна мати:
- primary view: нормальний HTML lesson page
- secondary view: “відкрити оригінальний PDF”
Тобто PDF не зникає, але перестає бути головним experience.
Рекомендований стек
Frontend / product layer
Найкращий practical стек для такого продукту:
- Next.js — основний web framework
- Vercel — hosting, preview deploys, швидкий product loop
- Tailwind CSS — швидка UI розробка
- shadcn/ui — strong baseline для якісного UI без кустарщини
- MDX або structured JSON content — для lesson pages
Чому не Hugo як основа цього продукту:
- Hugo ок для digest/blog/docs;
- але для interactive learning portal він слабший як app platform;
- тести, progress, personalized flows, auth, analytics, AI features — краще робити в Next.js.
Content / data layer
- Postgres (через Supabase або Neon) — metadata, lessons, quizzes, progress
- Object storage (S3 / R2 / Vercel Blob) — оригінальні PDF та assets
- Structured content format:
- markdown/MDX для authored lesson pages
- JSON schema для quiz/questions/learning blocks
Auth / user layer
- Supabase Auth або Clerk
Для сімейного порталу я б схилився до Supabase як більш простого full-stack компромісу.
Search
- початково: Postgres full-text search
- пізніше: Meilisearch / Typesense / Algolia
Testing / quiz engine
Потрібна окрема модель:
- question
- options
- answer
- explanation
- difficulty
- topic
- grade
- source lesson
Це важливо не змішувати з “просто markdown текстом”.
AI stack: що реально варто використовувати
1. Clawbot multi-agent workflow — так, це корисно
Для цього проєкту мультиагенти дуже доречні, бо робота природно ділиться на підзадачі:
- agent: ingestion — парсинг PDF, OCR, cleanup
- agent: curriculum mapper — розбиття на предмети/уроки/теми
- agent: quiz generator — генерація тестів із source material
- agent: UX/content editor — покращення формулювань, readability для дитини
- agent: engineering — Next.js / API / DB / deploy
Тобто OpenClaw / clawbot multi-agent тут — хороший orchestration layer.
2. Claude Opus 4.x — так, але не як єдиний інструмент
Для цього завдання сильні моделі типу Claude Opus корисні для:
- long-context reading PDF extracts;
- curriculum restructuring;
- написання lesson pages;
- генерації пояснень і quiz;
- product / UX thinking.
Але важливо:
- не покладати все на один великий промпт;
- краще будувати pipeline з verification;
- quiz generation має перевірятися source-backed rules.
Тобто Opus — хороший “reasoning/content engine”, але не заміна системному pipeline.
3. Що ще варто додати
- OCR / extraction tools: Marker, PyMuPDF, pdfplumber, OCRmyPDF, Tesseract (де треба)
- Embeddings / retrieval — тільки якщо робитимеш AI tutor або semantic search
- Evaluation layer — перевірка якості quiz і summaries
Яка архітектура виглядає найздоровіше
Phase 1 — MVP
Зробити:
- Next.js app
- Vercel deploy
- Supabase DB
- object storage for PDFs
- ingestion pipeline: PDF → structured lessons
- уроки в HTML/MDX
- simple quiz engine
- basic parent/student UX
Phase 2 — Better UX
Додати:
- progress tracking
- topic mastery
- recommended next lesson
- cleaner navigation by grade/subject/topic
- search
- saved bookmarks / continue reading
Phase 3 — AI tutor
Додати:
- “поясни простіше”
- “зроби 5 питань по цій темі”
- “де я помиляюсь”
- adaptive difficulty
- child-safe tutoring tone
Який UI/UX потрібен
Ключова думка: це має бути не LMS for admins, а child-friendly learning product.
Що важливо:
- великі чіткі картки предметів
- простий маршрут: клас → предмет → тема → урок
- мінімум clutter
- progress bar
- після уроку відразу quiz
- explanations after mistakes
- “continue where you left off”
- окрема parent view для огляду progress
Для дизайну
Рекомендований стек:
- Tailwind + shadcn/ui для baseline
- Figma або v0-style prototyping для UI ideation
- AI можна використовувати для генерації first-pass layouts, але фінальний UX треба руками шліфувати
Що я б не радив
1. Не будувати це як просто “сховище PDF + chat”
Це буде слабкий UX і погана навчальна система.
2. Не починати з over-engineered AI tutor
Спочатку потрібен:
- якісний контент-модель
- lesson structure
- quiz engine
- navigation
Без цього AI лише маскує хаос.
3. Не брати Hugo як основну app platform
Для статей/блогу — чудово. Для interactive learning portal — ні.
Мій recommended toolset
Product stack
- Next.js
- Vercel
- Supabase
- Tailwind CSS
- shadcn/ui
- MDX + JSON content schema
AI / automation stack
- OpenClaw / clawbot multi-agents — orchestration
- Claude Opus-class model — content restructuring, deep reasoning, quiz generation
- PDF extraction stack — Marker / PyMuPDF / OCRmyPDF / pdfplumber
- Optional retrieval layer — later, for AI tutor/search
Practical recommendation
Якби я будував це з нуля сьогодні, я б робив так:
- Залишив би Hugo для notes / digest / documentation
- Основний learning portal будував би окремо на Next.js
- PDF перетворював би в structured lessons
- Quiz engine тримав би як first-class feature, а не “додаток потім”
- AI використовував би для content production and review, а не як substitute for architecture
Good references
-
Vercel / Next.js docs
https://nextjs.org/docs -
shadcn/ui
https://ui.shadcn.com/ -
Supabase
https://supabase.com/docs -
OpenAI / structured generation patterns
https://platform.openai.com/docs/guides/structured-outputs -
Anthropic prompting / long-context workflows
https://docs.anthropic.com/ -
OCRmyPDF
https://ocrmypdf.readthedocs.io/ -
PyMuPDF
https://pymupdf.readthedocs.io/