Service · 05
The software your operation needs, when nobody sells it.
Some problems don't have a SaaS answer. The tool that fits your process costs more per seat than the process is worth, or fits eighty percent and forces a spreadsheet for the rest. We build the missing twenty percent as real software, and hand you the keys.
How the work runs
- 01Decide the smallest useful version
- 02Model the data first
- 03Ship it narrow, then widen
- 04Hand over properly
Typical range
$6,000 – $50,000+
Timeline
4–14 weeks
Example outcome
- Now runs
- Our own billing
- Test coverage
- 467 assertions
- Platform subscription
- Retired
Built against
- Next.js
- Postgres
- Neon
- Supabase
- Stripe
- Cloudflare Workers
- Vercel
- Airtable
The problem we solve
You've outgrown the spreadsheet and undergrown the platform.
This engagement usually starts with one of these sentences:
The spreadsheet is now load-bearing
Something critical runs on a workbook only one person understands, with formulas nobody dares touch and no history of who changed what. It works until they're on holiday.
Nobody can answer a simple question
How profitable was that client? Which projects are over budget right now? The data exists, split across four systems that disagree, and answering takes a person half a day.
You're paying per seat for a bad fit
A platform that costs five figures a year and still needs manual workarounds, because it was built for a business that runs differently from yours.
What we build
Small software, built properly.
Not enterprise projects. Focused applications that do one job well, ship in weeks rather than quarters, and don't need a development team to keep running:
Reporting warehouses and dashboards
A Postgres warehouse fed by scheduled pipelines from your CRM, billing, and delivery systems, with a change ledger so you can see what moved and when. Then the dashboards leadership actually opens.
OutcomeNightly ETL into Neon, with back-office dashboards over the top
Internal tools that replace a subscription
Time tracking, invoicing, approvals, ops admin. When the per-seat cost of a platform exceeds the cost of building exactly what you need, building wins, and keeps winning every year after.
OutcomeWe did this to ourselves: our billing runs on software we built
Client and partner portals
Authenticated spaces where your customers see their own data, project status, deliverables, invoices, without emailing someone to ask.
Billing and invoicing systems
Rate cards, retainer balances with overage carry-forward, approval gates before anything reaches a client, and Stripe underneath. The logic your accounting package can't express.
Database modernisation
Legacy data out of a plugin, an Access file, or a decade-old CMS, validated and into something queryable, with the record count reconciled before anything is switched off.
Real example
We got tired of our own time-tracking tool, so we replaced it.
The setup
We were paying for a project-management platform to do time tracking and invoicing, and fighting it on the parts that mattered: retainer overages needed manual carry-forward every month, the client-facing view didn't exist, and reconciling logged time against what we'd actually invoiced meant exporting to a spreadsheet. Rather than accept it, we built the replacement, and migrated every historical entry across.
What we did
- 1Time logged against tasks, with rate cards per client and per role
- 2Retainer balances that carry overage forward automatically each month
- 3A client portal showing exactly what was worked on and what it cost
- 4Invoice drafts generated from approved time, reviewed before they send
- 5Restorable backups and an alerting path, because it bills real money
Outcome
- Now runs
- Our own billing
- Test coverage
- 467 assertions
- Platform subscription
- Retired
How we deliver
How we build it.
Custom software earns its reputation for overruns when scope is discovered rather than decided. We front-load the deciding.
Decide the smallest useful version
What has to exist for this to replace the spreadsheet? Everything else is a later phase, written down as such so it doesn't quietly become phase one.
Model the data first
Most custom-app pain is data-model pain discovered late. We agree the schema and the reporting questions it has to answer before any interface exists.
Ship it narrow, then widen
A working slice in front of real users early, so the feedback arrives while changing course is still cheap.
Hand over properly
Your repo, your database, your hosting account, documented, plus a maintenance retainer if you'd rather we kept running it.
Tools we work in
We build inside your stack, not on top of it.
Don't see a tool you use? Ask. We've worked with 100+ platforms; the list below is what comes up most often.
- Next.js
- Postgres
- Neon
- Supabase
- Stripe
- Cloudflare Workers
- Vercel
- Airtable
- Retool
- Metabase
Pricing snapshot
$6,000 – $50,000+
4–14 weeks
Internal tools and dashboards typically land in the $6,000–$20,000 range. Warehouses with pipelines, or portals with authentication and billing, run higher. Fixed fee against a written scope, phased where it makes sense.
- Free 30-min scoping call
- Written fixed-fee quote
- Source code + workflows you own
- 30 days post-launch tuning
- No hourly surprises
Questions
Common questions.
- Isn't custom software always more expensive than buying?
- Usually, and we'll say so when it's true: the first thing we do is check whether something off the shelf fits. Building wins in two situations. When the per-seat cost of a platform that fits badly exceeds the build cost within a couple of years, and when the thing you need genuinely doesn't exist. If neither applies, we'll tell you which product to buy instead.
- What happens when you're not around?
- You own the repository, the database, and the hosting accounts from day one. We work in your accounts where possible rather than ours. Standard stack, documented decisions, no proprietary framework. Any competent developer can pick it up, which is the point.
- Can you work with our existing developer?
- Yes, and it's often the right shape: we build the first version and set the patterns, your developer maintains and extends it. We'll write for that handover rather than for ourselves.
- How is this different from your workflow automation service?
- Workflow automation moves data between systems that already exist. This builds the system that doesn't. In practice they arrive together, a warehouse needs pipelines feeding it, and a portal needs the workflows behind it, so plenty of engagements span both.
- Do you do mobile apps?
- No. We build web applications, which on a phone means a responsive site rather than something from an app store. If you need native iOS or Android, we're the wrong shop and we'll say so on the call.
Explore more
Other services we offer.
01
Workflow Automation & Integrations
The core build: multi-step workflows that move data across your CRM, billing, project management, and comms. Automatically, reliably, and at scale.
Learn more02
AI Automation & Agents
The judgment layer: AI for the unstructured steps rule-based workflows can't handle, with validation, human gates, and a real answer on where AI doesn't belong.
Learn more03
Automation Strategy & Program Leadership
The engagement where we think and lead rather than build: audit, prioritization, and PMP-certified program leadership so the right things get automated in the right order.
Learn more04
Platform Implementations
End-to-end configuration, data migration, go-live, and team enablement for the platforms your business runs on.
Learn more06
Website Builds & SEO Programs
Marketing sites built like operations assets: fast, measured in Search Console, wired to your CRM, and QA-checked by an automated agent suite before launch.
Learn moreP
n8n Consulting & Development
The platform behind most of our builds: self-hosted deployments, Zapier and Make migrations, and managed hosting, plus n8n-native workflow development.
Learn moreP
RecruitCRM Consulting & Integration
Configuration, data cleanup, and the integrations RecruitCRM doesn't ship: bulk imports with governance, reporting that leaves the platform, and placement-to-invoice.
Learn moreGo deeper
Custom Apps & Data Platforms playbooks from the blog.
Build vs Buy vs Hire: A Decision Framework for Your Next Automation Project
Sometimes buying Zapier is the right call. Sometimes hiring an agency is. Sometimes building in-house wins. Here's the framework, and the math, for picking right.
Read the playbookAutomating Your RevOps Dashboard: Self-Updating KPIs Across Salesforce, HubSpot, and Slack
Companies with a RevOps function grow 36% faster. What separates them isn't the function: it's the dashboards. Here are the 12 KPIs that matter and the architecture that keeps them current without a human in the loop.
Read the playbookReady to scope your custom apps & data platforms project?
Request a call. We'll talk through your stack, your goals, and walk away with a scoped plan and a quote.