Me too. I told Claude to use Beancount for the ledger (I don't want probabilistic accounting!), and very quickly I had a little Go/SQLite/React webapp and some Python scripts that do everything I needed. Since then I've added little tweaks as necessary.
There's a time tracking page where I enter hours by project, and an invoice generation page where I select what to include and get a nice PDF invoice. The Python scripts import my bank statements and auto-reconcile expenses and invoice payments. They connect to Ramp, Expensify, and Gusto APIs for expenses, and maintain a consistent folder structure for reciepts. There's a script to give me monthly cash revenue figures for local taxes and let me know how much excess cash I have for owner distributions.
It's exactly what I need and nothing I don't, has no recurring cost, and it's completely private (all runs on my laptop).
Note, however, that I'm still using Gusto, because they take some responsibility for getting my payroll taxes right, and filing them.