Cornerstone builds custom operational web apps for service businesses doing $250K–$5M. We replace the spreadsheets, whiteboards, and duct-taped tools with software you actually own — shipped in weeks, not quarters.
Service businesses hit a wall somewhere around $500K in revenue. The spreadsheet stops scaling, the whiteboard becomes a liability, and the group text is now your system of record. None of it is measurable. All of it is fragile.
Revenue, utilization, recurring customer value — these numbers live in someone's head or across four spreadsheets that never reconcile. You're running blind on the decisions that matter most.
Google Sheets for scheduling, Mailchimp for comms, a CRM you bought in 2019, a Notion board nobody updates. Every handoff is manual. Every week you lose hours to copy-paste.
The business can't scale because you're the integration layer. You can't take a week off. You can't hire because there's nothing to hand the new person. The operation doesn't exist outside of you.
Every project is a scoped, flat-fee build of a custom web application tailored to your operation. Each tier has a price range — the final number gets locked into a single flat SOW after a 30-minute scope call. No retainers. No hourly mystery boxes. No surprises on the invoice.
Most ops software bills you forever for problems that never get fully solved. A Cornerstone build is a one-time investment in a custom tool you own outright. If it saves your team 5 hours a week at $35/hr blended labor cost — that's $9,100/year recovered, year after year. An Operations Hub pays for itself in under 10 months at the top of its range — and under 6 months at the floor. A Performance Platform typically hits payback in under 5 months.
We're taking on our first 5 Cornerstone clients under Founding Client pricing — locked at the floor of their tier in exchange for detailed case study rights and a video testimonial at launch.
What we ask for in return: permission to publish a named case study, before/after metrics, and a 2-minute video testimonial at the 90-day mark. That's it.
Apply as a Founding Client →Every project runs on the same repeatable template, whether it's a $2.5K Snapshot or a $75K Business-in-a-Box. You see progress every week in a dedicated review portal — no black boxes, no surprise delays.
We start with a real conversation about how your business actually runs today. Where the chaos lives, which job eats the most of your week, what "great" would look like if you never had to think about it again. By the end of the week you have a signed scope document that spells out every feature, every screen, and exactly what "done" means.
The actual work: 30-minute discovery call to map the workflow and pain points. Full scope questionnaire (32 questions, 6 sections) completed by you inside the portal. Claude Cowork drafts the initial scope doc from your answers; I tighten it and add acceptance criteria for every feature.
Deliverables to youSigned Statement of Work with fixed price, feature list, data model outline, timeline, and acceptance criteria. 50% deposit invoice via Stripe. Your dedicated review portal goes live with tab 1 (scope) populated.
Tooling stackWe design the whole thing on paper first: every page, every button, every user role. You see exactly what the app will look like and how it will flow. Nothing expensive gets built until you've signed off on the design. This is the step that kills scope creep before it starts.
The actual work: I translate the scope doc into a data model (what objects exist, how they relate), a user-role matrix (who can see and do what), and Figma wireframes for every screen. Claude Code scaffolds the empty Git repo with your branding, folder structure, and CI pipeline so Week 3 starts at full speed.
Deliverables to youFigma prototype you can click through in your browser. Data model diagram. User-role access matrix. Approved in the portal's Approval Flow tab with a timestamped signature.
Tooling stackThis is the "real thing starts existing" phase. Login, user accounts, your core pages, the database, and permissions all go in. By the end of Week 3 you have a live staging link — a working URL you can log into and click around. Every Friday you get a progress check-in posted in your portal so you're never guessing.
The actual work: Claude Code ships the authentication layer (Firebase Auth), the Firestore database schema, the primary CRUD pages (Create/Read/Update/Delete — the bread and butter of any app), nav structure, and role-based access controls. Every commit runs through GitHub Actions for CI and deploys automatically to a staging environment on Netlify.
Deliverables to youLive staging URL with working login. Your core workflow usable end-to-end in skeleton form. Weekly Friday progress post in the portal with a changelog and screenshots. Feedback lane open — anything you flag gets triaged the same day.
Tooling stackCore is working. Now we make it actually fun to use. Custom reports your team will check every morning. Dashboards showing the metrics you care about. Hooks into Stripe for payments, Twilio for SMS, SendGrid for email — whatever your workflow needs. Brand polish so it feels like yours, not ours. You approve the final feature list through the portal before we move to launch.
The actual work: Build out the reporting and dashboard views against Firestore. Wire in third-party integrations via API keys you provide (or we set up fresh). Apply brand colors, typography, logo, and custom illustration. Run a full QA sweep with Claude Code executing test harnesses against the staging build. Fix bugs, tighten UX, lock the feature list.
Deliverables to youFeature-complete staging build — every item in the SOW shipped and working. QA log showing what was tested. Approval Flow request for final sign-off, logged with a timestamped signature in the portal.
Tooling stackBefore we go live, we try to break it on purpose. Edge cases, weird user inputs, failed payments, dropped connections. We also record a training video for your team and draft a one-page quickstart. If anything's shaky, we fix it this week — not after launch.
The actual work: Full QA pass: boundary testing, error-state testing, load testing (k6 or equivalent), cross-browser sweep, mobile responsive check. Security audit of Firestore rules and API keys. Production environment provisioned on Firebase (separate project from staging). Custom domain configured with TLS. Training video recorded in Loom, quickstart doc drafted in the portal.
Deliverables to youQA report with every test run. Production environment standing by. Training video and quickstart doc in your portal. Final launch checklist ready for your go/no-go.
Tooling stackLaunch day. We flip the switch from staging to your real domain, onboard your team, and hand over the keys — Git repo, Firebase project, hosting account, everything. You leave Week 8 owning a production web app that replaces whatever chaos it was built to kill. Final invoice goes out the same day.
The actual work: Deploy to production, DNS cutover to your custom domain, TLS certificate live. Walk-through session with your team (recorded). Transfer of ownership: Git repo transferred to your GitHub org, Firebase project transferred to your Google account, Netlify team ownership transferred. Final 50% invoice issued via Stripe.
Deliverables to youLive production app on your custom domain. Full ownership handoff package (credentials, access docs, architecture notes). Recorded training session. Final invoice. If you opted into a support plan, it auto-starts today.
Tooling stackPick a support tier ($250–$1,500/mo) for hosting, uptime monitoring, monthly feature updates, and priority fixes. Want to add a whole new module down the road? That becomes its own mini-project with its own fixed fee. No retainer mystery box. No lock-in.
The actual work: Your support plan triggers a recurring Stripe subscription and a new support queue in your portal. Bug reports, feature requests, and change requests all flow through the portal with audit trails. Monthly check-in post with uptime metrics, change log, and recommendations for what to build next.
Support tiersLight ($250/mo) — hosting, uptime monitoring, critical bug fixes, one small change request per month.
Standard ($650/mo) — everything in Light plus 4 hours of feature iteration per month and priority response.
Premium ($1,500/mo) — everything in Standard plus a dedicated monthly strategy call, 10 hours of build time, and first-in-line for major version upgrades.
A lean in-house build stack means lower cost, faster delivery, and software you actually own. Here's what that looks like in numbers.
If your question isn't here, send it through the contact form and you'll get a real answer back within one business day.
30-minute intro call. No pitch, no sales pressure. We figure out if Cornerstone is the right fit for what you're trying to build, and if it is, you get a full SOW within a week.