soljt.ch · Zürich

↓ scroll, newest first↑ swipe up, newest firstor jump in above

Feb 2026 – present · Zürich

PrivaSphere AG

Junior Software Engineer

  • Architected an encryption key-management upgrade: a new encryption standard to meet financial-sector compliance, which enabled a major enterprise partnership.
  • Designed and deployed qualified e-signature (QES) integrations with DigiCert and Swisscom, helping sales convert 10+ customer leads.
  • Led a SCIM integration with the City of Zurich: accounts created, updated and deactivated automatically, with audit logging and dynamic permissions.
  • Turned citizen-facing government paper forms into online workflows, integrated with government systems over structured XML.
  • Own the Kubernetes cluster, and lead a legacy modernisation with DDD and the Strangler Fig pattern.

Java (Tomcat) · TypeScript · MySQL · Kubernetes

sol@zrh: ~zsh — 80×24

Apr 2026 – present · Freelance

Athlete management platform

For Freestyle Ski Canada's national team

  • Built solo (85+ PRs): injury tracking, performance plans and fitness-testing analytics, in English and French.
  • Role-based access per staff discipline (medical, coaching, S&C, nutrition, mental performance) over sensitive data, backed by 100+ integration tests.
  • A metadata-driven metric registry lets coaches add metrics at runtime without schema changes, plus cohort analytics with small-group suppression.

Java · Spring Boot · PostgreSQL · React 19 · TypeScript · Docker

The full storyWho it’s for, what’s in it, and how it’s built.

Jun – Sep 2026 · Zürich

Flatbot

Personal project

  • Watches Flatfox, Homegate, ImmoScout24, NewHome and Comparis every 15 minutes and emails the moment a matching flat appears, with an application message drafted by Claude.
  • One client per portal, from plain HTTP up to headful Chrome under a virtual display, depending on each site's bot protection.
  • Merges the same flat listed on two portals. A crash can cause a duplicate alert, never a missed one.

Python · nodriver · FlareSolverr · Claude API · Docker on Raspberry Pi

The full storyWhy it exists, the hard parts, and a feed to try.

Map © OpenStreetMap contributors

Mar – Sep 2025 · ETH Zürich & Fenris GmbH

Interpretable ML for golf coaching

MSc thesis, Laboratory for Movement Biomechanics

  • Predicted swing outcomes from markerless motion-capture data with an ensemble of scikit-learn and custom PyTorch models.
  • Explained each swing, and the whole dataset, with counterfactuals, ALE, LIME and SHAP, then turned the explanations into coaching advice.
  • Manuscript in preparation.

PyTorch · scikit-learn · SHAP · LIME · Alibi

The full storyThe data, the pipeline, and what the models said.

Jul 2025 · poker.soljt.ch

Real-time online poker

Personal project

  • Multiplayer hold'em over WebSockets, with a Flask REST API on SQLAlchemy and PostgreSQL, and heuristic and LLM-driven bot players.
  • Self-hosted with Docker Compose behind nginx. GitHub Actions publishes hardened images to GHCR.
  • In progress: a reinforcement-learning agent to fill empty seats.

React 18 · Flask · PostgreSQL · Redis · Socket.IO · Docker

The full storyA hand end to end, the architecture, the hard parts.

Sep 2024 – Jan 2025 · ETH Zürich

RAG digital twin

Graduate researcher, LLMs and information retrieval · Computational Social Science Lab

  • Built an LLM-agnostic RAG pipeline that turns a research group's publications into a digital twin you can question, with the papers behind every answer.
  • Three ways to stay in character, including a discriminator model that screens questions before the twin sees them.
  • Deployed and benchmarked local LLMs for latency and answer quality.

Python · LangChain · FAISS · llama.cpp · Llama 8B / 70B

The full storyRetrieval over fine-tuning, staying in character, and the uncomfortable part.

Fall 2022 · realspace.soljt.ch

Realspace

Course project, COSC 304 Introduction to Databases · team of five

  • An online shop for real estate on other planets, shipped from our warehouse on Mars at astonishingly low prices.
  • Server-side JSP over SQL Server: accounts, cart and checkout, reviews, and shipping that checks the warehouse stock first.
  • Every visitor is an admin, on purpose, so you can try every feature. The galaxy resets every night.

Java · JSP · SQL Server · Tomcat · Docker

2020 – 2023 · Research, teaching and early work

Earlier

★ Top oral presentation, 2023

Portable MRI prototype

Undergraduate researcher, MURPH · UBC Okanagan · Sep 2022 – Jan 2023

We designed and optimised a low-field MRI system built on permanent magnets. My part was the RF coil's transmit/receive switching and low-noise signal acquisition: analog design, SPICE simulation and PCB assembly.

  1. Sep – Dec 2022Heart-rate sensorThe last stage of a pulse monitor, for ENGR 451: an edge detector and a monostable that flash an LED once per beat. A lab, with a partner. Report ↗
  2. Jan – May 2022Teaching assistant, industrial automationPLCs, sensors and PID control for 40+ engineering students.
  3. Apr 2020 – Jun 2023Web developer, Western Canadian Learning NetworkJavaScript learning games for K–12 courses, and a video pipeline that took turnaround from hours to minutes (20 videos a day).

Sep 2023 – Sep 2025 · Zürich

ETH Zürich

MSc Computer Science · grade 5.4

  • Thesis: Interpretable Machine Learning Approaches for Golf Swing Analysis, with the Laboratory for Movement Biomechanics and Fenris GmbH.

Coursework: Deep Learning · Probabilistic AI · Large Language Models · Algorithms Lab · Computational Intelligence Lab · Computer Vision · Computer Architecture · Data Management Systems · Big Data

AlongsideGolf ML thesis ↑RAG digital twin ↑

Contact

Say hello

sol.thiessen@soljt.ch
LinkedIn · GitHub · CV

Languages

English, native
German, B1
French, A2

Off the clock

Climbing, bouldering, powerlifting, golf, poker, chess, guitar and piano.

© 2026 Sol Thiessen · Zürich