HOW WE WORK

Everything You Should Know Before We Write A Line Of Code

How we communicate, how we handle the distance, how a project actually runs from idea to production, who owns what, and how ongoing work is structured. No surprises, no fine print.

Communication

You should never have to wonder what's happening on your project, or feel like you're talking to a translator instead of the person doing the work.

Whatever tool you already use


We default to Slack because most clients already live there, but we're just as comfortable in Microsoft Teams or email. We adapt to your stack, not the other way around.

SlackTeamsEmailYour tool of choice

Project & task management, your way


Already run on Jira, Linear, Asana, or Trello? We work directly inside it. Don't have one set up, or want us to run it? We'll set up and manage the board for you as part of the engagement.

JiraLinearAsanaTrelloWe set it up for you

Your reporting line


  • No middleman by default. The developers building your product are in your channel, not hidden behind a single account manager.

  • Ask questions directly. If you want to talk architecture with the engineer who wrote it, you can, without routing it through anyone.

  • A dedicated PM if you'd rather not manage day-to-day. We can assign a project manager to run the board, coordinate the team, and report to you directly, so you get outcomes without having to run the process yourself.

Working Across Time Zones

We're based in Ho Chi Minh City (GMT+7). Most of our clients are in North America or Europe, so we've built our rhythm around bridging that gap rather than ignoring it.

EVERY BUSINESS DAY

Daily written updates


A short, concrete report on what shipped, what's in progress, and what's blocked, so you're never waiting on a meeting to know where things stand.

EVERY WEEK

A standing sync call


One recurring meeting to review progress, re-prioritize, and surface anything that needs a real conversation instead of a message thread.

WHEN IT MATTERS

We meet in your hours


For kickoffs, demos, or urgent issues, we'll schedule in our evening to land in your morning or afternoon. A handful of overlap hours is usually all it takes.


GMT+7

Ho Chi Minh City base.

Async-first

Work doesn't stop when you log off.

Live overlap

Available for real-time calls on request.

Your morning is our afternoon: working-hour overlap

Times shown on our 8am–5:15pm workday, GMT+7.

12am6am12pm6pm12am

Ho Chi Minh City

GMT+7ICT

Sydney

GMT+10 / +11AEST / AEDT

London

GMT+0 / +1GMT / BST

New York

GMT−5 / -4EST / EDT

Los Angeles

GMT−8 / -7PST / PDT
Our workday (GMT+7)
Overlap with our workday
Your local working hours (9am–6pm)
Our evening call window (6–10pm GMT+7)
  • For New York, our evening lands around 6–10am your time, before your workday starts.
  • For Los Angeles, it lands around 3–7am, so we schedule those calls by request rather than as a standing slot.

How A New Project Runs

The same starting point for every build, whether it's a six-week MVP or a year-long platform. Where the process forks is how it's priced. Nothing skipped, nothing hidden.

01

Requirements & discovery

We assign a Business Analyst to work closely with you and clarify requirements: your raw idea or spec, whatever shape it's in, turned into a written scope covering what you're trying to solve, for whom, and what success looks like.

02

Technical analysis & design

We break the scope into a real architecture: data model, integrations, infrastructure, and the technical risks worth flagging. Wireframes and UI design are produced where the project calls for it, so estimates and mockups are grounded in the same understanding of the product.

03

Choosing how the project is priced

Once requirements are clear, we agree on a pricing model based on how you want to work with us: a fixed cost with milestones if the scope is well-defined, or hourly billing on an agile process if requirements are expected to evolve.

From here, the process depends on the pricing model you chose. Both tracks end the same way: a live product moving into warranty and ongoing support.

FIXED COST

Milestone-based delivery

We estimate everything up front and implement against your approval, step by step.

01

Work Breakdown Structure

We prepare a WBS and our team estimates the time and cost for each item in it.

02

Estimate sent for approval

You review the estimated time and cost before anything is scheduled.

03

Release schedule

Once approved, we prepare a Release Schedule showing milestones, the features tied to each, and the associated payment.

04

Implementation & milestone releases

We build and release on each milestone, with QA before every release. When all milestones are complete, the project moves into warranty and maintenance.

Scope changes: anything outside the approved WBS is handled as a change request, estimated and approved the same way before it's added to the schedule.

HOURLY

Agile development

Best when requirements are expected to evolve. We build in short cycles and adjust based on real feedback.

01

Sprint planning

We agree on team size, rate, and the priorities for the first sprint, then start implementation in sprints, usually two weeks each.

02

Early releases

Features are released to you for feedback as soon as they're ready, rather than held until the end of the sprint.

03

QA & feedback

Feedback is addressed as it comes in. Once a feature passes QA, it's released to production.

04

Iterate

The cycle repeats sprint over sprint, with priorities re-evaluated as your requirements evolve.

Ending the engagement: there's no fixed finish line by design; most clients keep iterating or shift into a dedicated retainer once the product stabilizes.

04

Warranty & post-launch support

Launch isn't the finish line. We stay available to fix what real usage surfaces, and most clients move into an ongoing retainer once things are stable.

(Fixed-cost builds include a free bug-fixing period, from a few weeks to a few months depending on scope)

You Own The Code, The Repo, & The Infrastructure. Always.

Nothing sits in our name

From day one, everything we build lives in accounts you control. We're the team working on your systems, not the owner of them.

Code is pushed to a repository under your organization from the first commit.

Deployments run on your cloud accounts (AWS, GCP, Azure, or your host of choice).

We help you create any account or resource needed, using credentials you grant and control.

Access can be revoked by you at any time, for any reason.

No vendor lock-in: another team could pick up the codebase the day we leave.

All API keys, domains, and third-party service accounts stay registered to you.

How Engagements Are Structured

We work on fixed price, time & materials, or dedicated team terms, depending on how well-defined your scope is and how involved you want to be day to day.

FIXED COST

Fixed price


A set scope, a set quote. Best when requirements are clear upfront, like most new builds and rescue work. Includes a free bug-fixing period after launch.

FLEXIBLE

Time & materials


Billed for actual hours worked. Best when scope is still evolving, or when you want to adjust priorities as the project moves.

ONGOING

Dedicated team


A committed block of monthly hours or a full team assigned to you. Best for ongoing maintenance, team augmentation, or long-running product work.

See Full Details On Each Engagement Model

A Few Things Clients Usually Ask

Who owns the intellectual property?

PlusMinus
You do, entirely. Our contracts assign IP for all work product to you on payment, and every engagement starts with an NDA before any details are shared.

What if it isn't working out?

PlusMinus
Either side can end an engagement with notice as defined in the contract. Because the code and infrastructure are already yours, a handoff doesn't require untangling ownership first.

How do you handle security and sensitive data?

PlusMinus
Access is scoped to what's needed, credentials are never shared outside agreed channels, and we follow whatever compliance requirements your industry demands, discussed upfront during scoping.

What happens after launch?

PlusMinus
Most clients move into a retainer for ongoing maintenance. If you'd rather bring the work in-house, we'll do a structured handoff and documentation pass so your team can pick it up cleanly.

Latest Insights

Notes on the decisions behind building and maintaining real software.

How to Measure and Improve LCP in a Shopify Embedded App
Calendar iconOctober 7, 20266 min read

How to Measure and Improve LCP in a Shopify Embedded App

Shopify app feels fast but fails the 2.5s LCP check? Learn how to find the exact LCP element with web-vitals and fix it to earn Built for Shopify.

Extending Existing Software to Make Your Business Operations More Efficient
Calendar iconOctober 2, 20268 min read

Extending Existing Software to Make Your Business Operations More Efficient

Your platform handles most of the work. Learn how extending existing software with custom integrations closes the gaps, with a real Mindbody example.

How to Keep Mindbody Data in Sync With Your Own Database
Calendar iconSeptember 25, 20265 min read

How to Keep Mindbody Data in Sync With Your Own Database

Mindbody webhooks arrive twice and out of order? Here is the two-path sync architecture we use to keep a local database honest in production.

Ready to talk about how this would work for you?

Tell us where things stand today. Most conversations start with a 30-minute call, and no proposal is required to talk.

CodeMonitorGrid with light