Engagement & pricing
How an engagement can be structured, and guidance on which shape fits which kind of work.
How we structure engagements
We recommend a model on the discovery call once the shape of the work is clear. All three are starting points, adjusted to fit the engagement.
A clearly scoped build with a fixed deliverable list, timeline and price — agreed before we start.
- Best for a defined scope: a new site, a store build, a single application
- Written proposal with milestones you approve before work begins
- Fixed price, fixed timeline — scope changes are quoted separately, not silently absorbed or silently charged
- You own the code and repo from day one
For work that will evolve as you learn — an MVP, an evolving product, ongoing feature work.
- Best for ambiguous or fast-changing scope
- Transparent weekly time logs, not a black-box invoice
- Easy to scale the team up or down as priorities shift
- A named lead engineer, not a rotating pool
Maintenance, small feature work and support after launch, on a predictable monthly plan.
- Best after launch, or for an existing codebase that needs steady attention
- A monthly hour bank that rolls into bug fixes, small features or support
- Priority response time for anything urgent
- Cancel or pause with notice — no lock-in contract
Typical delivery timelines
Real ranges, not a hidden "contact us for a real number." Every project still gets a proper scoped quote.
| Service | Typical timeline |
|---|---|
| Custom Web Applications | 6–12 weeks for a first working version, longer with heavy legacy-system integration |
| Mobile App Development | 8–14 weeks to a first release, plus review time on Apple's and Google's clocks, not ours |
| E-commerce Development | 4–6 weeks for a focused fix (payment gateway, inventory sync, or performance work); 8–14 weeks for a full build or replatform, run in two-week phases. |
| Shopify Store Development | A standard Online Store 2.0 build or replatform typically runs 4 to 8 weeks. Shopify Plus builds involving Checkout Extensibility, Shopify Functions, or a Hydrogen storefront usually run 8 to 14 weeks, depending on catalog size, integration count, and how much historical data needs migrating. |
| Shopify App Development | A focused embedded app — one core workflow, Billing API, standard webhook set — typically takes 6 to 10 weeks from kickoff to App Store submission. Shopify's review adds another 1 to 3 weeks depending on their queue and how many review cycles it takes, which is largely down to how clean the first submission is. A private or custom app built for a single merchant skips review entirely and usually ships in 3 to 6 weeks. |
| WooCommerce Development | Most WooCommerce builds run 4 to 10 weeks depending on catalog size, how much custom gateway or shipping work is involved, and whether the design is fully custom or built on a modified theme. Performance, HPOS migration, and integration work on an existing store usually runs 2 to 4 weeks. |
| WordPress Website Development | Most custom builds run 4 to 8 weeks from kickoff to launch, depending on template count and how much content migration is involved. Straightforward marketing sites land toward the shorter end; multi-post-type builds with heavy ACF structuring or a large content migration run longer. |
| WordPress Plugin Development | 2–8 weeks depending on scope. A focused utility plugin lands on the shorter end; one with custom REST endpoints and an admin dashboard lands on the longer end. |
| SaaS Product Development | Typically 10-16 weeks for a first release, after a 1-2 week scoping sprint that locks the tenancy model, billing structure, and MVP scope before any code gets written. |
| AI Services | A single RAG pipeline or LLM integration usually takes 4 to 8 weeks from scoping to production. Add agentic tool-calling, multiple data sources, or a human-in-the-loop review workflow, and it's closer to 8 to 14 weeks. We scope in phases so a working, grounded first version ships well before the full system does. |
| Workflow Automation (n8n / Make.com) | 2-6 weeks for most integration projects, depending on how many systems are involved and how much error handling the workflow needs. A single webhook-driven sync between two tools can land in under 2 weeks; a multi-system setup with retries, alerting, and reconciliation logic across four or more platforms typically runs 4-6 weeks. Ongoing monitoring and adjustment continues on a retainer basis after launch for clients who want it. |
| Digital Marketing | 2–3 weeks to audit, fix tracking, and launch; then an ongoing monthly retainer, with a 3-month minimum since SEO and paid data both need time to mean anything. |
| Social Media Marketing | Audit and platform strategy: 1-2 weeks. First content calendar and creative production: 2-3 weeks. After that it runs as an ongoing monthly retainer — we ask for a minimum 3-month commitment, since organic reach and paid testing both need a full quarter to separate a real trend from normal week-to-week noise. |
Questions people ask before signing
Straight answers on pricing, code ownership, timelines and what happens after launch.
Every project starts with a call rather than a form. We ask about the problem you are solving before the feature list, because the feature list usually changes once the underlying problem is clear. After that we send a written proposal: scope, timeline, price or hourly estimate, and what we need from your side to hit that timeline (usually one clear decision-maker and reasonably fast feedback on demos).
Once you sign off, a short kickoff call confirms scope and introduces the engineers building your project. Work happens in short milestones, typically one to three weeks depending on project size, and each one ends in something you can click through on a staging URL rather than a status report. We check in on a fixed cadence, weekly for most projects and more often near launch, and you’re never stuck waiting for a scheduled call to get an update.
Launch isn’t the end of the relationship. We hand over the code, credentials, and documentation, and talk through what support looks like afterward, which is covered below.
Both, depending on how well-defined the work is. If you can tell us what you want built — a WooCommerce store migration, a set of Shopify Liquid templates, a mobile app with a fixed feature list — we’ll quote it fixed-price against a written scope document. You know the number before we start, and so do we.
If the work is genuinely open-ended, we bill hourly or on a monthly retainer instead, usually with a not-to-exceed cap so there’s still a ceiling. That covers things like an MVP where the feature set is still being figured out, or an ongoing n8n automation build where new workflows get added as you discover new bottlenecks. Hours are tracked and reported, so you can see where the time went rather than taking our word for it.
What we won’t do is quote fixed-price against a vague brief. That’s how projects end up arguing about what counts as “in scope.” If the brief isn’t tight enough to price properly, we’ll ask more questions or suggest a short paid discovery phase first.
You do. Once final payment clears, you own the code, the designs, and everything else we built for you, full stop. That’s written into the contract, not left as a verbal understanding.
You don’t have to wait until the end to see any of it, either. We typically build in a repository under your own GitHub or GitLab organization from day one, so you have access throughout the project. If we start in our own repo purely for setup convenience, we transfer it at completion. Either way, you leave with the actual commit history, not a zip file handed over at the last meeting.
The one exception is anything licensed from a third party on your behalf, such as a premium WordPress plugin, a paid Shopify app, or a font license. That stays governed by the vendor’s own terms, the same as if you’d bought it directly yourself.
You can. Nobody is locked into a project they’re unhappy with, and we would rather you leave cleanly than stay resentful.
In practice, you pay for work completed and accepted up to that point, which is one reason we bill in milestones rather than a single lump sum at the end. We hand over everything built so far — code, assets, credentials, documentation — and we’re available for a short handover call if you’re moving to another team. We don’t hold work hostage over a disagreement, and we don’t charge a termination fee.
If something is wrong, we’d genuinely rather hear about it and try to fix it than have you quietly plan an exit. Most “we want to stop” conversations we’ve had turned out to be scope or communication problems that were fixable within a week or two.
Yes, usually before we’ve seen anything beyond a one-line description of the idea. We’ll sign yours if you have one, or send ours if you don’t. We’re not precious about the template.
Beyond the NDA itself: project details stay with the people actually working on your build, client repos and environments use separate credentials rather than shared logins, and we don’t publish case studies, portfolio entries, or marketing material naming your company or showing your product without asking first. If we want to reference the project publicly at all, even anonymized, we’ll check with you before we do.
Regularly, yes — and we’d rather find out what we’re actually dealing with than quote blind. New codebases start with a short paid audit: a few days going through the code, the hosting setup, and whatever documentation exists (often not much), so we can tell you honestly what state it’s in before committing to a timeline or a price. Sometimes that audit changes the recommendation entirely — a plugin conflict that looked like it needed a full rebuild turns out to be a one-line fix, or a database that looked slow just needs better indexes instead of a replatform.
If the audit turns up something genuinely unsalvageable, we’ll say so, and we’ll say why — not just because the code is unfamiliar or written differently than we would have written it. Inheriting someone else’s decisions is a normal part of this work, not a reason to recommend starting over.
Get a real number for your project.
Tell us what you're building and we'll send a written proposal, not a vague estimate.