Internal tools & dashboards
Internal tools and dashboards for small teams
Replace the spreadsheets, the email threads, and the manual steps eating your team's week. Custom internal tools that match how your team actually works — built by senior engineers and handed over fully owned.
What you get
- A custom internal tool deployed to your own infrastructure, with your own domain.
- Integrations with the data sources you already rely on — Postgres, Airtable, HubSpot, Stripe, custom APIs.
- Role-based access, so support, ops, and leadership see only what they should.
- An audit log of who changed what and when, because internal tools quietly need this more than you think.
- Short documentation your team can actually read, plus a loom walkthrough for training.
- Monitoring and error alerts wired up, so you hear about problems before your team does.
- Source code in your GitHub and a clean path for your next developer to take over.
Who this is for
Our internal tools work usually finds operations leads and founder-operators whose team is drowning in spreadsheets, email threads, and manual copy-paste. You know the signs — the ops person who “just handles it,” the daily CSV export, the Slack message that says “can you refund order 4872?” three times a day. You don't need a product team; you need the thing that should have been built two years ago.
We also fit well for teams that have outgrown Airtable, Google Sheets, or a first attempt at Retool. The workflow works, but the tool has become slow, fragile, or too risky to hand new hires access to. At that point you don't want another low-code platform you rent forever — you want a real piece of software that your team owns and your next developer can keep working on.
How we approach internal tools
- 1
Shadow the team for a day
Before writing a line of code we sit with the people who will use the tool. We watch the real workflow — the spreadsheets, the copy-paste between tabs, the Slack messages, the manual checks. What you describe in a kickoff is rarely the same as what actually happens at 3pm on a Tuesday.
- 2
Design the smallest useful tool
We write down the workflow, circle the two or three screens that will actually save hours, and propose a scope. Anything that doesn't earn its place in version one gets parked. You see a flat price and a fixed scope before we start building.
- 3
Ship iteratively, in front of real users
The team starts using the tool as soon as the first screen is usable, not at a big launch moment. That surfaces the real friction quickly and keeps us from building features no one needed. We ship in short increments and adjust as we learn.
- 4
Hand over with documentation
On the last day you get the repository, the deployed tool, an admin runbook, and a handover call. If you later want to add a field or a new screen, your team or your next engineer can do it without us. No hidden hosting, no mystery services.
What makes our approach different
Simple, sane engineering
Internal tools should be boring. We use frameworks your next hire has already seen, and we keep the surface area small enough to maintain without a full-time team.
No vendor lock-in
The tool lives on your infrastructure, in your GitHub, pointed at your database. If you part ways with us tomorrow nothing breaks and nothing goes dark.
Flat, predictable pricing
We scope the tool and quote a flat fee. No hourly billing surprises, no per-seat license from us. The only recurring cost is your own hosting and data bill.
Engineer-led, always
You talk to Eric and the engineer doing the work. No account managers, no status-meeting theater, no layer between your team and the people writing the code.
Tech we reach for
Most internal tools we build run on Next.js or Remix with TypeScript, backed by Postgres (usually via Supabase or Neon), with Clerk or Supabase Auth handling sign-in. Deployment goes to Vercel or the client's existing infrastructure — AWS, GCP, or a private Kubernetes cluster if that's where the team already lives. We pick the simplest thing that safely solves your problem, and we avoid adding any service your team can't cancel, log into, or understand on its own.
Common questions
What's the difference between this and Retool?+
Retool is great for a quick, glued-together internal view of a database. It stops being great once you need custom business logic, role-based access beyond the basics, a real audit trail, or anything your auditor or security team wants to see. A custom internal tool looks more polished, behaves more like a real product, and isn't rented back to you forever.
Will my team be able to tweak it later?+
Yes. We use plain Next.js or Remix with clearly separated concerns — a junior developer can add a column, change a label, or wire up a new data source without calling us. We also leave behind a short architecture doc so the next person knows where to look.
Do you integrate with [specific tools]?+
Usually yes. We commonly integrate with Postgres, Stripe, HubSpot, Salesforce, Airtable, Google Workspace, Shopify, QuickBooks, and in-house APIs. If the tool you care about has a public API or webhook, we can almost always wire it in. If it doesn't, we'll tell you honestly.
How much does a typical internal tool cost?+
Most internal tools land between roughly $15,000 and $45,000 as a flat fee, depending on how many screens, how many integrations, and how much real logic is involved. Smaller focused tools can be less. We quote a fixed number after a short scoping conversation.
Can you take over a tool someone else built?+
Often, yes. We regularly pick up tools built by a previous contractor, a no-code platform that outgrew itself, or an internal developer who moved on. We'll read the code first and tell you honestly whether it's worth extending or cleaner to rebuild — we won't pretend either way for the sake of the invoice.
Stop hiring around the tool you should have built
Tell us the workflow eating your team's week. You'll talk to Eric directly and get an honest read on whether this is a quick tool, a real platform, or something you shouldn't build at all. No sales sequence.
Related services