I build systems where software and physical hardware connect. My work ranges from flashing custom firmware on ESP32 microcontrollers for biometric passport reading, to designing modular full-text search engines in Go and shipping edge microservices.
Currently focused on preparing for the Algerian Baccalauréat (BAC) exam to earn the opportunity to study computer science abroad. In parallel, I am studying cybersecurity and programming through the University of Helsinki Open Courses.
A desktop check-in kiosk application in Go paired with custom transparent Serial-to-SPI bridge firmware running on an ESP32-S3 microcontroller. Communicates with a PN532 module over SPI to read and decrypt national eID cards and biometric passports under the ICAO 9303 standard. Executes PACE authentication with ECDH key mapping (P-256 AES) with fallback to BAC (3DES) secure messaging to decrypt traveler MRZ and facial biometric datagroups directly into a local SQLite police registry.
"Designed to facilitate secure handshakes between Alice and Bob while keeping Eve and Mallory thoroughly unemployed."
A complete web search engine written in Go with an SQLite inverted index and a multi-threaded crawler. Enforces strict architectural separation between crawl prizing (URL priority queue) and search ranking (pure BM25 field-weighted scoring combined with a SciPy sparse matrix PageRank pipeline). Features full robots.txt adherence, politeness delays, link graph topology visualization, and content filtering.
Serverless edge services deployed on Cloudflare Workers. Includes user-isolated document storage and processing backed by native Cloudflare R2 object storage, dynamic QR shortlink generation with embedded PDF.js client viewers, and responsive Vite/React interfaces served directly from the edge with sub-50ms cold starts.
Hands-on programming and security exercises built while completing the University of Helsinki Open Courses (Cyber Security Base and Introduction to Programming). Focused on defense-in-depth principles: input validation, authentication boundaries, and state verification.
OS: Arch Linux. Editor: Neovim · VS Code. Terminal: zsh. Hardware Debugging: ESP32-S3 with logic analyzers and serial monitors. Deployment: Edge Workers, Vercel, and local Linux daemons.
418 I'm a Teapot.