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 pdflatex is 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

Share this project:

Updates