Skip to content
Badr Abouhilal

HI, I'M BADR

Full-StackEngineer

I build web and mobile products end to end: the interface, the services behind it, and the cloud it runs on. I also build the agent workflows my teams review, test, and ship with.

About / bio

Full-stack engineer, frontend roots.

I'm a senior full-stack engineer with 10+ years building fast, accessible web and mobile apps. I work across the whole stack: React and Vue on the front end, Python and Node behind them, and the cloud they run on. I care about strong TypeScript, thoughtful testing, and a user-centered mindset. I like working with product teams to deliver measurable outcomes, and mentoring other engineers along the way.

Years shipping
10+
Users reached
1M+
Teams shipped with
7
Fewer runtime bugs
-45%
Feature delivery speed
2.1×

Tools & stack

Languages
  • TypeScript
  • JavaScript
  • Python
  • HTML
  • CSS
  • Sass
  • SQL
  • Bash
Frameworks
  • Vue
  • React
  • Next.js
  • Nuxt.js
  • FastAPI
APIs
  • ElysiaJS
  • Express
  • FastAPI
  • Bun
  • REST API
  • Socket.IO
  • Stripe
Data
  • Prisma
  • SQLAlchemy
  • Alembic
  • Pydantic
  • PostgreSQL
  • MySQL
  • Redis
  • Firebase
AI & LLMs
  • LangChain
  • OpenAI
  • Anthropic
  • Gemini
  • Mistral
  • Vertex AI
  • ElevenLabs
  • Azure Speech
Spoken
  • Arabic
  • French
  • English

AI / how I build

Working with agents

I don't just use AI tools. I build the workflow around them, so custom agents and skills handle the routine passes: drafting specs, reviewing pull requests, running smoke tests. The judgement calls stay with me. Every agent is scoped to the conventions the codebase already documents, so what comes back is something I can actually review.

1.

Spec first

  • Agents draft a tech spec from the feature context and the codebase itself
  • Specs get reviewed and approved before a line is implemented
  • Implementation follows the approved spec through phased roadmaps and logs
2.

Review as a gate

  • A review agent checks every pull request against the repo's documented conventions
  • Findings post as inline comments, but only once I've approved them
  • The conventions live in the repo, so the agent and the team read the same rules
3.

QA on demand

  • Smoke suites run end to end against deployed environments
  • Failures are triaged and reported back to the team automatically
  • Suites get updated as the API changes, so they stay worth running
4.

Written context

  • Domain rules written per subsystem: API shape, migrations, conventions
  • A dedicated agent keeps the handbook and docs consolidated
  • Design-system and UX skills keep generated interfaces on brief
Tooling
  • Claude Code
  • Claude Design
  • Antigravity
  • Gemini CLI
  • Warp
  • Custom agents
  • Custom skills
  • MCP

Case studies

Selected work

Three products I designed and built, from the first sketch to the app stores. Each one has its own story: why it exists, how I built it and what it changed.

01 / Selected work

Medzair

French hospitals need doctors at short notice, and filling each shift meant emails, phone calls and paperwork. I designed and built Medzair to take that work off everyone's plate, from the hospital's request to the signed contract.

-45%
Fewer runtime bugs
2.1×
Faster feature delivery
  • Expo
  • React Native
  • TypeScript
  • Nuxt
  • Vue
  • Next.js
  • Node.js

02 / Selected work

Polypro

Polypro is an online language school where adults practise speaking with an AI tutor, on the web, iPhone, iPad and Android, with portals for companies and a back-office for the team. I led the mobile app and in-app billing.

12%
Faster than Google's 2.5 s speed target
100%
Google SEO checks passed
  • Next.js
  • Expo
  • React Native
  • TypeScript
  • Zustand
  • NativeWind
  • Bun

03 / Selected work

Locafix

Property managers handle repairs by phone, email and spreadsheets, and nobody knows where a job stands. I built Locafix end to end, from the website to the mobile app: one shared timeline for managers, tradespeople, tenants and owners, from the first report to the signed-off job.

100%
Google SEO checks passed
100%
Google best-practice checks passed
  • Next.js
  • React
  • Expo
  • React Native
  • TypeScript
  • Bun
  • ElysiaJS
Read case studyNot yet released

Approach

How I Work

Great software isn't just about shipping features. It's about building systems that are maintainable, secure, and pleasant to work in. I focus on long-term quality, so teams can move fast without bracing for what breaks next.

a.

Code Quality

  • Strict TypeScript everywhere (types as contracts)
  • ESLint/Prettier + pre-commit hooks
  • CI gates for format, lint, types, tests
b.

Testing First

  • Behavior-first unit/component tests
  • MSW for realistic API mocks
  • Visual & a11y checks via Storybook
c.

Design Systems

  • Composable UI primitives & tokens
  • Storybook-driven states/variants
  • Shared libraries across apps
d.

Performance

  • Code splitting & dep hygiene
  • Perf budgets tracked in CI
  • Image/font optimization + CWV
e.

Refactoring

  • Small, safe, iterative changes
  • Extract composables/hooks
  • Clear migration plans & docs
f.

Security & Accessibility

  • Secure defaults in reviews & CI
  • a11y-first components & flows
  • Monitoring & error budgets

How I keep quality high

Testing & Tooling

Testing

  • Vitest + Testing Library for unit & component coverage
  • MSW for reliable API mocks (no flaky tests)
  • Detox for RN end-to-end flows
  • Storybook snapshots for visual & a11y checks

Tooling & DevOps

  • Strict TS config + ESLint/Prettier enforced via CI
  • Code splitting + performance budgets
  • Automated Prisma migrations & seed
  • Sentry + OpenReplay for monitoring

Performance

  • Lighthouse budgets in CI
  • Bundle analyze & dependency hygiene
  • Nuxt/Next image & font optimization
  • Web Vitals tracking

CI/CD

  • Preview URLs per PR
  • Typed checks + tests as required status
  • Conventional commits + changelogs
  • Auto-deploy on main with health checks

Quality Gates

  • Pre-commit hooks (lint-staged)
  • a11y checks in Storybook
  • Security linting (npm audit / snyk)
  • Error budgets & dashboards

Data & DX

  • Prisma schema review rules
  • DB seed scenarios for demos
  • Local parity docker compose
  • API contracts mocked with MSW

Contact / let's talk

Let's
build it