DEV SHROFF


NO. 01 · 2026.11.14 · ENTRYPAD · 957 WORDS

Week 1 of Building Entrypad: Purpose and Vision

9 to 14 November 2026


Origins

I have seen a few presentations made by my friends pursuing accounting degrees, as well as official presentations from some companies, with inconsistent accounting visuals, since they are often hand-drawn or created without automatic cross-checking built in. I had this thought in the back of my head when my friend showed me the Declarative Dragging website on Monday 9 November, and I instantly knew it had a lot of potential, but I didn't know what I could really do with it. Declarative Dragging is a research project, with a programming library called Dragology, that makes creating dynamic diagrams much faster.

Vision

Later that day, when I put the accounting visuals problem together with Declarative Dragging's philosophy, I came up with the basic vision for Entrypad. I wanted to create a platform where you can easily drag a transaction onto the books, and the T-accounts, equation, and statements would all update automatically and create exportable visuals for presentations. My vision is for the platform to serve accountants of all kinds: practitioners, finance teams, educators, and students. The output should be good enough to go straight into client decks and official reports.

User Experience Design Principles

  • There should be one ledger with many different views, so nothing has to be entered twice.
  • The project is all about being able to describe what you want so you do not have to draw it yourself. Only a few journal lines are needed to make a visual.
  • Dragging a transaction is the actual accounting operation; that is how transactions get moved around in the ledger.
  • The program should always flag mistakes like a spell checker, but never block the user from making them in case they are intentional. The flags also should never show up in exports.
  • The visuals should be worthy of a presentation without external editing.

For input there should be a few methods: a shorthand made for Entrypad that is similar to journal entries, rows pasted from Excel or Google Sheets, or hledger files.

For output, the visuals either live entirely in the browser, with PNG, SVG, and GIF exports to embed into slides and share links that do not need accounts to access, or, with the npm package, run directly in your own app.

In terms of the roadmap for the future of this project, the full first release will cover introductory financial accounting under US GAAP, with the subsequent releases covering corporate finance, intermediate accounting, and lastly managerial accounting.

Naming

The whole idea behind the Entrypad name comes from a pad where you put journal entries, the basic unit under all of accounting. I thought about naming the project Doubling or TickTie, but after checking npm, GitHub, domains, trademarks, startups, and other active projects, I chose not to move forward with those to prevent future conflicts.

Repository

All the code is public on github.com/kiwisontoast/entrypad, MIT licensed. It is a pnpm monorepo with the following parts:

  • @entrypad/core: plain TypeScript to contain the books, balances, and chart of accounts.
  • @entrypad/react: the visuals, built on the drag engine.
  • @entrypad/export: SVG export support.
  • The actual site app.

I decided to keep the core separate since the drag engine the visuals are based on is so new. If issues arise with it, only one package depends on it, so only that one needs to be swapped. The CI pipeline runs on GitHub Actions, and the browser tests use Playwright.

npm

I published an npm package under the name entrypad (version 0.0.1) as a placeholder and also created the @entrypad organisation.

Website

The no-code version of the tool, as well as information and documentation, will be on the website, which is a Vite app hosted on Netlify. entrypad.netlify.app is live right now with a placeholder landing page. I plan on migrating the site to a subdomain of my second-level domain devshroff.com next week. The current landing page is still meant to keep the spirit of Declarative Dragging as a quiet and muted page where the project speaks for itself.

A Short Initial Testing Story

Dragology 0.2.0, the drag library Entrypad is built on, came out on 6 November, three days before I started, and it had no documentation yet. Before building anything on top of it, I made a small test build to check four things: one, dropping a transaction card onto a T-account; two, keeping drags smooth with about 30 accounts on screen; three, exporting a frame as an SVG; and four, dragging with a finger on a touchscreen.

The initial build passed the tests. Drags held a steady 60 frames per second with 30 accounts and stayed close to that even with the CPU slowed to roughly a tablet's computing power. An exported SVG matched the screen exactly, with 0 out of 1.1 million pixels different. Finger dragging worked on an emulated touchscreen, though I will still need to try it on a real phone.

The test also turned up a bug where a second finger touching the screen could take over a drag that was already in progress, and a cancelled touch could leave a drag stuck in place. I wrote a small guard that fixes both, and every visual now goes through it. If Dragology had failed the test, my backup plan was to build my own small drag engine on d3-drag, which would have added about two weeks to the schedule.

Next Week

Going into next week, I plan on completing Phase 1 of my build plan, which involves making the input parser, the error-flagging squiggles, and the first real visuals. I will also connect the Netlify app to my personal domain. I worked partly on making every default a user setting this week, with a few settings being implemented next week.

See you next week,
Dev