Ilyess Hassani
Full-stack developer · Casablanca

I build web apps and keep them running.

Next.js, TypeScript and PostgreSQL. I design the schema, ship the product, deploy it with Docker and watch it in production. Five of my projects are live today.

Portrait of Ilyess Hassani
open to relocation & visa sponsorship
742commits on one production marketplace
55Prisma models in its PostgreSQL schema
5projects live on the web today
ProdDocker, Coolify, Cloudflare, Sentry, backups

Counts read from the git history and Prisma schemas of each repository. Repositories are private; I can walk through the code on request.

Selected work

From a live marketplace to client back-office tools.

ConfigPro.ma home page
01

ConfigPro.ma

Live · peer-to-peer gaming hardware marketplace

There was no trusted place in Morocco to buy and sell used gaming hardware. I built the marketplace: listings with human moderation, a seller flow, search, accounts, uploads, notifications and an admin area.

  • Auth.js v5 with Google and magic-link sign-in, Cloudflare Turnstile against bots.
  • Image uploads to Cloudflare R2, automated database snapshots to a separate backup bucket.
  • Email through Brevo with a Resend fallback, DKIM and DMARC set up, web-push notifications.
  • Run in production: health endpoint, Sentry, GA4 funnel events, Playwright tests, deploys through Coolify on a VPS.
Next.js 16React 19TypeScriptPrismaPostgreSQLAuth.jsR2SentryDocker
Visit the site ↗
Kasbi landing page
02

Kasbi

Live · multi-tenant SaaS for Moroccan shops

A cash register, stock and customer-credit ("kridi") app for small shops, grown out of a pilot ERP for a home-appliance business. Each shop is a tenant with its own legal details and logo.

  • Multi-warehouse stock with a movement ledger and FIFO lots, so every sale has its real cost.
  • Invoices, delivery notes, credit notes and receipts as PDFs, with amounts written in words.
  • POS sessions, partial payments and receivables, installable as a PWA, plus a Windows desktop build.
  • Roles enforced on the server: staff never receive purchase prices or margins. End-to-end tests with Playwright.
Next.js 16TypeScriptPrisma 7PostgreSQLNextAuthTailwind + shadcnPlaywrightPWA
Visit the site ↗
DistroHub CRM login page
03

DistroHub CRM

Live · distribution CRM, Firebase to PostgreSQL migration

A long-running operations CRM (over 1,600 commits) for a distributor: sales pipeline, delivery rounds and after-sales repairs in one workspace. I moved it off Firebase/Firestore onto PostgreSQL, Prisma and Auth.js, with a one-time data migration script.

  • 46-model relational schema replacing document collections.
  • Password or email-code sign-in; seed and bootstrap-admin flow for repeatable environments.
  • Modules for a quote pipeline, delivery planning with proof of delivery, and repair claims.
Next.jsPrismaPostgreSQLAuth.jsFirestore migration
Open the app (login) ↗

And more

Smaller builds that show range.

Casaconfig rebuild

Casaconfig rebuild

A WordPress/WooCommerce hardware store rebuilt as one Next.js + Payload CMS codebase with the admin embedded at /admin.

Payload CMS 3Next.jsPlaywright
Live demo ↗
CVMaroc

CVMaroc

Free CV builder for the Moroccan market with templates, an ATS score check and FR / AR / EN support.

Next.jsPrismai18n
Live ↗

Price benchmark

Python tool that scrapes Moroccan e-commerce sites, groups products by brand and capacity and exports an Excel sheet for repricing. Streamlit UI and CLI.

PythonStreamlitScrapers

switchmyagent

A CLI that watches your AI coding agent's quota and moves you to the next agent with notes on where you stopped. Install script, completions and tests.

ShellCLIMIT

Router dashboard

Read-only dashboard for a GPON router: a server-side proxy logs in and scrapes status pages, then serves a clean JSON API so the browser never sees credentials.

Next.jsDocker

Content engine

Beyond code: animated reels in HTML and GSAP, a rigged 3D mascot rendered in Blender, and a Meta ads campaign set up with UTM tracking, all driven by scripts. It markets my own product.

GSAPBlenderPythonffmpeg

The path here

Seven years of commercial work, which is why I build software around real workflows.

2025 to present

Founder and developer, Leadnia

A digital studio that builds web apps and internal CRM tools for clients on the TypeScript stack above.

May 2024 to present

Sales & Digital Manager, UMAREQ

Home appliances distributor. I saw the team's tooling gap and built the UMAREQ CRM, now used across sales, logistics and after-sales.

2018 to 2024

CS Sales Team Leader, Jumia Morocco

Led a sales and customer team that scaled from 20 to 60 agents by season, working with the tech teams on process improvement.

Education

ISTA Gestion, International Trade

Specialized Technician Diploma. Certifications: Anthropic (AI Fluency, Claude Code in Action, Claude 101), Google AI Professional Certificate, Google Digital Marketing.

What I use

Day to day.

FrontendReact 19, Next.js App Router, TypeScript, Tailwind, shadcn/ui, TanStack Query, forms with Zod
Backend and dataRoute handlers and server actions, PostgreSQL, Prisma, Auth.js, PDFs, Excel, file storage on R2
QualityPlaywright and Vitest, Biome and ESLint, audit and handoff documents, schema reviews
OpsDocker, Coolify on a VPS, Cloudflare (DNS, CDN, R2, Turnstile), Sentry, GA4, email deliverability
Product and growthMoroccan market, Arabic / French / English, SEO, ads and funnel tracking, short-form video
How I workShip small, measure, fix. I pair with AI coding agents and keep a written memory so work carries across sessions.

Let's build something that runs.

I'm looking for a full-stack role. I can start from a live codebase, own a feature end to end and run it in production. Open to relocation and visa sponsorship. Happy to walk through the code of any project above.