nixbit admin
The system nixbit runs on. Projects, tasks, hours, invoices, expenses, payroll and tax deadlines in one place, and then it acts on them: it bills clients, chases late payments and reminds us before the tax office does. We built it to run our own company. Now we offer it to other companies too, changed to fit how each of them works.
- Industry
- Operations
- Our role
- Built it for ourselves, run it daily
- Live since
- 2025
- Offered to
- Other companies, adapted to each one
Hours went in. Invoices did not always come out.
A software studio has to know where every hour went, whatever the contract says. Ours were split across a spreadsheet, an invoicing tool, the client's task tracker and a calendar full of tax deadlines. Every month someone had to stitch them together by hand, and every stitch was a place where billable work could quietly fall through.
We wanted one system that holds the work and the money together, does the monthly chores on its own, and tells us when something does not add up, before a client spots it.
outside systems wired in, from Linear, Jira and Asana to the calendar, the servers and exchange rates
scheduled jobs that bill, remind and fetch exchange rates without anyone asking
tools an AI assistant can use to read the business and act on it
What we built.

Projects, tasks and time in one place
A board per project with a timer on every task. Stop the timer and the hours land on the right person. Tasks sync both ways with Linear and Asana, Jira boards open in the same view, and a comment like “/time 2.5” in Linear logs the hours without leaving it.

Invoices that send themselves
Each project knows how it bills: hourly, a fixed price, or a monthly retainer, with a switch to maintenance from a set date. Invoices render to PDF per currency, in the local language or English, get a number that can never repeat, and go out by email on the day they are due.

A page that finds lost money
Billing Health looks back three months for work that never became an invoice: hours with no one assigned, people with no rate, months with billable work and no bill. Every leak it lists is one we can fix before month end.
An AI assistant with access to the business
An MCP server gives Claude the same actions the interface has, through the same API. Asking “what have we not billed this month” gets an answer from live data, not a guess.

What broke, and what we changed.
An invoice that never went out.
Invoices were sent by a job that ran once a month, at nine on the first. When the API moved into a container, a restart around that hour meant the run simply did not happen, and a client's invoice was never sent. The job now checks every day, knows what each project has already been billed, and can never send the same invoice twice. Every automatic invoice can also be previewed before it goes.
Finishing a task deleted it.
Linear reports an archived issue the same way as a deleted one, and it archives finished issues on its own. So completing a synced task could delete ours, hours and all. The sync now unlinks instead of deleting, and it spots its own echo when a new task comes back from Linear, so nothing is created twice.
The footer that fell onto page two.
Invoices must fit on one page. They did on a laptop, and then a client with a long name pushed the footer onto a second page in production, because the server's fonts rendered slightly wider. The layout now keeps a margin, and a check renders that exact invoice both on a Mac and inside the production image.
What it runs on
React, TypeScript and Vite as an installable web app on S3 and CloudFront. Node, Express and MongoDB in Docker on EC2. Puppeteer for PDFs, email and browser push for reminders, and GitHub Actions deploying the front and the back on their own.
Built to run nixbit. Now fitted to yours.