Enterprise application architecture · 100% onshore

Enterprise application architecture that stays clean as it grows

The shape of your software decides how fast it can change. We lay it out in clear layers, write the design rules down as automated checks, and keep it tidy long after launch. It's how two of our engineers, working with AI agents, rebuilt a manufacturer's whole ERP in about five months.

baytechconsulting.comsystem.map
$ baytech check --app quest-erp
› 75+ design-rule check files: layers, naming, errors, deletes
› about 5,700 back-end and 3,200 front-end tests
› 7,412,716 rows moved in 7 min 30 s, zero errors
✓ nothing ships unless every check passes

Architecture that stays clean

The design rules are written as code, so shortcuts can't slip in

Every system starts out tidy. It gets messy one shortcut at a time. On Quest Industries' ERP, the design rules run as automated checks on every change, whether an engineer or an AI agent wrote it. Here are three kinds of shortcut they stop.

quest-erp · design rules
Screens
Angular · phone to ultrawide
Quotes
Jobs
Scheduling
Purchasing
API
one front door, permissions checked
API
Business logic
.NET · one handler per task
Estimates
Quotes
Jobs
Scheduling
AI operations
Data and services
storage, queue, AI providers
PostgreSQL
Redis
RabbitMQ queue
AI models
design-rule checksall checks pass · ready to deploy
  1. Layers: screens go through the API, and only the business logic touches the database
  2. Names follow one pattern, so anyone can find anything
  3. Errors come back in one standard shape
  4. Deletes follow the rules, so nothing is left orphaned
  5. Every AI operation is registered, with its model named and its cost tracked
  6. Every screen passes color-contrast checks in light and dark mode
  7. Every screen works from phone to ultrawide, and by keyboard
› 3 shortcuts blocked, all fixed
  1. shortcut 01

    A quote screen asks the database directly

    Blocked by: Layers: screens go through the API, and only the business logic touches the database

    Fix: Go through the API to the quote handlers, which own the database work.

  2. shortcut 02

    An estimate calls an AI model on its own

    Blocked by: Every AI operation is registered, with its model named and its cost tracked

    Fix: Register it as a named AI operation, so its model is chosen on purpose and its cost is tracked.

  3. shortcut 03

    Deleting a mold job leaves its component jobs behind

    Blocked by: Deletes follow the rules, so nothing is left orphaned

    Fix: Delete the job and all of its sub-jobs together, so no orphans are left.

75+

design-rule check files that fail the build when a rule is broken

5,700

back-end tests, roughly, including integration tests on a real PostgreSQL database

3,200

front-end tests, roughly, run on every push

0

warnings allowed: the build treats every warning as an error

Quest Industries ERP, 2026. The three shortcuts are examples of what the checks stop; the rules are the real ones.

One system, clear boundaries

Three systems became one enterprise application

Quest Industries, a Michigan mold-tooling and machining shop, ran on an old ERP, a separate workflow platform and a stack of estimating spreadsheets, and people retyped data between them. Two Baytech engineers working with AI agents replaced all three in about five months, with one clean structure underneath: every area built the same way, all talking through the same front door.

Quest ERP
  • ✓Quoting
  • ✓Estimating
  • ✓Jobs
  • ✓Scheduling
  • ✓Purchasing
  • ✓Shipping
  • ✓Inventory
  • ✓Quality
  • ✓Workflows
3

separate systems replaced by one

7.4M

records moved from the old systems in 7.5 minutes, with zero errors

100,000+

old quotes recalculated to prove the new prices match within cents

22

feature areas, all built on the same pattern

Quest Industries ERP, built by Baytech in 2026.

Architectures We've Built, andWhy

One well-organized application or dozens of services: real clients, and the shape that fit them.

Quest Industries

One application, 22 feature areas

Problem: Quest ran on an old ERP, a workflow platform and estimating spreadsheets that didn't talk to each other.

What we did: Built one application with one structure: Angular screens, one API, .NET business logic, PostgreSQL, and a queue for background work. 75+ design-rule check files keep every area consistent.

Result: In daily use for quoting and jobs, built by two engineers working with AI agents in about five months.

LeadStack

50+ services, every event recorded

Problem: Prime, the CRM we'd built for lenders, was a desktop system that could serve only one company at a time.

What we did: Rebuilt it for the web as more than 50 containerized services on Kubernetes, each scaling on its own, with every event recorded permanently.

Result: Many companies on one platform, a full audit trail, and the ability to replay any lead's history.

Sell Your Boards

A clean three-tier web app

Problem: Orders ran through email, spreadsheets and shipping labels bought by hand.

What we did: Three tiers: a Next.js front end, a .NET API and PostgreSQL. The front end's code for calling the API is generated from the API itself, and side jobs like emails run as events.

Result: Launched with zero downtime: 47 orders and $4,171.11 paid out to sellers in the first week.

American Allied Health

One back end for web and mobile

Problem: Their new online school had been started, then scrapped, twice with other firms.

What we did: One back end serving a public site, student, partner and admin portals, and Android and iOS apps, all running in containers on Kubernetes.

Result: Delivered in 7 months. Average monthly revenue rose more than 20% after launch.

Petra Medical College

Three portals, one back end

Problem: An outside firm had worked on the project for two years with little progress.

What we did: Admin, partner and student portals on one shared back end, planned across more than 300 screen designs.

Result: Delivered in 5 months, on time and under budget.

Baytech's own platform

What we run our own company on

What it covers: Our CRM, projects, time tracking, reporting and client portal.

How it's built: An Angular front end and a .NET back end in clear layers, one handler per task, and background work on a shared queue so each job runs once, however many servers are up.

Why it matters: Its design rules run as automated architecture tests too. We hold our own software to the same standard as yours.

How we work

How we design enterprise application architecture

Most businesses don't need the fanciest architecture. They need one that fits how they work and stays easy to change. Here's how we get there.

  1. 01
    map

    Map the business first

    The software's parts follow how your company actually works. For Quest, that was quote, job, schedule, purchase, ship.

  2. 02
    shape

    Pick the right shape

    One well-organized application suits most businesses: simpler to build, test and run. Separate services pay off when parts must grow on their own, as in LeadStack's 50+ services. Serverless suits work that comes in bursts, if you accept tying yourself to one cloud.

  3. 03
    layers

    Draw clear layers

    Screens, one API, business logic, data. Each layer only talks to the one below it, so a change in one place doesn't ripple everywhere.

  4. 04
    rules

    Write the rules as tests

    Layering, naming, error handling and delete rules become automated checks. On Quest ERP, 75+ check files fail the build when a rule is broken.

  5. 05
    queue

    Move slow work off the main path

    Emails, imports and AI jobs go on a queue, so screens stay fast and no work is lost if a server restarts.

  6. 06
    we run it

    Run it and keep it clean

    Automated releases, Sentry error tracking, uptime monitoring and automated tests. We host and manage many of the systems we build, so we live with our own architecture.

From a client

Quest Industries' V.P. of Operations, after months of twice-weekly working sessions on the new ERP:

I trust you guys after working with you for a while ... You're not trying to upsell us or underplay something 'cause you don't feel like doing it.

Chance Hoover · V.P. of Operations, Quest Industries

Is your system getting harder to change?

Tell us what you run today. We'll look at how it's put together and tell you plainly what to keep, what to fix and what it would take.

Talk to an architect

Company Facts
& Figures

Calendar 02
17 Years In Business
Clipboard
120+ Projects From SMB to Fortune 500
Tree 06
154+ Years of Combined Experience
Wallet done 02
Debt Free Organization
Star gray
Perfect 5-Star Rating on Clutch
Ai innovation 02 gray
Pioneers in AI-Driven Solutions

Our Office

Maps location 02
2102 Business Center Dr
Suite 130
Irvine, CA 92612
Location
Call ringing 02
Phone Number

Get in Touch

Software is what you depend on to get things done. Baytech is who you depend on for software.

Never share sensitive information (credit card numbers, social security numbers, passwords) through this form. This form is protected by Cloudflare Turnstile — see Cloudflare's Privacy Policy and Terms of Use.