Why ChronoLedger exists.
ChronoLedger is a dual-rate time tracker for service businesses — agencies, consultancies, studios, freelancers. It tracks every hour with two rates: what an employee costs you and what a client pays. The difference is your margin, and we make that visible the moment a timer stops, not at month-end.
Why we built it
Most time-tracking tools were built around timesheets. They tell you how many hours were worked and leave the financial half — what each hour cost, what each hour earned, whether the project is in the green — to a spreadsheet someone updates on Friday. That spreadsheet is where the truth dies.
We wanted a tool where the cost rate and the bill rate ride along with every entry from the start, where margin is a property of the timer, not a back-office calculation. We wanted strict role-based isolation — owners see margin, employees see their timer, clients see only the work they're paying for — built into the data layer, not bolted on with a permission check we might forget.
ChronoLedger is what that looks like when an engineering team that has burned out on time-trackers builds the one they wished existed.
What we will not do.
Per-user pricing
You pay for seats you didn't use, scaled by team size.
We charge by what you do, not by who is logged in.
Feature gating
The thing you actually need is locked behind the next tier.
Every feature is on every plan. No paywalls, no upsells.
Hard usage caps
Hit the cap and the product stops working until you pay more.
Soft limits. Overrun a little; we tell you, not the wall.
Annual lock-in for a discount
Pay 12 months upfront or pay 30 % more.
Monthly is the same price as annual. No hostage discount.
Pricing is usage-based. You get a free weekly token pool, and you pay only for what you actually use beyond it. A typical 10-employee, 5-client agency lands around ~$15 / month. No per-user fees, no feature gating, no annual hostage discount.
See the full pricing →Six guarantees that come from the architecture.
Whole categories of bug — data leaks, rounding errors, tampered history — are prevented at compile time or at the database layer, not by hoping our application code gets it right.
Rust core
Memory bugs that take down a service can't compile. The class of crash that loses your data is a class that can't happen.
Postgres + Row-Level Security
Your data is filtered at the database layer, before the application sees it. A bug in our code can't leak data between clients.
Integer-only money
All amounts are stored as integers, not decimals. Your invoices add up to the cent — zero floating-point rounding bugs.
Immutable audit log
Audit and history records are protected at the database level — not just by application code. The audit log can't be tampered with, even by us.
Per-endpoint roles
Every API endpoint declares exactly which roles can call it. No "trusted internal" backdoors, no route open by default.
End-to-end type safety
A single OpenAPI contract drives backend handlers and frontend client types. The two sides can't drift — drift fails CI.
Open standards, no lock-in.
Your data is yours, in formats every other tool can read.
Who runs ChronoLedger
ChronoLedger is operated by LW Agency Limited, a Hong Kong-incorporated company. We work under Hong Kong law, with EU data residency available for customers who need it. Our full company details — registered office, mailroom, governing law — are on the contact page; the legal basis we operate on is documented in our Privacy Policy and DPA.
We're pre-launch. There are no customer logos on this page because we don't have customers yet — and we'd rather show you how the product is built than pretend otherwise.