Software engineering student in Casablanca. I'd rather ship one thing people actually use than five tutorials, so everything below is in production or headed there.
| swhnegoce.ma | B2B storefront for hygiene supplies, workwear and IT equipment. Live, taking real quote requests, 130+ catalogued products. | Next.js Sanity Vercel |
| SwhOffice | Desktop invoicing built ahead of Morocco's DGI e-invoicing reform — clearance state machine, sequential official numbering, client snapshots at finalisation, ICE/IF/RC checksum validation. | Tauri Rust React SQLite |
| CDC pipeline | Change-data-capture fan-out: one Postgres write feeds five independent consumers — audit, notification, blockchain, OCR, SIEM — with no coupling between them. | Debezium Kafka Spring Boot Angular |
| ISO 8583 load-test | ISO 8583 load-testing bench in JMeter — authorisation client and server, timestamped jPOS traces with PAN masking, and an auto-generated transaction report. | JMeter jPOS Java |
| EMSI RAG assistant | Local retrieval-augmented assistant over EMSI's academic docs — contextual answers grounded in the source brochure, nothing leaves the machine. | Python LangChain ChromaDB Groq |
| Smart irrigation | Soil-moisture-driven irrigation with real-time supervision, configurable watering logic, a REST API and a live dashboard. | Flask MongoDB Charts.js |
- presenton/presenton — fixed an
OSErroron export when filenames exceed the filesystem byte limit (long CJK titles) via asafe_export_basename()helper; plus a troubleshooting section for the setup issues that kept resurfacing in issues.


