Marafiq's training courses used to run on a packaged learning platform. The platform we built to replace it went live about three and a half months after work started, with a team of 2, and the existing learners moved across. That decision, to stop renting a product and own one, is the one this post is about.
Most companies should buy software. Off-the-shelf tools are cheaper to start, someone else fixes the bugs, and you can cancel. Custom software pays back only in specific situations, and the math is simpler than most ROI articles make it look.
This post shows what to count, the signs that you have outgrown what you rent, and when buying is still the right answer.
What you are comparing
The comparison is not "license fee vs. build price". It is the total cost of each option over the years you expect to use it, plus what each one lets you do or stops you doing.
| Cost | Off-the-shelf | Custom |
|---|---|---|
| Up front | Setup, configuration, data import | Discovery and build |
| Every month | Seats or usage fees, add-ons | Hosting and a support plan |
| Hidden | Workarounds, manual exports, tools glued together, staff time | Your time in discovery and testing |
| When you grow | More seats, a higher plan, a second tool | New features, built when you need them |
| When you leave | Getting your data out, retraining | Nothing to leave: you own the code |
The row people skip is "hidden". It is also the one that usually decides the answer. A tool that costs little per seat but needs two people to copy data between it and your billing system each week is not cheap.
How to do the math
You do not need a consultant's model. You need four numbers, all of which you can get from your own team:
What you pay today per year, across every tool the new system would replace, at the plan you will need next year, not this year.
Hours spent on workarounds per week: exports, re-keying, checking one system against another. Multiply by a loaded hourly cost.
What you cannot do today and what it costs you: a product you cannot offer, a payment method you cannot accept, a customer process that loses deals.
The build and run cost: the quote after discovery, plus hosting and support per year.
Take a hypothetical case: a company paying for 4 tools, with staff spending 15 hours a week moving data between them. The license fees alone rarely justify a build. The 15 hours a week, every week, for years, often do. Add item 3 and the case is usually clear one way or the other.
If items 2 and 3 are close to zero, keep buying. A custom build will not pay back, and we would tell you so in the first call.
Signs you have outgrown what you rent
These are the situations where we see custom software pay back. One of them is a signal. Three or more is a pattern.
Your process is how you win. The way you price, book, approve or deliver is different from your competitors, and the tool forces you into its standard flow.
Payments do not fit. You need a local payment method, instalments or a second gateway that the product does not support.
Data lives in 4 places. Customer, billing and operations data sit in separate tools, and nobody trusts the totals.
Seat costs scale faster than revenue. Each new customer or staff member adds a fee, and the plan you need next is a big jump.
You are waiting on someone else's roadmap. The feature you need has been "planned" for a year.
Language or region is an afterthought. Right-to-left text, a second currency or local invoicing rules are half supported.
What this looked like on Marafiq
Marafiq trains facilities-management professionals for the FMP, CFM and CAMA exams. Its new platform, which replaced a Rocket LMS install, was built around the way Marafiq sells and teaches: live Zoom cohorts next to recorded lessons, timed auto-graded quizzes, certificates with a serial number and a QR code anyone can verify, cart and coupons, card payments through Stripe and buy-now-pay-later through Tamara, all Arabic-first with English.
We built it on Laravel 13 with React and a Filament admin, with a team of 2. It went live about three and a half months after work started, with about 940 automated tests, and the existing learners moved across from the old system. It now has 1,700+ learner accounts and 25 published courses. The full story is in the Marafiq case study.
The point for your decision: look at that feature list. Payments, certificates and the Arabic-first experience are how Marafiq sells. When the things that make you money are the things a packaged product treats as add-ons, a build starts to pay back.
Where custom software costs more than you expect
A fair comparison names the costs on our side too.
Your time. Discovery needs someone who knows the process to answer questions for 1–2 weeks. Testing before launch needs the same people.
Maintenance. Frameworks, payment APIs and browsers change. A custom system needs a support plan, or it ages into a legacy app. We wrote about this in what happens after your software launches.
Migration. Moving years of records out of a tool is real work: cleaning, mapping, checking totals.
Scope. The first release should cover the work that costs you most. A build that tries to copy every feature of the old tool takes longer and pays back later.
None of these is a reason to avoid a build. Each one belongs in the estimate, and each one is cheaper when you plan for it.
Buy, build, or do both
It is rarely all or nothing. The cheapest setup we see often mixes both:
Buy what is standard for everyone: email, accounting, HR, chat.
Build what sets you apart: the customer-facing product, the booking or ordering flow, the process your staff run all day.
Connect the two with integrations, so data is entered once.
Our post on build vs. buy goes through that split in more detail, and ERP: buy Odoo, customize it, or build covers the same question for back-office systems.
How to make the decision cheap
The expensive mistake is committing to a build before the numbers exist. A short discovery fixes that: it ends with the feature list, the architecture and a fixed estimate, so you can put the build cost next to items 1–3 above and decide. Our discovery sprint starts from $1.5k and is credited in full if the build starts within 60 days. Platform builds start from $15k.
If the numbers say keep buying, that is a good result too. You will know which tool to keep and what to connect.
Next step
Tell us which tools you use today and where your team spends time working around them. We will tell you, on a free intro call, whether a build is worth scoping. Book an intro call.

