Architecture
Joomla's current patterns, nothing legacy.
- namespaced MVC
- services/provider.php
- DI container
Components, modules and plugins on Joomla's current architecture – namespaced MVC, the DI container, the event system and the Web Services API – packaged with an update server, so your extension stays maintainable for years. Built by the team behind the ThePixel extensions.



ExcellentAn example: a booking system with an admin, a module, reminders and an API for a mobile app.
The same team, the same standards. Install one and read the code.




We pick the smallest extension type that does the job – often a combination in one package.
The standards our own extensions are built to.
Joomla's current patterns, nothing legacy.
Checked on every action that changes data.
Upgrades that never need manual SQL.
Your data available to apps and partners.
Installs and updates like any Joomla extension.
So the next developer can work on it.
Standard Joomla 5 / 6 structure – any Joomla developer can pick it up. No framework of ours on top, no legacy classes.
return new class () implements ServiceProviderInterface { public function register(Container $container): void { $container->registerServiceProvider(new MVCFactory('\\Acme\\Component\\Booking')); $container->registerServiceProvider(new ComponentDispatcherFactory('\\Acme\\Component\\Booking')); $container->set(ComponentInterface::class, function (Container $container) { $component = new MVCComponent($container->get(ComponentDispatcherFactoryInterface::class)); $component->setMVCFactory($container->get(MVCFactoryInterface::class)); return $component; }); } };
public function approve(): void { $this->checkToken(); if (!$this->app->getIdentity()->authorise('booking.approve', 'com_booking')) { throw new NotAllowed(Text::_('JERROR_ALERTNOAUTHOR'), 403); } $id = $this->input->getInt('id'); $this->getModel('Booking')->approve($id); $this->setRedirect(Route::_('index.php?option=com_booking&view=bookings', false)); }
Developers on your side can review every commit.
What it does, for whom, and what it connects to.
Extension types, tables, permissions and API.
In your repository, built in small, reviewable steps.
On Joomla 5 and 6, with your data and permissions.
Installable package with an update server and changelog.
Fixes and Joomla updates, if you want us to keep it current.
So it keeps working after we hand it over.
| Deliverable | What it is | Why it matters |
|---|---|---|
| Installable package | One pkg_ zip with all parts | Installs on any Joomla 5 / 6 site, including staging. |
| Update server | XML feed with versions and checksums | Updates appear in Joomla like any other extension. |
| Database updates | Versioned SQL files | Upgrades run on their own, no manual SQL. |
| Source | In your repository | Your team or another developer can continue the work. |
| Documentation | Admin help and developer README | Editors know how to use it; developers know how it works. |
The hard partCiviCRM only ships for Joomla 5. Compatibility built as extensions and hooks, proven through a CiviCRM update.
The hard partKunena to EasyDiscuss, WordPress content into Joomla, surgeon verification and ACL for four user groups.
The hard partVendor registration, software listings, recurring payments for listing plans and a blog for vendors.
Much of our work comes from other developers: agencies with client sites on Joomla, and teams who know their site but want senior Joomla hands for the hard part.
We work under your name, in your repository and your ticket system.
Hand us only the hard part and keep the rest.
One team for the whole job, explained without jargon.

“ThePixel led a full revamp of vivi.city … Their technical depth and reliable delivery made a real difference.”Laravel · API · redesign
“They built a stunning website and an efficient travel booking platform for Posada Nena.”Website + booking platform
“Excellent support, quick solutions from the idea to the realization in many different fields.”Updates · improvements · maintenance
“He has completed database work, configuration of modules, components and other items within the scope of work.”Joomla development
“They consistently provide exceptional support and deliver outstanding results.”Development · upgrades · servers
Yes. We build on the current APIs and test on both, with PHP 8.1+ on Joomla 5 and PHP 8.3+ on Joomla 6.
Yes – rewritten to namespaced MVC and the event system, not wrapped in compatibility layers. See Joomla 6 migration.
Yes. We review it first and tell you what we would keep, fix or rewrite.
In your repository, with documentation, so you are never locked in.
Yes – through plugins and scheduled tasks, with timeouts, retries and logs. See back-end development.
“He has completed database work, configuration of modules, components and other items within the scope of work.”