About the project
Inspiration
We built EasySheet after watching classmates frantically condense dense lecture PDFs into last-minute cheat sheets. The math-heavy pages were the hardest part to preserve, and we wanted a tool that keeps formulas intact while still feeling editable. Seeing how often students rewrite the same equations (think $\nabla \cdot \vec{E} = \rho/\varepsilon_0$ over and over) sparked the idea.
What it does
EasySheet ingests lecture PDFs, extracts text and formulas, retrieves the most relevant chunks, and generates a concise LaTeX aid sheet you can edit in-browser. You choose a target page count, add special instructions, and get a draft that stays faithful to the original math.
How we built it
- A FastAPI backend parses PDFs with PyMuPDF, chunks content, and stores embeddings in Pinecone.
- Gemini embeddings and generation drive retrieval and LaTeX drafting.
- A Next.js + React frontend handles uploads, constraints, and a Monaco-powered LaTeX editor.
- A LaTeX renderer compiles previews when
pdflatexis available.
Challenges we ran into
- Preserving formula fidelity from mixed-quality PDF sources and ensuring math stays in proper LaTeX mode.
- Keeping end-to-end generation fast while indexing large lecture packets.
- Balancing automation with editability so users can still refine the final sheet.
Accomplishments that we're proud of
- A full upload-to-edit flow that produces a usable LaTeX draft.
- Indexed retrieval that keeps the sheet dense instead of verbose.
- A clean UI that makes “set constraints → generate → edit” feel quick.
What we learned
- Embedding quality and chunking strategy matter more than expected for dense technical material.
- PDF parsing is messy in practice; robust fallbacks are essential.
- Giving users control (page limits + instructions) builds trust in AI-generated outputs.
What's next for EasySheet
- Smarter formula extraction and equation deduplication.
- Multi-document organization (course folders, tagging, versioning).
- Collaboration features for shared study groups.
Built With
- fastapi
- gemini
- next.js
- pinecone
- python
- react
- typescript
Log in or sign up for Devpost to join the conversation.