selected workThings I’ve actually built.
Four projects that represent most of what I work on today: an independent civic-data site I run in production, a production access-management tool, a Master’s pathfinding project, and this site.
01Side project
FAIT·FEIT
faitfeit.be · live in productionScope: product design, architecture, operations and evidence reviewAn independent site that tracks all 1,793 commitments of the Belgian federal government agreement 2025-2029 and links each one to official evidence: laws and decrees from the Belgian Official Gazette, parliamentary documents from the Chamber, Council of Ministers decisions. Every link shown publicly has been reviewed by a human.
- Scheduled collectors for the Official Gazette, the Chamber and the Council of Ministers, in French and Dutch
- Hybrid retrieval: pgvector embeddings and full-text search, fused with reciprocal rank fusion
- A cross-encoder verifier filters candidates before they reach human review
- Review queue ordered by a priority model trained on past review decisions
- Auditable history: every evidence decision and status change is logged
Related service Application development →
.NET 10HexagonalAngularPostgreSQLpgvectorDocker ComposeCaddy
02Day job
Internal access tool
Infrabel · productionScope: Angular features, API work, access-flow fixesAn internal access-management tool at Belgium’s railway infrastructure manager. It handles delegated access flows around Active Directory and cloud identity. My contribution is mainly on Angular features, ASP.NET Core API work, and fixes around access-flow behaviour.
- Angular feature work on a large internal front-end
- ASP.NET Core API work with EF / MySQL
- Active Directory integration through LDAP
- Cloud identity changes routed through dedicated runners
Related service Identity & access →
C#ASP.NET CoreAngularEntra IDAzure DevOps
internal · no public demo03M1 internship
Railway routing rewrite
UMONS × Infrabel · 2025-26Scope: Java routing rewrite, cost model, benchmarksA substantial rewrite of an internal railway-routing algorithm used to calculate initial routes from operator requests. Planners can then review and adapt the proposed route to better match the customer’s operational needs.
- Rewrote the routing logic in Java around a cleaner A* implementation
- Introduced a time-based cost model
- Reverse-Dijkstra heuristic for efficient, admissible search
- Benchmarked against the legacy implementation
Related service Codebase improvement →
Related interactive demo See A* in action →
JavaJMHGraph algorithmsA* / Dijkstra
internal · no public demo04Full stack
This site
iamhakim.comScope: personal end-to-end buildThe page you’re on. It has a real ASP.NET Core API behind it: persisted counters, a SignalR live channel, a booking flow with e-mail verification, and an A* visualiser running in the browser.
- Angular 21 standalone + SSR
- ASP.NET Core API with persistent counters
- SignalR live channel to every open session
- A* visualiser, live counters, MySQL persistence
Related service Application development →
Angular 21ASP.NET CoreSignalRMySQL
available for freelance work
Working on something similar?
Book a slot