DEV Community

Cover image for EqPad: A Calculator-Style Equation Editor for LaTeX, Markdown, and PNG
KabosuTravel
KabosuTravel

Posted on

EqPad: A Calculator-Style Equation Editor for LaTeX, Markdown, and PNG

GitHub Copilot CLI Challenge Submission

What I Built

I built EqPad, a minimal equation editor for people who don’t want to “learn LaTeX first, write math later.”

The idea is simple: most of the time, I’m not trying to typeset a paper—I’m trying to quickly assemble a correct expression and paste it into wherever I’m working (Markdown, a doc, a worksheet, a chat, etc.). So EqPad focuses on a calculator-like workflow:

  • Button-first input for common structures (fractions, powers, roots, brackets, matrices)
  • Fast navigation with Tab to jump between placeholders (so you can fill the “holes” in order)
  • Practical exports only: LaTeX, expanded LaTeX, block/inline Markdown, and PNG
  • A lightweight “template” area for common high school / university patterns (derivatives, sequences, probability, trig identities, etc.)

No accounts. No documents. No “math notes app.” Just an equation builder that stays out of your way.

Demo

Live app: https://eqpad.kttin.net
Repo: https://github.com/kotatsu-dog/EqPad

https://eqpad.kttin.net

Quick walkthrough:

  1. Click a structure button like fraction / power / root.
  2. Use Tab to jump to the next input slot and type.
  3. In Output, click what you need: LaTeX / LaTeX (expanded) / Markdown / Inline / PNG.

Screenshots:

EqPad editor

Export options

My Experience with GitHub Copilot CLI

This challenge is explicitly about building with Copilot CLI and showing how it helped along the way. I leaned into that by keeping Copilot open in my terminal as my “build buddy” while I iterated on the UI and export pipeline.

How I used it day-to-day

1) Planning and scoping before I coded
Instead of starting with a blank editor and guessing the shape of the app, I used Copilot CLI’s planning flow to outline the MVP screens, state model, and edge cases. The CLI supports structured planning commands (for example, /plan) which are great when you want a concrete checklist before touching code.

2) Fast iteration without context switching
I stayed inside the terminal: run, inspect, tweak, repeat. Copilot CLI’s interactive mode (copilot) plus the built-in help (/help) made it easy to discover commands and shortcuts as I went.
My typical loop looked like this:

copilot
# /help
# /cwd
# /clear
Enter fullscreen mode Exit fullscreen mode

That “/clear + /cwd” habit sounds small, but it prevents the agent from drifting when you’re jumping between tasks.

3) Safer “agentic” changes with explicit permissions
When Copilot CLI wants to read/modify files or run tools, it asks you to confirm trust boundaries and approve commands. That made me more comfortable letting it do bigger refactors—because it wasn’t a silent black box touching my repo.

4) Repo-specific instructions
I also like the fact that Copilot CLI can initialize repo instructions (copilot init) so the agent consistently follows project rules (naming, folder structure, etc.).

Where it helped most on EqPad

  • Turning “I want a calculator-like equation editor” into concrete UI primitives (buttons, placeholders, tab order).
  • Speeding up repetitive implementation work (button packs, template lists, export wiring).
  • Catching edge cases I would have missed (export sizing, placeholder navigation, keyboard shortcuts).
  • Keeping momentum: I didn’t have to constantly jump between browser docs, editor, and terminal—Copilot CLI stayed in the same loop as my build/test cycle.

Top comments (0)