Skip to content
ContractorKeith
Go back

i became SlowBooks Pro's Mac maintainer

8 min read

on august 12, i asked my friend Trent Van Holten if i could build SlowBooks Pro the Mac app it did not have.

he said yes.

by the next day i was the project’s macOS maintainer, and a signed, Apple-notarized Apple Silicon download was sitting beside the Windows installer. Trent shipped Server Edition in the same release line, which turned his personal desktop bookkeeping program into something a small office could run from one PC.

that moved fast.

an editorial desk scene based on the real SlowBooks Pro interface, with the app running on a laptop beside a paper ledger and release stamp

the bookkeeping program Trent rebuilt after a hard drive died

SlowBooks Pro exists because Trent used QuickBooks 2003 Pro for 14 years, then lost the machine it lived on.

the hard drive died. Intuit’s activation servers for that version had already been gone for years, so the license he paid $199.95 for could not activate a new installation. the software was gone even though the books and the receipt were still his.

so he built SlowBooks Pro 2026, an independent, from-scratch replacement. he moved his old data through QuickBooks’ IIF export format and kept the thing he cared about most: the books live in files the owner controls.

no required account. no telemetry. no monthly bill.

the project is free and source-available for personal, educational, internal business, and enterprise use. it is not open source under an OSI license, and the difference matters. Trent’s license allows people to use, modify, and redistribute it, but it does not allow somebody to package his work into a paid product or hosted service.

i like that the boundary is written down plainly.

what SlowBooks Pro does now

calling it a QuickBooks 2003 replacement almost makes it sound smaller than it is. the old program supplied the reason to start. it did not set the ceiling.

SlowBooks Pro has the normal bookkeeping work: customers, estimates, invoices, payments, bills, purchase orders, bank registers, deposits, reconciliation, journal entries, credit memos, recurring work, and a contractor chart of accounts.

then it goes further:

four real SlowBooks Pro screens showing invoicing, AI analysis, inventory, and duplicate-customer detection

the tax-form work is one of my favorite details. every generated W-2, W-3, 940, and 941 carries a SHA-256 content hash and audit ID, so an edited PDF does not quietly pass for the one SlowBooks generated.

and none of that requires the owner’s live books to sit on Trent’s server. there is no Trent server.

one codebase, a few ways to run it

underneath the interface is Python and FastAPI, with SQLAlchemy and Alembic handling the data layer. the browser interface is plain HTML, CSS, and JavaScript. no front-end framework and no build step.

desktop companies use one SQLite file each. Docker and server installs can use PostgreSQL. PyInstaller freezes the Python application and its native libraries into the Windows and Mac desktop packages, while pywebview puts the local web app inside a native window.

the result can run three practical ways:

same accounting code. different delivery.

the real SlowBooks Pro about screens for the personal 2026 Edition and Server Edition

Server Edition arrived beside the Mac app

while i was working on the Mac release, Trent was finishing SlowBooks Pro Server Edition.

it does not have a separate price, codebase, or download. run the Windows host in server mode, add a second user, and the same installation becomes Server Edition. one office PC holds the company file and serves the app across the local network. everybody else signs in through a browser.

admins can do everything. bookkeepers can work in the daily books but cannot change users or system settings. read-only users can look at reports and records without posting entries. the audit log records which person made each change, and the last active admin cannot accidentally demote or deactivate themselves.

the permanent setup runs as a Windows startup task before anybody logs in. it also moves the shared data under C:\ProgramData\SlowBooksPro, creates the firewall rule, and prints the addresses the office should use.

the real Server Edition dashboard and user-management screen, including admin, bookkeeper, and read-only roles

there are honest limits. Server Edition is meant for a small trusted office network, roughly two to ten people. it currently uses plain HTTP, so it should not be port-forwarded onto the public internet. the one-file SQLite database handles office concurrency with write-ahead logging, but nobody is pretending it is built for 500 people hammering the ledger at once.

small office. clear boundary.

what i actually built for the Mac

i did not build SlowBooks Pro. Trent did, with a list of contributors whose accounting, security, Windows, payroll, migration, and reporting work is credited in the repository.

my piece is the native Mac distribution.

Trent put up the initial scaffold and named me as maintainer. i took that branch through the release work in pull request #49: 20 files changed, just under 2,000 lines added, eight follow-up commits from me, and 1,084 tests passing at the point the release candidate was built.

the visible result is a .app inside a drag-to-Applications DMG. the work behind it included quite a bit more:

and the Apple credentials never go to GitHub.

Actions builds and checks an unsigned transport artifact with read-only repository permissions. i download that exact artifact to my Mac, verify its checksum and source commit, replace the temporary signatures from the deepest nested code outward, sign the application and DMG with my Apple Developer ID, submit the DMG to Apple, retrieve the notarization result, and staple the accepted ticket to the disk image.

that is my maintainer job now. every Mac release has to repeat it.

signed and notarized was still not released

this project forced a useful distinction that gets skipped in plenty of release posts.

a build can pass CI and still not be signed. a package can be signed and still not be notarized. a notarized DMG can pass command-line checks and still fail when a person installs it. and a perfect local file is not a public release until somebody downloads the public asset and verifies that exact file again.

so i kept the gates separate.

the branch candidate passed the automated build, signature checks, Apple’s notarization service, Gatekeeper, disk-image verification, a real app walkthrough, company creation, relaunch, PDF output, backups, and exports. then Trent merged the pull request.

we built again from the exact release tag.

after the first public Mac download, i found one more field bug: quitting with Command-Q could leave the local SlowBooks server running even though the window was gone. closing the window worked correctly, but Command-Q took another path. Trent fixed it, i tested both shutdown paths, and we cut the patch.

the current release is SlowBooks Pro v2.5.2. its 56 MB Apple Silicon DMG was built from that exact tag, signed with Developer ID, accepted by Apple, stapled, installed into a clean location, exercised, uploaded, downloaded again through the public link, and checked again.

boring proof. exactly what i wanted.

why i asked for the job

i have spent most of my working life around small businesses that depend on software long after the vendor would prefer everybody to move on. estimating systems, accounting programs, equipment controls, old databases. if the machine still does the job, people keep using it.

then one failed hard drive or dead activation server turns a paid tool into a locked door.

Trent did the hard part. he rebuilt the program and kept the books local. i had the Mac, the Developer ID, and enough release-engineering experience from Ködade to make his work install like a normal Mac application instead of a science project involving Docker and Terminal.

useful project. missing platform. friend who trusted me with it.

that was enough.

i am now responsible for keeping the Apple Silicon release path working when SlowBooks changes. Intel support remains a separate job because i will not call an architecture supported until its build and installed app have their own proof.

if you run a Mac and want bookkeeping software that keeps the files on your machine, read the project or download the current DMG. and if you maintain another useful application that stops at a Windows .exe, i am paying attention now.


Share this post on:

Next Post
the open-source stack i'd consider for home services