Vibecode Tallymeter

track this build4 phases, 12 steps, beginner friendly
KINDA · weekend project
price $10.38/moyou'd save $124.56/yrbuild time weekendcategory 🧾 finance & accountingreplaced by 0 people

The solo core is a weekend build and nobody should pretend otherwise: a timer, projects with hourly rates, and uninvoiced hours rolled into a numbered PDF. What survives the rebuild is the boring half · two-way Jira worklog sync that reconciles ticket by ticket without double-counting, a hosted MCP server and scoped API tokens your agents can reach from any machine, and invoice numbering plus VAT and bank details that hold up when an accountant reads them. Full disclosure: this entry was submitted by the person who builds Tallymeter. Same rubric as everything else on the list, and the honest answer is that a freelancer billing one client can absolutely one-shot the part they use.

the project pack5 files · written for this build, step by step
README.md
# Tallymeter · indie build

A solo time tracker and invoicer whose hard problems are durations that stay correct across a clock change, a rounding rule chosen once and recorded on every invoice it produced, and a number sequence that survives concurrency, cancellations and the year somebody audits you.

Estimated effort: **weekend**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | Node 22 with Express, server-rendered pages on the loopback address | one process, no accounts, and your billing history stays on your machine |
| Storage | SQLite with amounts as integer minor units and durations as whole seconds | the two representation decisions that cannot be undone later without reconciling every invoice |
| Numbering | A series table whose next number is claimed inside the issuing transaction | two invoices issued a second apart must never collide, and the sequence must not have holes |
| Rendering | PDF generated from the invoice snapshot, never from a live join | reprinting last year's invoice must produce last year's invoice |
| Access | Scoped tokens for anything automated, with the actor recorded on every entry | if something else logs time on your behalf, the invoice should say which something |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the tracker and the renderer.
  - Get it: nodejs.org or your version manager.
  - Verify: node --version prints v22 or higher
- [ ] **A headless browser or PDF renderer** · free
  - Why: Invoices are documents other people print, and a renderer that reflows differently between versions is a reprint that does not match.
  - Get it: Install a headless browser package and pin its version.
  - Verify: The same invoice renders to the same checksum twice
- [ ] **Your jurisdiction's invoice content and record-keeping rules** · free
  - Why: The number sequence, the required fields and the retention period all come from these, and getting them from a blog post rather than the tax authority is how an invoice ends up invalid.
  - Get it: Read the tax authority's own guidance on invoice contents and record keeping, and note the date.
  - Verify: The required fields list and the retention period are recorded in the README with their source
- [ ] **The bank details and tax registration you invoice under** · free
  - Why: These are snapshotted onto every invoice, so having them wrong on day one means every invoice issued before you notice is wrong in a way you cannot edit.
  - Get it: Collect the exact wording your bank and tax authority expect.
  - Verify: A test invoice shows them exactly as they should appear
- [ ] **The rounding rule, decided and written down** · free
  - Why: Per-line and per-total rounding give different totals, and choosing after you have issued invoices means two eras of arithmetic in the same ledger.
  - Get it: Read the rule that applies to you, choose one, and record the choice and the source.
  - Verify: The configured rule matches the README and appears on every issued invoice

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- Payment collection and reconciliation.
- Multi-user workspaces and per-member totals.
- Two-way worklog synchronisation with an issue tracker.
- Automatic tax determination across jurisdictions.
- two-way Jira Cloud worklog sync that reconciles ticket by ticket
- a hosted MCP server and scoped API tokens agents can call from anywhere, with per-agent attribution
- invoice numbering, VAT and bank details that survive an accountant handoff
- shared team workspaces and per-member unbilled totals
- managed hosting, nightly backups and a phone-sized UI for starting a timer away from your desk

If one of those is essential to you, that is the reason to keep paying for Tallymeter, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

The timer is a weekend. The failure modes are not. Uninvoiced time that silently double-counts against a Jira worklog, an invoice sequence with a gap in it, or a laptop that was asleep when the agent tried to log its hours are all problems you discover on invoice day, in front of a client. A business billing real money for hours generally decides that maintaining the thing that produces its invoices is not the hobby it wants.

what you lose

xtwo-way Jira Cloud worklog sync that reconciles ticket by ticket

xa hosted MCP server and scoped API tokens agents can call from anywhere, with per-agent attribution

xinvoice numbering, VAT and bank details that survive an accountant handoff

xshared team workspaces and per-member unbilled totals

xmanaged hosting, nightly backups and a phone-sized UI for starting a timer away from your desk

share on X ↗"I just replaced Tallymeter ($10.38/mo) with one prompt"
the escape hatch

Don't feel like building it? These folks already made it free.

KimaiTime, expenses, numbered invoices and a JSON API; the MCP server is the missing party trick.4.9kaug 2026open source↗Invoice Ninja self-hostedTime entries become numbered invoices and the API is usable; agents do not get a ready-made MCP server.$0free↗

no votes, no pay-to-list · just what's real

the numbers

Tallymeter pricing

planmonthlyannual (per mo)what you get
pro$10.38/workspace$8.65/workspaceUnlimited projects and clients; reports, CSV exports, numbered invoices, Jira integration, REST API, and MCP server

free tierno free tier; 30-day trial with no card

billingmonthly + annual (annual is 2 months free)

verified 2026-08-10 · source ↗

questions
Vibecode Tallymeter

Kinda. The core of Tallymeter is buildable in a weekend with the prompt on this page, but there are real gaps: two-way Jira Cloud worklog sync that reconciles ticket by ticket, a hosted MCP server and scoped API tokens agents can call from anywhere, with per-agent attribution. Read the honest list above before committing.

How much does Tallymeter cost?

Tallymeter costs about $10.38/month (Pro, checked 2026-08-10), which is $124.56 per year.

What do I lose by replacing Tallymeter?

Honestly: two-way Jira Cloud worklog sync that reconciles ticket by ticket; a hosted MCP server and scoped API tokens agents can call from anywhere, with per-agent attribution; invoice numbering, VAT and bank details that survive an accountant handoff; shared team workspaces and per-member unbilled totals; managed hosting, nightly backups and a phone-sized UI for starting a timer away from your desk. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Tallymeter?

Yes: Kimai (Time, expenses, numbered invoices and a JSON API; the MCP server is the missing party trick.) Invoice Ninja self-hosted (Time entries become numbered invoices and the API is usable; agents do not get a ready-made MCP server.) The prompt is for when you want it exactly your way.