PDF parsed via embedded LLM. Extracted: 1 student profile, 6 assessment scores, 4 counsellor notes.
Drop a file. We parse, tag, store.
Upload CSV exports, PDF reports, or scanned notes. The pipeline classifies the source, extracts a structured summary, applies LLM-style tags, and persists the row — all in one round-trip.
accepts: .csv (auto-parsed) · .pdf (LLM-tagged) · .png / .jpg (OCR-queued) · others (stored)
Recent uploads
20 rows · most recent firstPDF parsed via embedded LLM. Extracted: 1 student profile, 6 assessment scores, 4 counsellor notes.
Image OCR'd: 12 lines of handwritten notes recovered. Tagged: stream-choice, parent-discussion.
Auto-parsed: 47 student rows, 6 RIASEC dimensions detected, 3 missing values flagged.
Auto-parsed: 47 student rows, 6 RIASEC dimensions detected, 3 missing values flagged.
PDF parsed via embedded LLM. Extracted: 1 student profile, 6 assessment scores, 4 counsellor notes.
Image OCR'd: 12 lines of handwritten notes recovered. Tagged: stream-choice, parent-discussion.
Auto-parsed: 47 student rows, 6 RIASEC dimensions detected, 3 missing values flagged.
PDF parsed via embedded LLM. Extracted: 1 student profile, 6 assessment scores, 4 counsellor notes.
PDF parsed via embedded LLM. Extracted: 1 student profile, 6 assessment scores, 4 counsellor notes.
Auto-parsed: 47 student rows, 6 RIASEC dimensions detected, 3 missing values flagged.
PDF parsed via embedded LLM. Extracted: 1 student profile, 6 assessment scores, 4 counsellor notes.
Image OCR'd: 12 lines of handwritten notes recovered. Tagged: stream-choice, parent-discussion.
Image OCR'd: 12 lines of handwritten notes recovered. Tagged: stream-choice, parent-discussion.
PDF parsed via embedded LLM. Extracted: 1 student profile, 6 assessment scores, 4 counsellor notes.
Auto-parsed: 47 student rows, 6 RIASEC dimensions detected, 3 missing values flagged.
PDF parsed via embedded LLM. Extracted: 1 student profile, 6 assessment scores, 4 counsellor notes.
Auto-parsed: 47 student rows, 6 RIASEC dimensions detected, 3 missing values flagged.
Auto-parsed: 47 student rows, 6 RIASEC dimensions detected, 3 missing values flagged.
Auto-parsed: 47 student rows, 6 RIASEC dimensions detected, 3 missing values flagged.
CSV, PDF, or transcript — land structured, every time
Multipart form, no JS framework. File hits the Axum handler, gets stored on disk under uploads/ with a sha256 keyed name.
Type is sniffed from extension + magic bytes. CSV → row parser. PDF → pdf-extract. Transcript → plain-text branch.
LLM extracts a 1-line summary + 4–6 topical tags (e.g. cs, analytical, commerce-aspirational). In demo mode tags are deterministic from filename.
Row written to uploads table, FTS index refreshed automatically by Postgres. Discovery picks it up on next search.