Magento 2 development that survives upgrades

Full-stack Magento 2 development for merchants who need more than a plugin. From architecture decisions to production deployment — built to Magento's native patterns.

50+
Modules shipped across Magento 2.3–2.4
24h
Response time on new project inquiries
Available for new projects
// contact me to check the next slot
🧩

Custom Module Development

Business logic built as proper Magento 2 modules — DI, plugins, observers, EAV, layout XML, RequireJS. No hacks, no ObjectManager shortcuts.

🎨

Theme & Frontend

Custom themes on top of Hyva or Breeze Evolution. LESS/BEM architecture, responsive, accessible, and optimised for Core Web Vitals.

🔗

API & Integrations

REST and GraphQL integrations with payment gateways, ERPs, CRMs, and shipping providers. Clean service layer, proper error handling.

🛠️

Debugging & Code Audit

Systematic production debugging: DI compilation errors, layout conflicts, JS errors, observer conflicts, and performance regressions.

🗄️

Admin UI Components

Custom grids, forms, and UI components in the Magento Admin using ui_component XML and DataProviders — with proper ACL.

🔒

Security & Best Practices

Code that passes Magento marketplace standards: no SQL injection, proper ACL, CSP headers, and input sanitisation.

01

Discovery call

We discuss the requirement, existing codebase, and constraints. I ask the questions that turn a vague request into a precise scope.

02

Written scope & fixed price

Detailed scope with timeline and fixed price — or hourly for open-ended audits. No estimates that balloon mid-project.

03

Development with early previews

Code in a dedicated branch, regular progress updates, and early functional previews on your staging environment.

04

Testing & review

PHPUnit tests for business logic, manual QA on staging, and a code walkthrough for your team if needed.

05

Composer package delivery

Delivered as a proper Composer package with DocBlocks, a README, and deployment docs. Ready for your private Satis repo.

⚙️

No ObjectManager abuse

Every dependency is injected through constructors. Your module compiles clean and stays clean on the next upgrade.

🧪

Tested before delivery

I don't ship without staging validation. No exceptions — even 'simple' modules are where assumptions usually break.

📖

Documented for your team

Inline DocBlocks, a technical README, and a handoff call if your team needs to own the code going forward.

🌍

MENA market experience

Tunisian and North African e-commerce specifics: Arabic RTL, TVA logic, local payment gateways, and bilingual admin UIs.

Faouzi rebuilt our entire checkout flow as a custom Magento 2 module. Clean code, delivered on time, and it survived our 2.4.6 → 2.4.7 upgrade without a single conflict.

MK
Mohamed K.
// CTO, e-commerce platform · Tunisia

Why custom development?

Off-the-shelf extensions solve 80% of problems. Custom development solves the remaining 20% — the part that defines your store’s competitive edge.

I’ve built modules for Tunisian tax logic, custom checkout flows, Cloudflare Turnstile integration, ERP connections, and store-specific catalog behaviour. Every project follows Magento’s native patterns, which means your codebase survives upgrades.

What I don’t do

I don’t use ObjectManager directly. I don’t write raw SQL. I don’t ship without testing on staging. If you’ve had bad experiences with developers who cut these corners, I understand — and I work differently.

PHP 8.2 / 8.3 Magento 2.4.x Dependency Injection Plugin / Observer system EAV Architecture ui_component XML RequireJS / AMD Breeze Evolution Hyva Theme Less / BEM PHPUnit GraphQL REST API Composer
How long does a typical module take?
Depends on complexity. A simple observer or admin grid takes 1–3 days. A full checkout flow or ERP integration takes 2–4 weeks. I'll give you a clear timeline estimate before any work starts.
Do you work with existing codebases, or only greenfield?
Mostly existing codebases. I'm comfortable reading unfamiliar Magento setups and working within their constraints — including overriding third-party extension behaviour without touching vendor source.
What if I need changes after delivery?
Small corrections within scope are included. Larger changes or new requirements are scoped and quoted separately. I'm available for ongoing retainer arrangements for stores that need regular development.
Do you work with Hyva or Breeze themes?
Yes. I work on Breeze Evolution regularly and have shipped modules with Alpine.js frontends for Hyva. RequireJS AMD modules are fine for standard Luma-based setups too.

Have a Magento project in mind?

Describe the business problem — not the technical solution — and I'll tell you the cleanest way to build it. Response within 24 hours.