The world makes me feel like a kid standing in front of an endless buffet.
Jan Haag
Computer Science student in Basel. I design, build and maintain software for real users.
Scroll to see the workMost of my projects start with a problem of my own. I enjoy taking them from the database and API to the screens people use, then looking after them once they are running.
A Few Projects
GymTrack
A training log I built from the database schema and REST API to the web app, sign-in and charts. It runs in a small beta at app.gymtrack.ch. I moved my own history over with a validated CSV import, 106 workouts and 736 sets, with every count checked afterwards. Idempotency keys, transactions and row locks keep two saves at once from clashing.
Code on GitHub
Running it myself
GymTrack runs on a Linux server I set up and look after. Docker Compose keeps the database and API internal behind a reverse proxy. Prometheus and Grafana watch the services, alerts reach my phone, and encrypted backups leave the machine several times a day. A backup only counts once a restore test has passed.

Reading handwriting
My Matura thesis, a small neural network in TensorFlow and Keras that recognises handwritten digits. It reached about 97.5% on the MNIST test set. Graded 6.0 out of 6.0.
Code on GitHub

Retrieval, measured
A Python pipeline that turns PDFs into searchable passages with page references and compares dense, BM25 and hybrid retrieval, with and without retrieved evidence, in a small FastAPI app. Built without a RAG framework, with 63 offline tests. I wrote a 60-question evaluation set, including unanswerable and prompt-injection questions; the live model evaluation is still pending.
Code on GitHub
Tab-List
A native macOS window switcher in Swift. It lists every window across apps and desktops, not just one per app. Access to the operating system sits behind small adapters, so the logic can be tested, and CI takes care of signing, notarisation and signed updates.
Code on GitHub
Experience
Where I have worked, taught, studied and led people so far.

Full Stack Developer
I develop, operate and maintain a platform in a small team for purchasing second-hand jeans, covering customer interactions, machine learning for pricing, order processing and administration.
Next: UNICEF project
Stay tuned ;)

Teaching assistant, Python
I teach exercise lessons for about 180 BSc and MSc students: going through solutions, explaining errors and helping with debugging.

Computer Science, BSc
My current studies include software and hardware team projects, statistics and numerical methods for differential equations.
Swiss Armed Forces, UOS


Reconnaissance Platoon Leader
Led a reconnaissance platoon of 29 soldiers and 6 NCOs, coordinated training, supervised subordinate sergeants and took responsibility for operational readiness.
Swiss Armed Forces, 2025


SVF-ASFC Leadership Certificate
Leadership, communication, presentation, conflict management, self-awareness and self-management.

Matura and AI thesis
Economics and law. My thesis on handwritten digit recognition with a neural network received 6.0 out of 6.0 and was selected as an example technical thesis for 2023.
Matura thesis, 2023


Exchange semester
A semester at South Devon College in England.
About me



There are so many interesting and beautiful things. Far too many to fit into a single lifetime.








I can't pursue everything. But whenever I choose something, I give it my all.
