Services/Custom software and CRMs
Software that fits your business, instead of the other way around.
Portals, CRMs, dashboards and internal tools built in Next.js, designed around how your team actually operates. For when the off-the-shelf tool has you working around it.

Sound familiar?
The spreadsheet has become the business
Forty tabs, three people who understand it, and a quiet fear of what happens if it breaks.
A CRM you pay for and work around
It thinks everything is a deal. Your business has events, matters, properties or members, and the CRM doesn’t know what those are.
Clients email for updates you could show them
“Where’s my application up to?” is a portal, not an inbox.
The process lives in people’s heads
When they’re on leave, things stop. Software that encodes the process means it keeps running.
What I build
Plain, well-structured Next.js applications with a proper database, authentication, and the integrations your business already depends on. You own the code.
- Custom CRMs and pipeline toolsBuilt around your actual objects: events, matters, properties, investors, members. Not deals and contacts with custom fields bolted on.
- Client, member and investor portalsSecure logins where people can see their status, upload documents, make payments and stop emailing you for updates.
- Operations dashboardsThe numbers that matter, pulled live from the systems that hold them, on one screen the whole team trusts.
- Booking, event and membership systemsCapacity, waitlists, renewals, discounts and the admin behind them, connected to your app or site.
- Internal tools that replace the spreadsheetSmall, focused apps for the one process that’s outgrown Excel, built in weeks rather than months.
- SaaS products, from MVP to paying customersI’ve taken my own products from idea to subscribers, with billing, support and hosting. I can do it for yours.
How I approach it
1
Start with the process, not the screens
The first week is spent understanding how work actually flows through your business today, including the workarounds. The software is designed to that, not to a feature list.
2
Ship a working slice early
One real process working end to end on a staging site before the rest gets built. You use it, you find what’s wrong, and the next slice is better for it.
3
Built to be maintained
Standard Next.js, a normal database, documented, no exotic stack. Another developer can pick it up. So can I, in two years, without archaeology.
Related work
All case studiesOps dashboard, WooCommerce, Keap and Meta
TakeShape Adventures operations dashboard
A staff operations dashboard for an adventure travel company: every departure's manifest and check-in, trip pages edited and published back to WordPress, and the Keap and Meta automations that used to live in third-party glue, all running off one Postgres database.
Internal tool, private credit funds
Investor onboarding for Bowery
An internal onboarding workspace for a private credit fund manager. Staff upload a signed application, check what the app read off it, work Bowery's 26-item AML/KYC checklist, and the result is filed into their Microsoft 365 investor register.
Questions I get asked
Should I build custom or buy something off the shelf?
If a product fits 80% of what you do, buy it and I’ll integrate it. Custom is for when the other 20% is the business. I’ll tell you which one you’re in on the first call, even if the answer is “don’t hire me”.
Who owns the code?
You do. It lives in a repository you have access to from day one, and you can take it to another developer whenever you like.
What happens after launch?
I host it, monitor it and keep it patched under a care plan, with a block of hours each month for the next improvements. Or hand it to your team with documentation. Your call.
What’s the spreadsheet you’re afraid of?
Show me how the process works today and I’ll tell you what I’d build to replace it, and whether it’s worth it.