Armakuni Contact us
← All case studies

The dealer had built software other dealers wanted.
It wasn't yet a product anyone else could buy.

A U.S. heavy-equipment dealer runs its own business on a platform it built, and wanted to sell that platform to other dealers. Selling it needed things its own use never had: tenants that set up in minutes, enterprise sign-in, documented APIs, tested recovery and SOC 2 readiness. Our embedded engineers are building those pieces, and the engagement grew from 250 to 400 engineering hours a month as the work moved from stability to commercial SaaS.

Before

Built for one company, wanted by many.

After
Minutesto set up a tenant, where it took days
  • Database-per-tenant isolation, RBAC and license-tier feature flags.

Built for one company, wanted by many

The dealer's platform already ran its own dealerships. Other heavy-equipment businesses could use it too, but selling it created a different engineering problem: each new customer needed its own environment, enterprise sign-in, controlled API access and a recovery plan, while the original dealership kept running its business on the same product.

Setting up a dealer meant a manual walkthrough of a schema with more than 150 tables, days of engineering time per tenant. Integrations ran on undocumented Kafka flows that couldn't safely be exposed outside. There was no SOC 2 program, no tested failover and no link to enterprise identity providers. Offline sync, cross-region backup and recovery-time and recovery-point targets weren't defined either, so the first external dealer could have been the first customer to lose data, and the internal team couldn't build all that without taking engineers away from the dealership's own operations.

Turn the tool into a product, without stopping the business

The work had an order: make the platform stable and testable first, then build the things a product needs (tenants, APIs, identity, recovery, compliance), and then the things that let it grow without adding headcount.

How we built it

5 decisions, in the order we made them. Each one says what we did and why, with what it did drawn beside it.

  1. A known baseline first
  2. A tenant in minutes, isolated by database
  3. APIs a partner can actually use
  4. Sign-in, recovery and compliance enterprises expect
  5. Growth without more support staff

A known baseline first

A stability review, first Processes1Features2Workflows3Pipelines4 then a 250-hour-a-month pod
The engineering

The engagement began with a stability review of every process, feature and workflow, and a 250-hour-a-month product, DevOps and architecture pod covering QA, CI/CD, monitoring and the AWS infrastructure. The team rebuilt the delivery pipelines, including iOS, with parallel tests, reviewed AWS right-sizing, autoscaling and secrets management, and set recovery objectives before wider onboarding.

A tenant in minutes, isolated by database

A new dealer, in minutes Dealer DBDealer DBNew dealer 150+ tables each, provisioned

“Armakuni's knowledge is impressive. Previously, I had hired a small team on-site, and I wasn't getting what I felt I was paying for. … Armakuni gets stuff done. … The work in automated testing and having all of our CI/CD and environments stood up has paid for itself in time and growth. The automated testing has found bugs before they reach production, which saves us so much time and stress. We're able to focus on growing the product because we don't have to worry about DevOps or testing. They've also stood up our IDP, DEV, QA, training, production, CI/CD, and fully automated mobile testing. … Armakuni has delivered a lot, and we're going to have a long partnership.”

Owner, an equipment dealer software company
The engineering
  • Provisioning scripts and orchestration stand up a tenant schema of more than 150 tables automatically, replacing the manual setup.
  • Database-per-tenant architecture gives each dealer its own data environment, so a feature change can't leak data across tenants.
  • RBAC and license-tier feature flags connect user permissions to the product's commercial packaging, so pricing works from the first dealer.

Why: in a multi-tenant product, provisioning speed decides how fast sales can grow, and isolation decides whether customers sign.

APIs a partner can actually use

Built withKafkaWAF
Documented APIsA partner connectsGuarded and metered
The engineering

Documented REST APIs replace selected legacy Kafka integration flows, with OpenAPI definitions, rate limits and WAF protection around external access, plus usage tracking and anomaly detection before anything is exposed.

Sign-in, recovery and compliance enterprises expect

Built withCognitoAurora
What enterprises expectTheir own sign-in, via CognitoCross-region database recoveryTenant health monitoringFailover testingbeing addedSOC 2 Type 1 readinessunderway
The engineering
  • Cognito federates with customers' own identity providers, so dealer employees use the sign-in they already have.
  • The recovery design includes cross-region database capability, with Aurora Global Database and read replicas, and reduced-capacity container hosting in the secondary region, and automated failover testing is being added so recovery becomes a drill rather than an incident.
  • Tenant health monitoring follows each dealer's ERP and integration connections, so one tenant's outage is visible separately from the shared application's health.
  • SOC 2 Type 1 readiness work, including evidence collection, runs alongside preparation for external onboarding.

Growth without more support staff

Built withBedrock
in developmentGrowth without more support staffUsage metered per dealerService calls routed
The engineering

A reseller portal for tenant management, usage and billing is in development, with a usage-metering pipeline for billing. A separate Bedrock workstream is building AI agents for service routing, parts inquiries, quoting and follow-up.

One new dealer, end to end

  1. A dealer signs. Provisioning creates its own database with the full 150+ table schema, in minutes.
  2. Its license tier sets the features it can use, through feature flags.
  3. Its employees sign in with their company's own identity provider, through Cognito.
  4. Its ERP connects through the documented REST APIs, behind WAF and rate limits.
  5. Tenant monitoring watches its connection, separately from everyone else's.
  6. If a region fails, the recovery design brings its data back from the secondary region.

What we'd tell another CTO

1Stabilize before you productize, with tests and pipelines in place before the first tenant, and make provisioning a script, because a schema walkthrough per customer doesn't scale.
2Isolate by database when your customers compete with each other, and put documentation, rate limits and a firewall in front of every external API. SOC 2 readiness is a precondition for enterprise sales, so it gets built alongside the product.

What else changed

  • Documented, rate-limited REST APIs behind WAF, replacing selected Kafka flows.
  • Federated sign-in, tenant health monitoring and a cross-region recovery design.
  • Rebuilt delivery pipelines, iOS included.
  • An engagement that grew from 250 to 400 hours a month, about 60% more capacity, as the scope moved from stability to full SaaS commercialization.

What comes next

The first external dealer live, the reseller portal and usage-based billing, the AI agents in production and the SOC 2 Type 1 audit.

How we'd do it today

This project came before our current offers. Here's how we'd approach the same work now.

The dealer-facing AI agents, for service routing, parts inquiries or quoting, would each get their own identity, only the tools the job needs and one dealer's tenant in reach at a time, with their rules, spend limits included, as Cedar policies in AgentCore Policy checked outside the model on every tool call. A golden set of real past service calls and quotes would be the test every change must pass before it goes live.

As the internal code becomes a product, AK Evolve's AI analysis agents would score each service on complexity, coupling, testability, change risk and AI readiness, putting tech debt in dollars per service with a verdict for each: ready now, needs foundation work first, or retire. The SOC 2 evidence would come from the controls as they run.

Once dealers are live, the pod would become the full managed service, with one team taking on production, the application, security and the dealer-facing AI agents. Each tenant would be watched by what that dealer feels, a bug would be fixed in the code with a test and shipped through the company's pipeline, and patches, upgrades and failover tests would run on a calendar with an owner for each. Every AI agent would be on one register, with each model call through Agent ControlPlane, each step on a trace and a monthly evidence pack for the dealers' security reviews. A named service lead would answer for all of it.

Have a problem like this one?

A free workshop: a few hours with the architects who'd do the work, on your own systems. No cost.

Book a free workshop