// story

A side quest

I missed a notepad calculator, so I built one. This is why, and how.

Said oh-MAH-kus.

Why it exists

Ajith and I were talking through numbers. I used to use Numi, a notepad calculator, on a Mac. After I moved to Linux, on Omarchy, I missed it.

I wrote down what I missed, in a single prompt. About 30 minutes later I had a first version that worked. Then I kept refining it, because I was using it.

Ajith is on a Mac, and he wanted to use Omacus too. So it runs on Linux on Omarchy, on macOS, on Windows, and on the web. We both use it every day.

I built it for myself. I open-sourced it, under the MIT license, in case someone else wanted it too.

How it was built

I didn't hand-write the code. I set the direction, made the decisions, and reviewed what came back. AI agents wrote every line.

It started with Claude. It now runs on Grok Bot. Grok Bot plans the work and runs cloud coding agents. Those agents open pull requests. Grok Bot watches the checks and ships the releases.

What makes that safe enough:

  • Protected main. A change only lands through a pull request.
  • Checks on every system we ship. Linux, macOS, Windows, and the browser build all have to pass.
  • A release is a pull request. When the checks pass, it merges on its own, and the new version goes out.
  • One design guide. docs/DESIGN.md is what keeps the app and the site looking like the same product.
  • Notes for people using it. Release notes say what changed for you, in plain words.

My part is taste, decisions, and review.

By the numbers

Counted from the repository when this page is built.

  • 7Days since the first commit
  • 44Releases
  • 62Pull requests merged
  • 28,211Lines of Rust

Timeline

A few moments from the releases. Sync is the one that is not out yet.

  1. First version

    A notepad for math, on Linux, macOS, and Windows from the first version. I was already using it, and so was Ajith, on his Mac.

  2. The web app

    The same engine, in the browser. A shared page stays inside the link.

  3. An updates page

    Every release, in plain words, newest first.

  4. The web app works offline

    After the first visit, the web app keeps working with no connection.

  5. Sync

    Coming soon. Pages that stay in step across computers. Not shipped yet.

What I learned

Personal notes. Not a method, and not advice.

  1. The short part was the start

    Getting from "I wish this existed" to a version I could type into was fast. Almost everything I kept came after that.

  2. The safety net matters more than the prompt

    A prompt gets a draft. I trust the result because main is protected, the checks cover every system we ship, and the notes are written for someone using Omacus.

  3. Taste is the job

    Agents can fill a screen. Choosing what should be quiet, what a sentence should say, and what to leave out is still on me.

  4. One person kept it smaller

    If I wouldn't use a feature on a page of my own, it stayed out.

Contribute

The code is MIT licensed. If something is wrong, or missing, open an issue. If you want to change it, send a pull request.

You can use AI agents too. I do. The same bar applies: the checks have to pass, the design guide is the look, and the notes should make sense to someone using Omacus.

Source codeIssuesContributing