▸ About
Backend brain. AI heart. 12 years of shipping.
I'm Anass — senior lead backend engineer, software architect, and AI engineer. Remote-only since 2014. I help founders, agencies, and product teams ship Laravel SaaS, Shopify Plus apps, and AI features that survive real users.
▸ Heads up
Remote-first since 2014. GMT+1, but I adapt to your zone.
By the numbers.
Receipts before opinions. The kind of numbers that hold up under procurement review.
-
12+
Years shipping
-
60+
Production builds
-
3
Continents served
-
10+
Shopify apps (public + private)
-
100%
Remote since 2014
-
1
Time zone (GMT+1)
How I actually work.
Three phases. No agile theater, no surprise scope creep. Boring, predictable, ships.
-
Discover
1-week deep dive. Codebase audit, architecture review, risk + cost report, 12-week remediation plan. Honest scope before any code.
-
Build
TDD with Pest. Architecture-first. Production-ready from sprint one. Daily deploys, observability, incident-ready. No demoware.
-
Hand off
Docs, runbooks, eval harnesses, pair sessions with your team. Your engineers ship the next feature without me — that's the win.
From PHP scripts to AI agents.
Twelve years building products for teams that needed them to work. Not in a demo, not in a slide deck — on day three, when the cron job dies and the customer is angry. That taught me the rule I still ship by: observable infra costs less than incident response, and async architecture beats timezone friction every time.
Started shipping web apps in 2012, went remote in 2014, never opened an office calendar invite again. Trajectory: generalist → backend specialist → lead engineer → architect → AI engineer. Tools changed; the rule didn't — ship something real, then make it survive production.
Today: split across Laravel architecture, Shopify Plus app engineering, and agentic AI builds (Claude, MCP, RAG). Plus the open-source pieces that keep all three honest — provider abstractions, MCP servers, eval harnesses wired into Claude Code.
Operating principles.
The rules that survived twelve years. Boring on purpose. Hard to argue with under pressure.
-
Ship → observe → improve
Never ship → hope. Observability is a hard requirement, not a stretch goal.
-
Tests before optimism
TDD with Pest, every time. If it's not tested, assume it's broken.
-
Boring fundamentals win
Clean Architecture, SOLID, DDD. The smallest clever bit, only when it moves a metric.
-
AI is a feature, not a religion
Evals, cost ceilings, fallbacks. If it doesn't beat the baseline, delete it.
-
Async by default
Stand-ups are a tax. Async docs, recorded looms, deep-work blocks instead.
-
Protect the team
Mentor relentlessly, hire for taste, kill churn so engineers ship work they're proud of.
Stack, at a glance.
Full list lives on /uses — here are the lanes.
-
Backend
- Laravel
- PHP 8.3
- Octane (FrankenPHP)
- Horizon
- Filament
- Pest
-
AI engineering
- Anthropic Claude
- Claude Code
- MCP
- RAG
- OpenAI
- pgvector
-
Shopify Plus
- GraphQL Admin
- App Bridge
- Polaris
- Functions
- Catalog API
- Theme Extensions
-
Data & infra
- PostgreSQL
- Redis
- Docker
- Coolify
- GitHub Actions
- Cloudflare
▸ Languages
- Arabic Native
- English Professional
- French Basic
▸ Based in
- Meknes, Morocco
- GMT+1
▸ Mode
- Remote-only
- Async-friendly
- Long engagements
Got a project in mind?
I take on a handful of senior / lead / advisory engagements each year. First call is on me — I'll tell you honestly if it's a fit.