Get a Free Consultation
Blog

What Two Gorillas Throwing Bananas Taught Me About Choosing the Right Foundation

A monochrome laptop, a pharmacy POS, and 15 years of WordPress taught me to master fundamentals, including knowing when WordPress is not the right choice.

Published on October 5, 2026 by Hector Felan Last updated on October 5, 2026 Reading Time: 21 minutes

Spend a few minutes on LinkedIn and you will find someone declaring that WordPress is old, bloated, and finished. The post usually ends with a replacement, often an application generated by an AI prompt in a single afternoon, with a demo that looks impressive. If you run a business and depend on your website to generate leads or sell products, this noise is more than annoying. It raises a real question about whether the platform carrying your revenue is a liability, and whether you should rebuild everything on something newer.

I think that question deserves a serious answer, and I do not think the answer is really about WordPress. In most of the arguments I read, what is missing is not knowledge of WordPress. It is knowledge of system engineering and architecture, the unglamorous discipline of deciding how data is modeled, where business logic lives, what happens when something fails, and who is allowed to do what. Those fundamentals are boring to learn and nobody applauds them, which is exactly why so many people skip them and reach for the impressive feature instead.

I also want to be clear about something from the start. I build WordPress systems for a living, and it is still my first choice for most business and enterprise level applications, but I do not choose it for everything. Sometimes the requirements make it clear that WordPress is the wrong foundation, and the responsible thing is to say so and choose something else. I know all of this because I learned it the hard way, and this is the story of how.

Why the “WordPress Is Dead” Argument Keeps Coming Back

New tools appear almost every week. Each one makes some part of building software faster, and each one is introduced with a demo that shows the exciting part and hides the rest. A prototype that works on a laptop looks identical to a production system for about the first five minutes. The difference shows up later, when real users, real data, real payments, and real mistakes arrive.

WordPress is an easy target because it has been around for a long time and because most people have seen a bad WordPress website. A slow site loaded with twenty plugins and a page builder makes a convincing argument that the platform itself is the problem. But a badly built system on any technology looks the same after a few years. The same decisions that make a WordPress website fragile, such as unplanned data structures, logic scattered across plugins, and no thought about performance or security, make an AI-generated application fragile too, only faster.

So when a business owner asks whether to leave WordPress, the most useful thing I can do is move the conversation away from the tool and toward the foundation. The right question is whether the system underneath was designed properly, and that includes whether it was built on the right platform in the first place.

A Monochrome Laptop, Two Gorillas, and a Database

When I was 13, my father bought a laptop with a monochrome screen, and I was forbidden to touch it. Naturally, whenever he left the house, I turned it on and looked around. I do not remember exactly how, but I found a program called QBasic.exe, and after school I kept coming back to it.

QBasic came with several programs already written. One was a game where two gorillas stand on top of city buildings and throw bananas at each other, and you have to enter the right angle and speed to hit your opponent. Another worked with a database, and that one fascinated me even more. I spent hours and hours, for months, reading that code and trying to write little programs of my own.

The Pharmacy POS That Taught Me What a System Is

About a year later, I built my first real system, a point of sale for a family pharmacy. You typed in a product code, and the product appeared in a row with its price. You could add as many products as you wanted and the total was summed automatically. When the customer was ready, you closed the ticket, entered the amount received, and the system calculated the change. If the customer needed an invoice, it printed one on letter-size paper using a dot matrix printer. This was a time when payments were made in cash, with no card terminals connected to anything.

Looking back, that small program contained almost every fundamental I still rely on today. It had entities, which were products with codes and prices. It had state, because a ticket could be open or closed. It had business rules for summing, calculating change, and deciding when a sale was complete. And it had outputs, in the form of an invoice someone could hand to a customer. I did not have vocabulary for any of this at 14, but I understood that a system is a set of rules about data, and that if the rules are right, the interface almost builds itself.

I decided that day that this was what I wanted to do for the rest of my life. A few months later the computer broke, my father was upset, and he never bought another one. Programming disappeared from my life for more than a decade.

The Years Away From Code and the Move to Atlanta

I finished college as a civil engineer and never worked as one. I still think that training mattered, because civil engineering is a discipline built on the idea that the part nobody sees decides whether the part everybody sees survives. Nobody admires the foundation of a building, but every floor depends on it.

After college I wanted to learn English. My family lived close to the border with the United States, and I thought spending a year studying English across it would not be a big deal. My father did not support the idea and recommended that I stay in Mexico and start working as a civil engineer. On Christmas Eve of 2005, at 25 years old, I packed a few things into a small bag and headed to Atlanta, Georgia.

The person who was supposed to pick me up at the bus station never showed up. I did not have enough money to go back, and the first weeks were harder than anything I had planned for. I had to rewrite my priorities. Learning English had been my first goal, but the new first goal was to find a job, earn money, and get out of that situation. Then I could learn English. I spent the next three years working and learning the language.

Baltimore, WordPress, and the First Custom Site

By 2008 things were calmer. I had moved to Baltimore, a beautiful city, I had a good apartment, and I bought my first computer. Then I asked myself what I was going to do with it. I went online looking for QBasic, which of course was long gone, and instead I noticed how many businesses were building online stores and websites. I decided I wanted to learn how to build those systems.

I tried several platforms and eventually found WordPress. I started by assembling sites with themes and plugins, and at some point I decided I did not want to only assemble. I wanted to code. After work I spent my evenings learning PHP, HTML, CSS, jQuery, JavaScript, and a range of frameworks. My first fully custom website was published in 2010 for a construction company I used to work for, and I have never stopped building since.

Why Advanced Features Are So Tempting

Like most developers, I was pulled toward advanced features. They are impressive, they get attention, and they make you feel like you are growing. Building a clean data structure or thinking carefully about how a request flows through a system does not make anyone say wow. Nobody notices the foundation of a website when it works.

The problem is that I kept hitting walls. I wanted to build meaningful sites and systems, the kind a business can depend on, and the advanced techniques I had collected did not hold together when the underlying structure was weak. Each time, the fix turned out to be something basic that I had skipped. That was the moment I understood that the boring things come first, and that mastering them is what makes the advanced things possible.

This is a pattern that applies well beyond WordPress. New frameworks, new editors, and new AI tools arrive constantly, and each one changes how fast you can produce something. None of them changes what a system needs in order to survive, which is a sound model of the business, clear ownership of logic, predictable performance, and security by design. Features change every month. The fundamentals have not changed in decades.

What System Engineering Fundamentals Actually Look Like in a Business Project

It helps to translate the fundamentals into the questions a business owner would actually care about. Each one maps to a real cost if it is ignored.

Data Modeling Comes Before Everything

Before any design or feature, a team should know what things the business deals with and how they relate. Products, customers, orders, subscriptions, events, locations, and appointments are all entities, and each has fields, relationships, and rules. In WordPress terms, this is where decisions about Custom Post Types, taxonomies, custom fields, and sometimes custom database tables come from. When this step is skipped, the website ends up with content stuffed into the wrong places, and every future feature becomes harder and more expensive than the last.

Business Logic Needs One Home

The rule for how a total is calculated, how a discount applies, or who can approve a request should exist in exactly one place. When the same logic is copied across templates, plugins, and JavaScript snippets, the system starts to contradict itself. A well-architected WordPress project puts business logic in a custom plugin or a clearly defined layer, separate from the theme, so that changing the design never risks changing how the business works.

Performance and Failure Are Design Inputs

Speed is not something you add at the end with a caching plugin. It comes from how data is queried, what is cached and where, how images and assets are delivered, and what the server infrastructure looks like. The same applies to failure. A mature system assumes that a payment provider will time out, that an API will return unexpected data, and that a user will do something unplanned, and it behaves sensibly when that happens.

Security and Maintainability Are Part of the Structure

Who can see or change what is an architectural decision, not a plugin setting. So is the question of how easily the next developer, or the next year’s version of your own team, can understand and change the system. A project that only its original author can maintain is a business risk, no matter how modern it’s stack looks.

Choosing the Foundation Is a Fundamental Too

There is one more fundamental that deserves it’s own mention, and it is the one people most often get wrong in both directions. Picking the platform is an architectural decision, and it has to come from the requirements of the project rather than from habit, loyalty, or fashion. A team that uses the same tool for every problem is making the same mistake as a team that abandons a good tool because it stopped being trendy.

Under the Hood of a Foundation That Holds

Go back to that pharmacy POS for a moment. The most important rule in it was that the total belonged to the system and not to whoever happened to be at the screen. The same principle applies to a modern WordPress application exposing a REST API. The client can suggest what it wants, but the server decides what is true, and the server decides who is allowed to ask.

Here is a simplified example of how a ticket creation endpoint is registered in a custom plugin.

register_rest_route( 'boostmonitor/v1', '/tickets', array(
	'methods'             => 'POST',
	'callback'            => 'bm_create_ticket',
	'permission_callback' => function () {
		return current_user_can( 'edit_shop_orders' );
	},
	'args'                => array(
		'items' => array(
			'required'          => true,
			'validate_callback' => 'bm_validate_items',
		),
	),
) );

Nothing in this code is advanced. It declares a route, checks permission through the permission_callback before the callback ever runs, and validates incoming data before it touches the database. Inside bm_create_ticket, the prices and totals would be loaded and calculated on the server from product IDs, never accepted from the browser. These are the same ideas I used as a teenager, applied with a framework that gives them a standard shape.

The same thinking extends to the database. WordPress stores posts and their metadata in a flexible structure that works very well for content, but it can become a bottleneck when a team uses post meta as a general purpose database for heavy filtering and reporting. Knowing when to use meta fields, when to use a taxonomy, and when a custom table is the better choice is a fundamental’s decision. Likewise, understanding that object caching with Redis reduces repeated database work, that autoloaded options are read on every request, and that a CDN changes where requests are served from, lets you diagnose performance by reasoning instead of guessing.

When We Choose Something Other Than WordPress

Everything above is why WordPress remains our first choice for most business and enterprise level applications. It gives a project mature user management, content modeling, a REST API, and an ecosystem of proven patterns for performance and security. But knowing the fundamentals also means knowing where a platform stops fitting the problem, and being willing to say so to a client even when WordPress is what we specialize in.

A Social App for a Regional News Corporation

We are currently working on a project that illustrates this well. A regional news corporation in Mexico wants a social application in the style of Twitter or Truth Social, where people post, comment, like, share, and upload photos and videos. The ambition is for it to eventually serve possibly millions of people interacting with it heavily every day. For this project we chose Laravel with a PostgreSQL database, and I am convinced that choosing WordPress would have been a terrible architectural decision.

Why WordPress Would Have Been the Wrong Foundation Here

The honest part of this story is that WordPress could probably have handled the beginning. A prototype would have come together quickly, it would have looked good in a demo, and the first thousand users would not have noticed anything. The trouble is what happens as the app grows. At that point the team would be fighting the platform instead of building on it, and eventually the whole system would have to be replaced, which means paying twice for the same product and migrating live data under pressure.

The reason lies in what WordPress was designed to do. It’s core data model, built around posts, post meta, and comments, is excellent for publishing content and managing the people who publish it. A social application is a different kind of workload. It is dominated by very frequent small writes such as likes, follows, replies, and shares, by timelines that must be assembled quickly for each user, by media that needs to be stored, processed, and delivered at scale, and by moderation and real-time behavior that sit at the center of the product instead of at it’s edges. Every request in WordPress also loads the full application and it’s plugins, which is a sensible tradeoff for a content site and an expensive one for an interaction-heavy product.

Laravel and PostgreSQL give a team a better starting point for that shape of problem. Laravel provides queues for background work, broadcasting for real-time events, structured migrations, and a clean place for domain logic, without carrying assumptions about pages and posts. PostgreSQL is a strong relational database with solid concurrency behavior, rich indexing options, and the ability to partition large tables as they grow. None of this is magic, and a poorly designed schema would fail on any stack, but this foundation matches the workload so the team spends it’s effort on the product rather than on bending a CMS into something it was never meant to be.

How to Tell Which Foundation Fits

The decision rarely comes down to taste. It comes down to the dominant workload and the growth the business expects, and the comparison below summarizes the signals we look for.

QuestionSignals that WordPress fitsSignals that another foundation fits
What is the main workloadPublishing content, selling products, managing business workflowsConstant user generated interaction as the core of the product
Where do most writes come fromEditors, customers, staff, and checkoutLarge numbers of users writing small records all day
How is the data shapedContent, products, orders, and structured custom dataHighly relational data such as follows, feeds, and reactions
What does growth look likeSteady traffic that caching and infrastructure can absorbRapid growth in both users and write volume
Who manages the contentA team that benefits from the editing experienceUsers themselves, with moderation tools built into the product

Read the table as a set of signals instead of a score. A project that matches the left column strongly is usually a very good WordPress project, including demanding ones with WooCommerce, REST APIs, customer portals, and native mobile apps. A project that matches the right column strongly deserves a purpose-built foundation, and some projects mix both, in which case a hybrid architecture with WordPress handling editorial content next to a separate application is worth considering.

Is WordPress the Problem or Is the Architecture?

Here is where intellectual honesty matters. AI-assisted development and vibe coding are genuinely useful. They are very good at producing prototypes, exploring ideas, and removing repetitive work, and I would not tell anyone to ignore them. But a prototype and a production platform are different things, and the gap between them is filled with exactly the fundamentals that are easy to skip.

A generated application that has no considered data model, no permission strategy, no plan for backups, no performance approach, and no one who understands why it works will eventually hit the same walls I kept hitting. WordPress, by contrast, gives you a mature foundation of users and roles, content modeling, a REST API, an extensible plugin system, and a large ecosystem of well-tested infrastructure patterns. Rejecting it because it is old ignores what that age has produced, which is a platform whose edge cases have been found and solved many times over.

WordPress is not the limitation when it is used for the work it suits. Poor architecture is, and choosing WordPress for a workload it was never designed for is poor architecture too. A well-designed WordPress system can power a high-performance business website, a WooCommerce store with complex pricing, a customer portal, or the backend of a native mobile application. The same discipline that makes that possible is the discipline that tells you when to choose something else.

What We Recommend

If you are a business owner evaluating whether to stay on WordPress, rebuild, or switch platforms, judge the decision by the foundation and not by the trend. Ask whoever is proposing the change how the data will be modeled, where the business rules will live, how the system will be secured, how it will perform under load, and how someone new will maintain it in three years. If the answers are clear and specific, the technology choice becomes much easier. If the answers are vague, a new platform will not fix that.

For most business websites, stores, portals, and custom workflows, we recommend WordPress and an investment in architecture rather than a replacement of the platform. For products whose core value is massive user interaction, real-time behavior, and heavy write volume, we recommend a purpose-built foundation, and we would rather tell you that at the start than after you have outgrown your first build. The test we apply is simple. Choose the platform that the project will still fit in three years, because migrating later costs far more than choosing correctly now.

If you are a developer, my advice comes from my own mistakes. Learn how data is structured, how requests move through a system, how caching and databases behave, and how authentication and authorization work, and do this before you chase the next framework. The advanced skills will arrive faster and stick better once the basics are solid, and they will also help you recognize when your favorite tool is the wrong one.

How We Approach This at Boostmonitor

We have specialized in WordPress since 2011, and our approach starts before any design or code. On a new project, we spend time understanding the business first, including what the system has to do, who uses it, what data it handles, how much it is expected to grow, and what happens when something goes wrong. We then choose the foundation, model the data, and define where the business logic lives before we build the interface, because the interface is the easy part once the structure is right.

When WordPress is the right foundation, which is most of the time, this means custom themes and Gutenberg blocks that give editors flexibility without letting them break the design, custom plugins that keep business logic separate from presentation, REST APIs that expose clean and secure endpoints, and performance work built into the architecture with Redis, object caching, and CDN delivery. It also means that when a project grows into WooCommerce, payment integrations, a customer portal, or a native iOS and Android app powered by WordPress, it grows on a base that was planned for it. When it is not the right foundation, as with the news social app, we say so and build on something that fits. You can see what the WordPress side of this looks like in a real application development, and if you are weighing a rebuild, our custom WordPress services explains how we assess a system before recommending anything.

Mastering the Boring Part Is the Advanced Move

The 13-year-old who stayed up reading QBasic code did not know anything about frameworks or APIs, but he understood that a system is data, rules, and outputs working together. It took me years, a lot of walls, and a long way from home to realize that this is still the whole job, and that part of the job is choosing the right foundation honestly, even when it is not the tool you know best. New tools will keep arriving, and some of them will be remarkable. The people and teams who get the most from them will be the ones who already understand the foundation they are building on.

If your WordPress website or platform is struggling, the answer is rarely to start over on something trendier. It is usually to look honestly at the foundation and fix what is weak, and occasionally to admit that the project needs a different one. If you would like a second opinion on yours, contact us.

Frequently Asked Questions

Is WordPress outdated in 2026?

No. WordPress is actively developed and continues to power a very large share of the web, including business websites, WooCommerce stores, and application backends. Age is not the same as obsolescence, and most of the problems people blame on WordPress come from poor architecture, unmaintained plugins, or weak hosting rather than the platform itself.

Should every business application be built on WordPress?

No. WordPress is an excellent foundation for content, commerce, customer portals, and many custom business workflows. It is a poor fit for products whose core is very high volume user interaction, such as a social network, where a purpose-built stack is the more responsible choice.

Why would you choose Laravel and PostgreSQL for a social app instead of WordPress?

A social app is dominated by frequent small writes, personalized feeds, media handling, and real-time behavior, which is a different workload from publishing content. Laravel gives a team queues, broadcasting, and a clean structure for application logic, while PostgreSQL provides a strong relational foundation that can scale with the data. WordPress might handle the first version, but the platform would likely need to be replaced as usage grows.

Can vibe coding replace a custom development team?

For prototypes and internal experiments, AI-assisted tools can be very helpful. For a production platform that handles real customers, payments, and data, you still need someone who understands data modeling, security, performance, and maintainability. Without that, generated code tends to work in a demo and become expensive to fix later.

What are the fundamentals of system engineering for a business website?

They include a clear data model, a single home for business logic, deliberate permissions and security, predictable performance, and a structure that a new developer can understand and maintain. Choosing the right foundation for the workload is part of that list, whether the answer turns out to be WordPress, Laravel, or something else.