Free resource
The B2B Web App & AI Architecture Guide
How to choose between a custom build, a platform, and no-code: what each costs to run, where AI automation pays for itself, and what to ask an agency before you sign.
A 10-minute read for founders and SMB decision-makers.
1. Custom build, platform, or no-code
Most B2B software decisions come down to three options, and each one is the right choice in some situations. Choose the one that fits how your business works, not the one that is popular right now.
- A platform
- Shopify, Squarespace, or an industry-specific SaaS suite. You rent a product that someone else maintains. It is the fastest and cheapest way to start, but you accept the platform's workflow, its limits, and its monthly bill.
- No-code and low-code
- Airtable, Bubble, Make, n8n. Very good for internal tools, connecting systems, and testing an idea before committing a budget. It becomes expensive and fragile once the logic gets complex or the volume grows.
- Custom code
- Software built for you, typically with Next.js and React on the front end, and Node.js with a Postgres database such as Supabase behind it. The upfront cost is highest, but there are no platform limits and you own the result.
A practical rule: if your process fits the platform's standard setup, use the platform. Once you are paying for several apps plus a developer to make a platform do something unusual, you are paying custom prices for a product you rent.
Two questions decide it faster than any feature comparison. First, how unusual is your workflow? If a competitor could run their business with the same setup, a platform is probably fine. Second, how long will you use it? Rented software is cheap in the first months, and its cost keeps growing every month after that. Compare the totals over the number of years you plan to use it.
There is also a middle option: configure an existing business system instead of building one. Odoo covers sales, stock, invoicing, and CRM out of the box, so the work becomes configuration plus the few custom modules you need. Our Odoo packages start at €4,900, far less than building the same features from scratch.
2. What a web app costs to run
Every proposal involves two costs, and usually only one is written down. The build price is always there. The running cost is what decides, three years later, whether the project was a good investment.
Platform costs are easy to underestimate because they come in pieces. Shopify's standard plans cost roughly €27 to €230 a month depending on the tier, before paid apps, a premium theme, and transaction fees. Add a few apps at €20 to €80 each and even a modest store goes past €100 a month, for as long as it runs, on a storefront you don't own.
A custom build also has recurring costs. It needs hosting and a database (Vercel and Supabase both have low-cost plans for small volumes), a domain, transactional email, any third-party APIs it uses, and someone to apply security updates. The difference is that you pay for infrastructure at cost, not a license fee that grows with your business.
Here is an example using our published prices. Do the same calculation with any quote you receive:
- Custom store, over three years
- €3,290 one-time build + €49/month care plan ≈ €5,054
- Rented platform, over three years
- €99/month plan + €60/month of paid apps ≈ €5,724
The totals are close. The difference is what you have at the end. In one case, you own the code, the database, and an admin panel built around your process. In the other, you have a subscription you must keep paying to keep selling. Over five years, the gap widens considerably.
One cost people often miss is licenses. If you choose Odoo, user licenses are billed by Odoo, from about €31 per user per month on Odoo Online, and they are not included in an implementation price. Ask for the full monthly cost before you sign.
3. Where AI automation pays for itself
The value of AI automation is the time it saves your team. That makes it measurable, which also makes weak proposals easy to spot.
Tasks worth automating have four things in common: they repeat, they follow rules you could write down, they happen often enough to matter, and a person can check the result before anything irreversible happens. Sorting incoming messages, moving data between two systems that don't connect, drafting repetitive documents from structured information, and monitoring something nobody wants to watch are good examples.
Tasks that are poor candidates: anything you do twice a year, decisions with legal or financial consequences and nobody reviewing them, processes that change every month, and anything that relies on knowledge only one person has. If that knowledge isn't written down anywhere, the first step is to document it, not to automate it.
The same logic applies to tools. If the job is a few steps between tools that already have APIs, a Make or n8n workflow is faster to build and easier to change later. Custom code makes sense when the volume is high, the logic has many branches, you need your own data model, or per-task platform pricing gets too expensive. Starting with Make and rebuilding only the workflows that outgrow it is a reasonable plan.
Calculate the payback yourself before asking for quotes. Write down the task, how many minutes it takes, how often it happens each month, and the full hourly cost of the person doing it. That gives you a monthly saving. Divide the build price by that saving to see how many months it takes to pay back. Our entry automation package costs €1,890. If a project at that price won't pay for itself within 12 to 18 months, automate something else first.
As an example of the kind of work that pays back: for Dr Nathalie Le Jeune, we automated appointment booking, reminders, follow-up checks, and end-of-session patient reports. These are four small, rule-based tasks that come up every week.
4. Scoping an MVP so it ships
An MVP is the smallest version of the product that lets one real user complete one real task. Treating it as a cheaper, shorter version of the full product usually means spending the budget on features nobody uses yet.
Before writing a feature list, write one sentence: who the user is, what task they are doing, and when they get value from the product. Anything that doesn't serve that sentence goes on a second list for later. That list keeps good ideas without letting them delay the first release.
What can usually wait: single sign-on, detailed permission roles, multiple languages, an in-app billing portal, native mobile apps, analytics dashboards, and every notification channel other than email.
What can't wait: authentication, a data model you can extend without painful migrations, a way to export your own data, deployment with backups, and an admin view where you can see and fix what users do. Leaving these out creates problems you will pay for later.
On budget: in France, an MVP often costs between €8,000 and €25,000. Our MVP package starts at €7,900, the full product build at €14,900, and a multi-tenant platform at €29,900. Whoever you work with, you should be able to read the feature list behind the price before you pay anything.
5. How to read a proposal
Agencies price projects in three ways, and each fits a different situation. A fixed price with a written scope fits work that can be defined in advance, such as a website, a store, or a specific automation. Time and materials fits exploratory work where the scope can't be written yet. A monthly retainer fits ongoing improvements after launch, not a first build.
We publish fixed prices and work from a written scope, with a 30% deposit to start and the balance at delivery. The deposit confirms both sides are committed, and the written scope avoids disagreements later about what "done" means.
A scope document worth signing should include:
- Every page, screen, or automation, listed one by one.
- Each integration by name: payment provider, ERP, CRM, email, analytics.
- Who provides the content, images, and product data, and by when.
- How many rounds of revisions are included, and the rate after that.
- What happens after launch: support window, response time, and the cost of a fix.
- Who owns the code, the repository, and the accounts when the project goes live.
Many proposals also leave out the monthly cost of running what you are buying: licenses, hosting, APIs, and paid apps. Ask for it before you sign.
6. Eight questions to ask before you sign
Send these to every agency on your shortlist. Their answers will tell you more than their portfolio.
Who owns the code and the accounts when the project ends?
It should be you, from the first day. Otherwise you are renting, and leaving will be expensive.
What will this cost me per month to run, all in?
Hosting, licenses, APIs, paid apps. Ask for an actual number.
Can I see the full scope in writing before I pay a deposit?
A feature list you can read and check matters more than design mockups.
What happens when I want a change in month two?
Ask for the change process and the rate. Every project has changes.
Who will build this?
Find out whether the people answering your emails are the people writing the code.
Where does my data live, who can access it, and how is it backed up?
For businesses in Morocco, France, and the EU, this is a legal compliance question as much as a technical one.
What exactly is handed over at the end?
Repository access, admin credentials, documentation, and a walkthrough, all agreed in advance.
How quickly do you reply once we are working together?
We commit to one business day. Ask every agency for their response time, and hold them to it.
What to do next
Choose the option that fits how unusual your workflow is and how long you will use it. Write the scope down before discussing price. Send the eight questions. Whatever you decide, you will be in a stronger position to negotiate.
If you'd like a second opinion on a quote you already have, or a fixed price with a written scope, tell us what you want to build. We reply within one business day.
Free guide
Get the architecture guide
Custom build or platform, what a web app costs to run, and where AI automation pays for itself. We send it to your inbox as a link you can forward.
