Choosing a stack isn’t “React vs Vue” or “WordPress vs headless”. It’s a question about your team, your budget, your time to launch, and the cost of getting it wrong two years from now. Most teams make this decision backwards: they pick the tool that’s “trendy” first, then bend the product to fit it. This article is the framework we use at CatCode when a client arrives with a new product and we work out together what to build it on.

Why choosing a stack is a business decision, not a technical one
The stack determines three things that are very hard to change after launch: speed of change, team cost, and the product’s ceiling. A React front end with a Node back end and Postgres isn’t “a technical architecture”. It’s a hiring pool 10× wider than Elixir+Phoenix, a nightly release cost 30% higher, and a load ceiling you’ll hit in two years if you get the starting choice wrong.
A technology picked “because we like it” costs the business 6-18 months, once it turns out a year later that the market pays 60% more for that specialist, or that a particular use case had to be built from scratch when another framework would have handed it to you out of the box. According to the Stack Overflow Developer Survey 2024, the scarcest stacks in Europe are Elixir, Clojure and Rust; developers hire fastest for PHP, JavaScript/TypeScript and Python. This isn’t a matter of fashion — it’s a matter of whether you’ll find a replacement when your one and only middle developer on the project goes on leave right before launch.
So we start the choice not with technologies, but with four questions — about the product, the team, the money, and the horizon.
Four axes of the decision
1. Time to launch: weeks or months?
If you need to launch in 4-8 weeks, it’s almost always a ready-made CMS or a no-code platform. WordPress with a premium theme or a ready custom theme, Webflow, Shopify — anything that doesn’t require coding the foundation from scratch. A custom stack in 8 weeks is a myth sold by outsourcing agencies with low project reuse.
If you have 3-5 months, that’s the middle zone, where a headless CMS plus a ready framework works well (Strapi or Sanity with Next.js, Astro), or a mature PHP framework (Laravel, Symfony) with a ready admin template. Half the time goes on design and content, the other half on engineering.
If it’s 6+ months and this is a product MVP, not a landing page, we discuss a full custom build: choice of language (TypeScript, Go, Python), database, infrastructure. Here the stack genuinely depends on the shape of the task, not just the budget.
2. The team that will maintain it
A question clients forget to ask: who’s going to live with this after launch? If you already have an in-house team, the stack has to match their skills. There’s no point handing WordPress to marketing and Next.js to the developers — you’ll end up with two parallel universes and a three-week relay race for every copy update.
If there’s no team yet and you’ll be hiring after launch, pick the stack with the widest pool of specialists in your market. In Ukraine and Poland that’s PHP, React+Node, Python. Elixir, Rust, Clojure are cool, but a year in you’ll pay 1.5× for the specialist who stays, because they know nobody can replace them.
If a contractor will support it long-term, the stack is whatever they’re comfortable with. They know their own kitchen — you’re paying for the result, not the technology. Our approach to running projects is described in the services section: we go from strategy to post-launch support, so we choose the stack 90% ourselves, to fit the phases we’ll be handling as one team.

3. Budget — and not the one “now”, but the one “in two years”
Development is about 30% of a product’s cost over five years. The other 70% is support, updates, infrastructure, marketing integrations, new features. A stack that saves $15k at launch but demands $4k/month in hosting and two devops engineers is a poor choice for a project with a projected turnover of up to $200k/year.
Real numbers are in the “What it costs: freelancer vs agency vs CatCode” section below. There we break the market down by type of contractor, rather than abstract ranges.
4. Horizon — is this the product’s final form, or a hypothesis test?
If you’re building an MVP to test demand, optimise for speed of iteration, not elegance. A landing page with a form on Webflow, a no-code prototype on Bubble, WordPress with a temporary theme. If the hypothesis doesn’t hold up in two months, you haven’t paid for “real” architecture.
If you know the product will run for 5+ years with active ongoing development, invest in the foundation. One week spent on types, tests and a spec at the start saves six months in year three. That’s true for any stack — Laravel or Next.js, Django or Rails. It just looks like overkill at the start.
Options by product type
Corporate or promotional site
WordPress with a custom theme is the right choice in 80% of cases. A mature CMS, simple content management for non-technical colleagues, thousands of ready-made integrations (forms, analytics, chat, CRM). According to W3Techs, WordPress powers 43% of all websites on the planet — which means a library of ready solutions for almost any task already exists; you don’t have to write it from scratch. The alternative is Webflow, if the site team is designers without a developer.
An example from our own work — the Institute of Agrobiology website: an accredited testing laboratory with five focus areas and a two-channel application form. WordPress with no unnecessary complexity — and we’re still maintaining it in 2026 on the same codebase.
Online shop
Here the choice is harder and depends on the catalogue. Up to 200 SKUs and simple scenarios (one warehouse, one currency) — Shopify or WooCommerce, both up and running in a week or two. From 1,000+ SKUs, multiple currencies, complex logistics, special terms for wholesalers — WooCommerce wins, because you can build out any non-standard case on it without Shopify Plus’s exit fee.
A real example — Royal Flowers: 4 cities, separate warehouses for each, one shared brand, 2-hour delivery. On Shopify this would have cost roughly $2,000/month in plans plus custom APIs. On WooCommerce it was a one-off investment in the architecture plus ~$80/month for a VPS.
SaaS product or dashboard
Here ready-made CMSs stop helping. The standard modern stack: TypeScript throughout, React or Vue on the front end, Next.js/Nuxt as the framework, Node.js (Express/NestJS) or Python (FastAPI/Django) on the back end, Postgres as the database. Deployment: Vercel/Railway for a prototype, Hetzner+Coolify or AWS for production.
An alternative is Laravel with Inertia and Vue. Less fashionable than Next.js, but faster to build with, because the PHP ecosystem already has ready solutions for everything — queues, jobs, files, notifications, authorisation. If the team knows PHP, this is a valid choice with no compromises.
Landing page or promo campaign
Astro, or just static HTML+CSS with a bit of JS. No need for React, a CMS, or a back end. The form goes to a third-party endpoint (Formspree, your CRM). Hosting: Netlify/Vercel/Cloudflare Pages, free. Launch in 5-10 days.
An example — the STUDY.UA “Higher Education in Canada” landing page: a single page, lead generation, a free PDF giveaway. No CMS at all — the client sent edits as plain text, we merged them in 30 minutes.
Common mistakes
“We want Next.js because it’s trendy”
Next.js is a great framework for SaaS and complex SPAs. But for a corporate site with 8 pages and a blog, it’s 3× longer to build, 2× more expensive to host (versus shared hosting), and zero user-visible benefit over WordPress. If a contractor pitches a React stack for a static site, ask what problem it actually solves — it’s a safe question, and the answer separates a competent engineer from a salesperson.
“WordPress isn’t serious”
WordPress runs the blogs of the White House, NASA, TechCrunch, BBC America. How serious something is comes down to how it’s built, not the platform. You can build a bad product on Rust and a great one on WordPress. The reverse is just as true. The platform tends to get hated on by developers who worked with it back in 2014 and never came back — over 12 years WordPress has moved to a block editor, a full REST API and headless mode.
“Let’s rewrite everything on a new stack”
A classic trap in a project’s third year. The current stack “annoys everyone”, the new one “will fix everything”. In practice a rewrite costs 60-80% of the original build, takes 8-14 months, and brings the product back to the functionality level it had before the rewrite started. In 70% of cases the right answer is refactoring within the current stack, not migration.

What it costs: freelancer vs agency vs CatCode
The Ukrainian development market splits into three price tiers — and the same task costs radically different amounts of money in each one. The figures below aren’t our own price list; they’re real ranges from public sources: Freelancehunt, price lists from mid-size agencies (iFish, Asabix) and market overviews (Red Chameleon).
Freelancer (Freelancehunt, Weblancer, personal contacts)
What you get: one person, one specialisation, no separate project manager, QA or design phase as a stage. Real ranges from Ukrainian marketplaces: a landing page $200-600, a corporate site $500-1500, an online shop on a ready CMS from $700, an MVP $1500-4000. A Ukrainian freelancer’s hourly rate is $15-35/hour.
Risks: a freelancer can vanish for weeks (illness, another project, personal reasons), post-launch support is a lottery, and reworks cost more in nerves than in money. If you know exactly what you need, already have a design, and have time to manage the process — a freelancer saves 40-60% of the budget. If not, the savings often get eaten up by reworks.
A mid-size Ukrainian web studio (10-30 people)
Most of the studios you see on Google for “website development turnkey”. Public prices: a landing page $400-700 (template) or from $700 (custom design), a business-card site $700-1500, a corporate site $1500-3500, a catalogue $2000-4000, an online shop $2500-9500 depending on template vs custom. A large bespoke shop on WooCommerce/OpenCart runs around $12,000.
What you get: a team (manager + designer + developer + sometimes QA), a standardised process, contracts, basic post-launch support. What often goes wrong: a wide pipeline of 30 parallel projects means yours sits in a queue; template-based solutions for any brief; getting genuine customisation without stepping outside the “package” is hard.
Large agency / bespoke development (50+ people)
Here the formalisation gets serious. Prices for a full product: a corporate site $5000-15000, an online shop $12000-40000, a complex marketplace or B2B portal $40000-200000+. A Ukrainian developer’s hourly rate at such an agency is $25-100/hour, according to Asabix.
What you’re paying extra for: overheads (office, sales team, lawyers, accounting), shareholder margin, risk insurance, separate contracts for UX research and strategy. This isn’t “dishonest” — it’s the normal cost of working with a mature organisation that isn’t going anywhere. But for 80% of tasks this level of formalisation is overkill, and you’re paying for a process your project doesn’t need.
CatCode — the market’s floor price at full-cycle service
Our starting prices: a landing page — from $400, a corporate site — from $800, an online shop — from $1500, a product MVP — from $4000. That’s near the bottom of the market — sometimes below a freelancer with comparable scope, because we don’t add agency mark-ups and don’t pay for empty sales meetings. The exact figure depends on scope, but you know the starting point from the first call. What you get for that money:
- Full cycle in one small team — strategy, design, engineering, launch, support. No relay races between contractors and no three-week gaps for “handing over materials”.
- One point of accountability — one manager for the entire project, who knows every detail. Not “let me check with the designer” — they already know what the designer would say.
- Documentation and code ownership — after launch you get the repository, a support guide, and the ability to easily hand the project to another team (though we hope you won’t).
- Predictable post-launch support — from $100/month depending on scope. No surprises in month four.
- We work with any budget — if you have $400 for a landing page, we’ll build a landing page for $400. If you have $30,000 for a marketplace, we’ll do that too. Studios that “won’t get out of bed” for a ticket under five thousand aren’t our kind of shop.
CatCode’s philosophy is simple: we’re first and foremost about the impact on your business, not about selling hours. That’s why we spend time on strategic conversations before any contract, and propose solutions for your budget rather than for our price list. If we think a task is genuinely better solved on Shopify, or without a website at all, we’ll say so honestly and point you in that direction.
How we decide at CatCode

When a new project comes to us, we walk through the four axes above over a 30-45 minute conversation with the client. The result isn’t a single “correct” stack, but 2-3 options with a concrete breakdown of time, budget and risk for each. The client chooses — we don’t push.
We work full cycle — from strategy to post-launch support. That means we make the stack decision as if we’re the ones who’ll be living with it for the next 3-5 years, because in most cases we are. You can see what we’ve settled on for different projects in the case studies section — 9 projects on different platforms, each with an explanation of why.
If you have a new product and can’t decide between options — get in touch through our brief. Within 60 minutes we’ll send a short assessment that includes not just a number, but 2-3 stack options with the trade-offs for your horizon. We don’t charge for this initial assessment — we trade it for 30 minutes of your time.
Frequently asked questions
How much does a website cost at CatCode?
A landing page — from $400. A corporate site — from $800. An online shop — from $1500. A product MVP — from $4000. That’s the full cycle: strategy, design, engineering, launch, basic support. The exact figure comes after a 30-minute conversation and a brief.
Do you take on small projects?
Yes. A landing page in a week for $400 is a perfectly normal format for us. We’re not the kind of studio that “won’t get out of bed” for a ticket under five thousand. What matters more to us is that the project makes sense and we can do it well, not the size of the budget.
What stack do you work with?
Full stack: WordPress/WooCommerce, Laravel, Next.js+React, Vue/Nuxt, Astro for landing pages, Node.js and Python on the back end. We choose the stack for the task, not the task for the stack. If Shopify is the right call for your project, we’ll recommend Shopify, even if we won’t be the ones building it.
How quickly do you launch projects?
A landing page — 5-10 days. A corporate site — 4-8 weeks. An online shop — 6-12 weeks. A product MVP — 3-6 months. Timelines depend on how ready the content is and how many design iterations happen, not on the technology.
What sets you apart from a freelancer at the same price?
A team instead of one person, full cycle (strategy and design included, not just code), documentation and code ownership after launch, predictable support. A freelancer is often cheaper — but after launch you’re dealing with one person who can disappear for a month. With us it’s a team, so the risk of disappearing is zero.
Do you take on projects outside Ukraine?
Yes. Our case studies include clients from the US (MH Shipping Inc), Poland, Czechia, the UK, and Australia. We work in the client’s time zone, in English or Ukrainian. You can see the map of our clients’ locations on the homepage.

