PLATFORM · APPS

Custom apps that replace the tools you've outgrown.

Software built around what your team actually does, not a SaaS configured to almost fit. Live slice in week one, shipped in four. AI in the architecture, not a chatbot bolted on.

01 · WHAT WE BUILD
01

Internal platforms

Operational backbones.

Custom CRMs, project and asset management, and lifecycle workflows that replace the Frankensystem of tools your team has outgrown.

Signal you need one

"Three spreadsheets, two SaaS tools, and a shared inbox are the source of truth."

Signature features
  • + Full record lifecycle — intake, routing, assignment, handoff
  • + Role-based views — one app, different surfaces per team
  • + Writeback to your existing CRM, billing, ticketing
  • + Embedded AI actions, not bolted-on copilots
02

Customer portals

Tenant-isolated, self-serve.

Branded portals where customers see their data, take actions, and stop emailing your ops team for things they could do themselves.

Signal you need one

"Your team spends half its day answering questions your customers could answer themselves."

Signature features
  • + Multi-tenant with row-level isolation by default
  • + SSO via Auth0, Clerk, or your IdP
  • + Self-serve forms wired to back-office workflows
  • + Audit trails and consent tracking built in
03

Dashboards that matter

The numbers your team actually runs on.

Operational dashboards that pull from everything and show the three things that decide if today went well — not 40 vanity metrics.

Signal you need one

"Every Monday is spent compiling a slide deck from four dashboards."

Signature features
  • + Metric logic defined with you, not copied from a template
  • + Live pulls from your database, warehouse, and SaaS tools
  • + Alerts when a metric crosses a threshold, not just charts
  • + Exported to Slack, email, or printed reports
04

Workflow apps

Intake → decision → handoff.

Purpose-built apps for a specific workflow — vendor onboarding, claims intake, order approval, site visits. The thing that was a spreadsheet, now something that runs.

Signal you need one

"The same email thread happens 40 times a month and no one learns the answer."

Signature features
  • + Form → rule → route, with human-in-the-loop where it matters
  • + Attachments, e-signature, and document generation
  • + Status visible to everyone without a Monday standup
  • + AI decisioning for repeat cases, escalation for exceptions
02 · EXAMPLE BUILDS
Crew list
Crew 3
On site
Bellingham
Crew 7
En route
Anacortes
Crew 5
Available
Oak Harbor
Crew 1
Break
Mt Vernon
Crew 2
On site
Sedro-Woolley
Dispatch map
Internal Platform · Telecom

Dispatch console for a regional ISP

Replaced Excel + shared calendar + Slack. Operators see every truck, every ticket, every escalation in one view. Handoffs are automatic.

Scope
Dispatch, tech app, SMS notifications
Shipped
5 weeks
H
Harbor Freight Co.
Client portal
Home Projects Invoices
Welcome back, Marcus
2 requests pending · 1 invoice due
Design Due Jul 8
Brand refresh
In review
Creative Due Jul 22
Q3 campaign assets
In progress
Portal · Professional Services

Client workspace for a 20-person firm

Clients submit, track, and approve work without emailing. Drove a 60% drop in inbound status emails in the first month.

Scope
Portal, forms, e-sign, billing
Shipped
4 weeks
Claim list
47
CLM-8241 Damage
PDX→SEA
K. Liu
CLM-8242 Lost
LAX→SFO
M. Park
CLM-8243 Delay
SEA→YVR
K. Liu
CLM-8244 Damage
SFO→PDX
CLM-8245 Lost
SEA→LAX
A. Chen
CLM-8246 Damage
YVR→PDX
K. Liu
CLM-8241
Filed 3h ago · routed to K. Liu
• AI extracted
TYPE
Damage
ROUTE
PDX → SEA
SHIPPER
Cascade Logistics
VALUE
$2,840
FILED
Jul 2 · 06:14
OUTCOME
Approve
Agent recommendation
"Photos confirm damage. Shipper history clean. Approve claim at full value."
Workflow · Logistics

Claims intake with AI pre-sort

Every claim routed to the right reviewer with extracted fields and a recommended outcome. Reviewers now spend 3x less time per claim.

Scope
Form, extraction, router, review
Shipped
4 weeks
03 · STACK
RUNTIME
Type-safe by default.
Astro · TypeScript · Tailwind · tRPC · Cloudflare
DATA
Your source of truth, properly modelled.
PostgreSQL · Drizzle · Airbyte · DuckDB · Redis
AI LAYER
Right model for each job.
Claude · OpenAI · Llama (self-hosted) · n8n · pgvector
04 · HOW WE SCOPE
W1
Align

One working session. We scope the problem, the success metric, and what week four has to prove.

W2
Stand up

A thin end-to-end slice is live by Friday. Ugly, real, and deployed.

W3
Thicken

The second feature lands. We show the build live, not a Figma. You use it, we iterate.

W4
Ship

Working software, users on it, ops docs handed off. We stay on for 30 days after launch.

GET IN TOUCH

Have an app in mind that doesn't exist yet?
Let's build it.

Scope a 4-week sprint with the people who'll ship it. No agency layer.