Skip to content

lillianwang112/axiom-study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

104 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Axiom

Axiom β€” reader with math blocks

The math study environment built for active recall β€” lecture notes, problem sets, flashcard review, and an AI tutor, all in one place
Free, ad-free, and designed for the way mathematicians actually study

πŸš€ Open App β€’ πŸ“– Quick Start β€’ ❓ FAQ

Math Study Environment Free & No Ads Firebase Sync KaTeX


Hey, everyone! πŸ‘‹

I built Axiom because I kept bouncing between my textbook PDFs, a scratch paper notebook, and a flashcard app β€” and none of them talked to each other. This is a focused math study environment designed for active recall: paste your lecture notes or textbook chapters as LaTeX, and Axiom structures them into definitions, theorems, lemmas, and proofs that you can reveal one at a time, take notes on, and review as flashcards. Problem sets live alongside the notes, linked to the relevant section, and an AI math tutor is one click away.

πŸ“‹ Table of Contents


⚑️ Quick Start (TL;DR)

  1. Open the app and click "+ Course" to add your first course (e.g. MAT 217)
  2. Click "+ Chapter" and paste in LaTeX from your lecture notes or textbook
  3. Axiom parses it into structured math blocks β€” definitions, theorems, proofs, exercises
  4. Work through each block, reveal proofs on demand, and jot annotations inline
  5. Switch to Review to drill the blocks as flashcards πŸŽ‰

πŸ“± Install as an App (PWA)

Axiom is a Progressive Web App β€” install it on your phone or computer for a fullscreen native experience, no App Store required.

iPhone/iPad (Safari):

  1. Open the app in Safari
  2. Tap the Share button (square with arrow)
  3. Scroll down and tap "Add to Home Screen"
  4. Toggle "Open as Web App" ON
  5. Tap Add β€” launches fullscreen like a real app!

Android (Chrome):

  1. Open the app in Chrome
  2. Tap the three-dot menu β†’ "Add to Home Screen" or "Install App"

Desktop (Chrome/Edge):

  1. Look for the install icon (βŠ•) in the address bar
  2. Click "Install"

Your data saves locally and syncs to the cloud if you sign in β€” so you won't lose your notes even after installing.


✨ Features at a Glance

Feature Description
πŸ“– LaTeX Reader Paste any .tex source and Axiom renders it with full KaTeX math support
🧩 Active Recall Blocks Definitions, theorems, lemmas, proofs, corollaries, and exercises β€” each collapsible
πŸ”— Clickable Cross-References \ref{}, \eqref{}, and bare Axler-style numbers (e.g. 3.21, (4.10)) open instant preview popups
πŸ—’οΈ Inline Annotations Write notes directly on any math block; they persist alongside the content
πŸ“ Problem Sets Organize homework and practice problems, link them to textbook sections
πŸƒ Flashcard Review Drill all your blocks as cards with know / still-learning tracking
πŸ’¬ AI Math Tutor Context-aware chat that knows which course and section you're studying
πŸ“Š Progress Tracking Study streaks, sections completed, problems solved β€” with a 30-day calendar
☁️ Cloud Sync Sign in with Google or email to sync across all your devices
πŸ’― 100% Free No ads, no paywalls, no subscriptions

πŸš€ How to Use

Step 1: Add a Course

Add Course Modal

Click "+ Course" in the sidebar and enter the course code (e.g. MAT 217) and full name (e.g. Honors Linear Algebra). Each course gets its own section in the sidebar and its own color-coded progress tracker.

Step 2: Load Your Lecture Notes

Add Chapter β€” paste LaTeX

Click "+ Chapter" and either:

  • Paste LaTeX directly from your notes or textbook source
  • Upload a .tex file by clicking the File tab or dragging it onto the drop zone

Axiom parses standard LaTeX environments β€” \begin{definition}, \begin{theorem}, \begin{proof}, \begin{lemma}, \begin{corollary}, \begin{exercise} β€” and renders each one as a structured, collapsible block.

Pro tip: You can also drag and drop a .tex file anywhere onto the main area to load it instantly.

Step 3: Study with Active Recall

Math blocks in reader view

Each theorem, definition, and proof renders as a card with a Reveal button. Work through the material actively:

  • Read the statement, try to recall the proof, then click Reveal to check yourself
  • Click the βœ“ checkbox to mark a block as read β€” the TOC dot turns green
  • Use the Edit button to tweak the LaTeX source directly if there's a typo
  • Add annotations in the text area below any block β€” saved automatically
  • Click any cross-reference (Theorem 3.21, (4.10), by 1.34) to instantly preview that result in a popup β€” no scrolling required

Step 4: Work Problem Sets

Problem set view

Switch to the P-Sets tab to manage your homework and practice problems.

  1. Click "New Problem Set" and name it (e.g. Homework 3)
  2. Add problems by pasting LaTeX/text or uploading a .tex / .txt file
  3. Optionally link problems to a textbook section for easy cross-reference
  4. For each problem, write your work in the scratch area and mark it Done or Stuck
  5. Drag problems to reorder them

Step 5: Review as Flashcards

Flashcard review mode

Switch to the Review tab to drill your math blocks as flashcards.

  • The front of each card shows the block type and title (e.g. Theorem 3.2)
  • Click the card to flip it and see the full content
  • Mark each card as Know βœ“ or Still Learning βœ—
  • Filter by chapter or review all courses at once
  • Session stats (total, known, remaining) shown at the top

Step 6: Ask the AI Tutor

AI math tutor chat sidebar

Click the πŸ’¬ button in the bottom-right corner to open the AI math tutor. The tutor knows which course and section you're currently studying, so you can ask things like:

  • "Can you give me an example of this theorem?"
  • "I'm stuck on Exercise 1A.3 β€” can you give me a hint without spoiling it?"
  • "Explain the intuition behind this proof."

Switch between models in the chat settings βš™οΈ if needed.

Step 7: Sign In for Cloud Sync (Optional)

Sign In modal

Click Sign In in the top bar to sign in with Google or email/password. This syncs your courses, notes, annotations, and problem work to Firebase in real time β€” so you can pick up where you left off on any device.


✨ All Features

πŸ“– LaTeX Reader
  • Paste or upload .tex source β€” drag and drop anywhere on the main area
  • KaTeX rendering for inline and display math, including complex environments
  • Full custom macro support β€” \inp, \norm, \abs, \nullsp, \range, \spa, \F, \R, \C, and more, all render correctly everywhere including popups
  • Multi-chapter support β€” add as many chapters as you need per course, reorder via the TOC
  • Section & subsection parsing β€” generates a navigable table of contents automatically
  • Edit mode β€” click Edit on any block to modify the raw LaTeX and re-render
  • Delete chapters β€” hover a chapter in the TOC to reveal the delete button
πŸ”— Clickable Cross-References

Axiom turns every cross-reference in your LaTeX into a live, clickable link β€” no more scrolling back to find what 3.21 refers to.

  • \ref{thm:4.6} β†’ renders as Theorem 4.6 with an underline; click to see a full popup preview of that theorem, definition, lemma, or corollary
  • \eqref{eq:4.10} β†’ renders as (4.10) in blue; click to flash and scroll to the equation
  • Bare Axler-style numbers β€” patterns like by 3.21, see 1.34, (3.4) in prose automatically become clickable links when the referenced block exists in your loaded chapters
  • Popup previews show the full KaTeX-rendered content of the referenced block, with a "Jump to source" button to navigate directly to it
  • Works across chapters β€” references from Chapter 6 can pop up items from Chapter 3
🧩 Math Block Types

Axiom recognizes and color-codes the following LaTeX environments:

Environment Color Reveal Button
definition Amber β€” (always visible)
theorem Blue βœ“
lemma Purple βœ“
proof Gray βœ“
corollary Red βœ“
exercise Green βœ“

Each block has its own read checkbox, annotation field, and edit button.

πŸ—’οΈ Notes
  • Switch to the Notes tab for a free-form scratch pad per course
  • Notes are separate from block annotations β€” great for summary sheets or exam prep
  • KaTeX renders math in notes automatically
  • Notes sync to the cloud with the rest of your data
πŸ“ Problem Sets
  • Create named problem sets (e.g. Homework 1, Practice Final)
  • Parse problems from pasted text or uploaded .txt / .tex files β€” Axiom auto-detects Exercise, Problem, or numbered problems like 1.
  • Link problems to a textbook section β€” click the section tag to jump straight there
  • Scratch work area per problem for your attempts, with KaTeX rendering
  • Mark problems as Done (green) or Stuck (red)
  • Drag to reorder problems within a set
πŸƒ Flashcard Review
  • Flip cards to reveal the full block content
  • Know / Still Learning rating β€” tracks your session stats
  • Chapter filter β€” review one chapter or all at once
  • Progress bar shows how far through the deck you are
  • Keyboard shortcuts: Space to flip, ← / β†’ to navigate, 1 for Still Learning, 2 for Know
  • Swipe animations on mobile
πŸ’¬ AI Math Tutor
  • Powered by Puter AI β€” no API key needed, free to use
  • Context-aware β€” the system prompt includes your current course, chapter, and section
  • Conversation history preserved within a session
  • Model switcher in chat settings βš™οΈ
  • KaTeX renders math in tutor responses
  • Online / offline status indicator
πŸ“Š Progress & Streaks
  • Study streak β€” counts consecutive days you've opened the app
  • 30-day activity calendar β€” visual heatmap of your study days
  • Sections read and problems solved counters
  • Per-course progress bars β€” shows sections completed out of total
☁️ Sync & Persistence
  • localStorage β€” all data saved locally in your browser automatically, no sign-in required
  • Firebase sync β€” sign in with Google or email/password to back up and sync across all your devices in real time
  • Export/Import β€” download your data as JSON; import it back on any device
  • Offline-capable β€” works without an internet connection once loaded
🎨 Personalization
  • Dark / Light themes β€” toggle in the top bar
  • Per-course colors β€” each course gets a color dot in the sidebar
  • Collapsible sidebar β€” more room for reading on smaller screens
  • Mobile-responsive β€” sidebar auto-collapses on small screens with a hamburger menu

⌨️ Keyboard Shortcuts

Key Action
Esc Close any open modal
Space Flip flashcard (in Review mode)
← β†’ Navigate flashcards
1 Mark card "Still Learning"
2 Mark card "Know"

❓ Frequently Asked Questions

πŸš€ Getting Started

Do I need to make an account?
Nope! Axiom works fully without signing in β€” your data is saved automatically in your browser. Sign in with Google or email only if you want to sync across multiple devices or protect against losing data if you clear your browser.
What LaTeX environments does Axiom support?
Axiom parses definition, theorem, lemma, proof, corollary, proposition, remark, example, and exercise environments, along with \section and \subsection headings, prose paragraphs, lists, and display/inline math. Axler-style \axitem{3.4}{linear map lemma} blocks are also fully supported.

Cross-references via \ref{}, \eqref{}, and bare item numbers (like 3.21 or (4.10)) are automatically turned into clickable popup links. You can paste a raw .tex file and most standard math textbook formatting will render correctly.

Custom macros like \inp, \norm, \abs, \nullsp, \range, \spa, \F, \R, \C are all pre-defined and render everywhere, including in popup previews.

Does this work on my phone?
Yes! The sidebar collapses on small screens and the reader is fully scrollable. Install it as a PWA for the best experience β€” it'll feel just like a native app.
Can I use this offline?
Yes! Once the page loads, the reader, problem sets, notes, and review mode all work without an internet connection. The AI tutor requires internet access.

πŸ“– Notes & Problem Sets

How do I add multiple chapters for one course?
Click "+ Chapter" as many times as you need. Each chapter appears as a collapsible section in the table of contents in the sidebar. You can delete a chapter by hovering its TOC header and clicking the trash icon.
How do I link a problem to a textbook section?
When adding problems, use the "Link to section" dropdown to associate them with a chapter section. A tag appears on each problem β€” click it to jump straight to that section in the reader.
Can I edit a block after loading it?
Yes! Click the Edit button on any block header to open a raw LaTeX editor. Save to re-render with KaTeX.
How do the clickable cross-references work?
When you load a chapter, Axiom builds a registry of all labeled blocks (via \label{}) and all Axler-style numbered items. Any \ref{} or \eqref{} in the text becomes a clickable span. Bare numbers in prose β€” like "by 3.21" or "(4.10)" β€” are also detected and linked automatically.

Clicking a theorem/definition/lemma ref opens a popup with the full rendered content of that block and a "Jump to source" button. Clicking an equation ref flashes and scrolls to the equation. References work across chapters as long as both chapters are loaded.

☁️ Sync & Data

My data disappeared after I cleared my browser!
Data is stored in your browser's local storage by default. Clearing browser data will erase it. To prevent this, sign in with Google or email for cloud backup β€” or use Export (in settings) to download a JSON copy of your data regularly.
Can I use Axiom on my laptop and phone at the same time?
Yes, if you sign in with the same account on both devices. Changes sync in real time via Firebase.
What does the AI tutor have access to?
The tutor receives your current course name, chapter title, and active section as context β€” so it knows what you're studying. It does not receive your annotations, problem work, or notes.

πŸ› οΈ Tech

Zero build step. Single index.html β€” just open it in a browser.

  • KaTeX for fast, high-quality math rendering (definitions, theorems, inline and display math)
  • Firebase (Auth + Firestore) for optional sign-in and real-time cloud sync
  • Puter AI for the math tutor chat (no API key required)
  • Google Fonts β€” EB Garamond, Cormorant Garamond, JetBrains Mono
  • localStorage for offline-first persistence
  • PWA-ready β€” installable on any device

πŸ™ About This Project

Axiom was built by a Princeton student who kept losing track of which theorems they'd actually internalized versus just read past. The goal was something that would make active recall the default β€” not an afterthought β€” when working through dense math material.

Note: The app is still a work in progress and may have rough edges. If you find bugs or have feature suggestions, please reach out at [email protected] β€” feedback genuinely helps!

The app is open source and free to use or adapt. If you find it useful, share it with your classmates!

Good luck this semester. Go Tigers! 🐯


🚧 Known Limitations & Future Ideas

Current Limitations
  • localStorage only without sign-in β€” clearing browser data will erase local progress; sign in or export regularly to be safe
  • LaTeX parser is heuristic β€” very unusual or deeply nested environments may not render perfectly; the Edit button lets you fix anything manually
  • Cross-references require loaded chapters β€” \ref{} popups only work for blocks in chapters currently loaded in the app; references to unloaded chapters show nothing
  • No push notifications β€” no reminders for upcoming problem set deadlines
  • AI tutor requires internet β€” offline mode does not include the chat feature
Possible Future Features (Maybe!)
  • πŸ”” Problem set deadline reminders
  • πŸ“€ Export flashcard decks to Anki
  • πŸ”— Import directly from a URL (arXiv, course websites)
  • πŸ“Š Spaced repetition scheduling for flashcard review
  • 🀝 Share a course's notes with classmates

Note: This is a student project maintained during the semester. Updates may be sporadic!


Perfect for: Real analysis β€’ Linear algebra β€’ Abstract algebra β€’ Topology β€’ Any proof-based math course

Made by Lillian Wang Β· Princeton University Β· Spring 2026

About

A study helper for textbook-based pset classes.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages