Before it clicked
I came to computer science the way most people come to a degree: it was the sensible next step. I did the work, and did it properly. What I hadn't found yet was the part worth chasing.
--:-- local · Algeria
I ship whole products, with backends that stay fast under real load.
I ship whole products, with backends that stay fast under real load.
Algeria · working worldwide (UTC+1)
Not a straight line, and no shortcut. This is the version with the 2am deploys and the “why is it slow now” left in.
I came to computer science the way most people come to a degree: it was the sensible next step. I did the work, and did it properly. What I hadn't found yet was the part worth chasing.
Then I built something that actually ran. I taught myself Python, and the moment code started doing real work I couldn't put it down.
An apprenticeship at Faderco, starting from HTML and CSS. React by September, Django right after. By December I was building their internal job portal for people who depended on it, not for a grade.
That portal graduated me first in my class. I could have stopped there. Instead I went looking for harder problems: FitGuild, then Cognitive, then Rezervitoo, where polymorphic models, a real service layer and hard caching finally made the architecture match the ambition.
Flutter and Riverpod for BrewPhoria. Node, to stretch past my Django-and-React home ground. Now AI integration, moving past API wrappers into custom tooling and real business logic. This site is the current build.
Not borrowed from a blog post. These are the three things production argued me into, and they show up in every repo I touch.
A browser can be edited, replayed, or simply out of date. Never maliciously, just constantly. Prices, stock, permissions: recompute all of it server-side and let the front end be a pretty view of the truth.
In practiceRezervitoo decides every price and every availability window on the backend. The client renders what it is told, and nothing it renders can be argued with.
If something changes and a user has to refresh to see it, that's a bug with extra steps. A WebSocket costs less than a confused user.
In practiceFaderco's hiring loop cost a candidate four hours of driving each way. Moving the interview into the browser cut it to a fifteen-minute call, and live updates meant nobody refreshed a page to find out what changed.
A deployed feature teaches more in a week than a perfect branch does in a month. Docker it, ship it, watch it, fix what the traffic actually breaks.
In practiceSix products end to end. Every one of them taught me something the branch never would have, including the caching that took 176ms down to 40ms.
Things I've shipped.
Client work and things I built to teach myself. Sole developer on nearly all of it, schema to deploy, with nobody to hand the hard parts to.

flagship build2026
The one I'm proudest of. The architecture finally caught up to the ambition.
~40mscached responses, down from 176ms
code private, production client work

apprenticeship2024
My first production system. Built it alone, from “what do you need” to “it's live.”
4h → 15minper interview, once the call moved into the browser
internal tool, code stays with Faderco

personal product2026
I didn't know Flutter. So I built a whole coffee app in it.
1transaction covers the order, the stock, the cart and the points
public repo, link on its way

personal product2025
The storefront was the easy half. The ERP behind it is the reason I built this.
9back-office surfaces, from stock ledger to sales funnel
live site, repo private

personal product2026
Ten tools' worth of daily tracking in one desktop app — and it never phones home.
0 serversno account, no telemetry — the whole app is one local SQLite file on your machine
personal product, source public on GitHubvisit live site →read the source →
Whether I'm building for a founder or slotting into an enterprise team, the code has to outlast my involvement. Here is how I make sure it does.
Code is the easy part; building the wrong thing is expensive. I don't touch a database until we've defined the business logic, the edge cases, and exactly what success looks like for the client.
I write for the developer who inherits my codebase at 3 AM in two years. From explicit API contracts (Swagger/OpenAPI) to clear, atomic Git commit histories, I make onboarding frictionless.
I don't over-engineer MVPs, but I don't build traps either. I use pragmatic, scalable patterns — polymorphic models, proper service layers — so the app can grow without a total rewrite.
When a freelance project is done, it's actually done. I deliver containerized environments (Docker), automated deployment pipelines (CI/CD), and clear operational runbooks.
Not everything I've touched. These are the tools I'd pick again, grouped by the problem they solve.