Skip to main content

How we work

The same process for a one-line fix and a full build.

This is the real lifecycle every change to software we build goes through, from the first email to the live release. The size of the job changes how long each stage takes. It never changes which stages happen.

A senior engineer directs the work. AI agents do the building. Guardrails written in code make sure nobody, human or machine, takes a shortcut to production.

The lifecycle

Eight stages, no shortcuts

For each stage: what happens, what you see, and what is enforced by the system rather than left to good intentions.

  1. Every ask becomes a task

    Concept

    An email, a call, a text or a problem our monitoring spots becomes a tracked task the moment it arrives, written in your words and filed against your project. Four questions in one email become four tasks, so nothing gets closed by accident when the first one is answered.

    What you see
    A task that says what you asked for, and what it is waiting on if it cannot start yet.
    Enforced
    Nothing lives only in an inbox. If it is not a task, it did not happen.
  2. Read the real code first

    Plan

    Before anyone commits to an approach, we read the code that is actually there: where the change belongs, what already exists that can be reused, and what it could break. Larger work is broken into small pieces, each one shippable on its own. A senior engineer makes the architecture calls.

    What you see
    A plain-English plan: what changes, what does not, and the risks worth knowing about.
    Enforced
    The plan is checked against the codebase, not written from memory or a template.
  3. See it before we build it

    Mockup

    When a change is visual, you see it first: a mockup or a clickable prototype in our real design system, at phone and desktop sizes. It is far cheaper to move a button in a mockup than in shipped code.

    What you see
    A link you can open on your phone and react to before any code exists.
    Enforced
    Designs are held to WCAG 2.2 AA contrast and target sizes from the first draft.
  4. Its own branch, its own workspace

    Build

    Every change is built on a fresh branch in an isolated workspace, never on the live code. The engineer directs and AI agents built on Anthropic’s Claude do the building: reading the code, writing the change and writing the tests for it. When several pieces are in flight at once, each gets its own workspace so they cannot collide.

    What you see
    Nothing yet, on purpose. Your live site is untouched while the work happens.
    Enforced
    Two agents can never edit the same working copy. The tooling blocks it outright.
  5. A paper trail with every change

    Commit

    Each commit says what changed and why, in a standard format, and carries a written changelog entry and any documentation it affects in the same commit, never as an afterthought. Secrets and passwords cannot be committed: the tooling refuses before they ever reach GitHub.

    What you see
    A dated changelog entry describing the change in plain terms.
    Enforced
    Commits straight to the main branch are blocked locally. So are commits containing secrets.
  6. Nothing merges on its own say-so

    Pull request

    The change opens as a GitHub pull request with a summary of what changed, why, and how it was verified. On every product and application repository we run, the main branch is locked: it rejects direct pushes, cannot be force-rewritten, and will not merge until the automated check passes.

    What you see
    A reviewable history where every line of your software traces back to a pull request.
    Enforced
    GitHub itself enforces the lock, so it holds on every machine, including ours.
  7. Proved, not assumed

    Testing

    We run the automated test suite, a security-focused code review of the change (authorization, input validation, anything that touches data), an axe-core accessibility scan against WCAG 2.2 AA, and full-page screenshots at phone and desktop widths. A red suite stops the job.

    What you see
    Screenshots of the real change on real screen sizes, not a description of it.
    Enforced
    Continuous integration runs on every pull request. A failing required check blocks the merge.
  8. Ship only what was merged

    Production

    Our deploy scripts refuse to run unless the code on hand is exactly what was merged, with nothing extra in the working copy. Data changes get a backup first. After the deploy we check the live site, and error tracking and uptime monitoring keep watching it. Releases get a version number, so “what shipped, and when” always has an answer.

    What you see
    A short, non-technical note that it is fixed and live, with screenshots where they help.
    Enforced
    A deploy of unmerged or modified code is refused before a single file moves.

Small or large

Same eight stages. Different scale.

Two typical jobs, walked through the same pipeline. The small one does not get a lighter version of the process. It gets the same one, faster.

A small change

Add a “best time to call” field to an intake form

One field, one form, in a custom app we built. The kind of change most shops would make live and hope.

  1. ConceptYour email becomes one task, in your words.
  2. PlanWe find the form, the database column it needs and every screen that shows the record.
  3. MockupA quick screenshot of the new field, if you want to see it first.
  4. BuildFresh branch. The field, the migration, the validation and a test.
  5. CommitOne commit with a changelog entry.
  6. Pull requestOpened on GitHub. The required check runs.
  7. TestingSuite green, accessibility scan clean, screenshots on phone and desktop.
  8. ProductionMerged, backed up, deployed, checked live. You get a two-line note.

Typically the same day

A full build

A member portal with sign-in, profiles and payments

A new product surface with accounts, data and money involved. Weeks of work instead of hours.

  1. ConceptEvery requirement captured as its own task, so none quietly drops.
  2. PlanArchitecture decided, then broken into small pieces that ship independently.
  3. MockupClickable prototype of every key screen, approved before building.
  4. BuildMany branches in parallel, each in its own workspace.
  5. CommitHundreds of commits, each with its changelog entry and docs.
  6. Pull requestDozens of pull requests. Every one clears the same locked branch.
  7. TestingEvery pull request tested. Payments and sign-in get end-to-end tests.
  8. ProductionA release candidate you can click through, then version 1.0 with monitoring on.

Typically several weeks

Who does what

A person, the agents, and the rules

We are an AI-native software company, and we would rather tell you exactly how that works than let you guess. People decide. Agents build. Code enforces the rules on both.

The same operating layer runs our own business every day. See Dembe OS.

The senior engineer

Human
  • Talks with you directly, first call to last release
  • Makes the architecture and design calls
  • Approves the plan before work starts
  • Signs off on anything risky: data, payments, launches

The AI agents

Claude
  • Read and map the existing code
  • Write the change and the tests for it
  • Run the checks, the scans and the screenshots
  • Draft the plain-English note to you, for a human to send

The guardrails

Code
  • Block commits straight to the main branch
  • Reject unmerged code at deploy time
  • Refuse secrets in commits
  • Stop destructive database commands without explicit sign-off

The stack behind the process

Named, not hand-waved

“We follow best practices” means nothing without the tools that enforce them. These are the ones doing the work, including two we built and run ourselves.

  • GitHubPull requests, locked main branches and required checks
  • GitHub ActionsContinuous integration on every pull request
  • ClaudeAnthropic’s models power the agents that build and test
  • PlaywrightFull-page screenshots and browser tests
  • axe-coreAutomated WCAG 2.2 AA accessibility scanning
  • Pest and PHPUnitAutomated test suites for our Laravel apps
  • BugHiveOur own error tracking, watching every live app
  • PulseOur own uptime, traffic and SEO monitoring
  • Semantic VersioningEvery release numbered, tagged and changelogged

Questions

Straight answers

Why so much process for a small change?

Because small changes break live software too, and usually at the worst moment. The steps are automated, so on a small change they cost minutes, not days. What you get in return is that nothing reaches your live site without a record, a test run and a way back.

Is AI writing my code?

Yes, and we say so openly. AI agents built on Anthropic’s Claude read the code, write the change and write the tests. A senior engineer directs the work, makes the architecture calls and approves the plan before it starts, and the same locked branches, required checks and guarded deploys apply to every change regardless of who or what wrote it. AI-native, not AI-added.

Does anyone ever skip the steps?

The main branch on our product and application repositories is locked by GitHub itself, so skipping is not a matter of willpower. The only bypass is an emergency hotfix for something broken in production, and that change is landed through a normal pull request the same day so the record stays whole.

Who is accountable if something goes wrong?

We are. Champlin Enterprises has shipped software since 1998, and the same senior engineer is on the first call and the last release. Error tracking alerts us, every release has a version you can roll back to, and the fix goes through the same pipeline as everything else.

Can I see the history of my project?

Yes. Every change has a pull request that says what changed and why, and a dated changelog entry in plain language. You own the code and its full history, with no proprietary framework holding it hostage.

Does this apply to every kind of project?

It applies to every change to software we build: custom applications, SaaS platforms, mobile apps and code-based sites. Routine content edits made in a site’s own editor, like a new photo or a revised paragraph, do not involve code, so they are made directly and checked live.

Guardrails, not good intentions.

Tell us what you need built or fixed. It goes through all eight stages, whatever its size.