Fourteen projects, each with its story.

Hackathons, courses and evenings, outside paid work. Every project opens its post, and most posts carry a working demo with sample data. Startup work lives under Experience.

PneuNet

Jugend forscht state winner

Pneumonia detection on chest X-rays, from a NumPy CNN to a DICOM viewer.

Started as a high-school research project and continued at Jugend forscht. Results are from the project's own validation split, not a clinical validation.

Sole author of the code; team of three at Jugend forscht

>87% classification · >95% segmentation

Show 3 highlights
  • A CNN written from scratch in NumPy, including backpropagation.
  • Seven CNN architectures compared in PyTorch on four public datasets of up to 30k images, then lung segmentation and class activation maps in a Qt/C++ DICOM viewer.
  • Jugend forscht 2024: Thuringian state winner and a special prize at the national final. All 60 commits are mine.

Python, NumPy, PyTorch, TensorFlow, OpenCV, Qt, C++

Read the post and try the demo AIPneumoniaDetection on GitHub PneumoniaJuFo on GitHub

ESN Event Hub

Process analysis and a small web app for Erasmus Student Network Potsdam.

Course project in Foundations of Enterprise Applications at HPI with ESN Potsdam, a volunteer organisation that runs about 80 events per semester across six tools. We interviewed people in different roles, modelled the process in BPMN and shipped a prototype as a team. The code lives in a teammate's private repository; the demo is a rebuild with sample data.

Interviews, process analysis and presentations in a team of five

Team of five · grade 1.3

Show 3 highlights
  • Stakeholder interviews and a BPMN model of the as-is process; 15 pain points prioritised; the concept makes the event the single source of truth, with a view for each role.
  • The team shipped a Next.js app on Vercel with a Google Sheet as data store, so it costs nothing to run: organiser board, sign-up without login with a waitlist, and an event log that checks real events against the designed process.
  • My part: one of the stakeholder interviews, the closing part of the interim presentation and the opening slides of the final one. Module grade 1.3.

BPMN, Next.js, Google Sheets API, Vercel

Read the post and try the demo

MediaSync

Android backups to a USB stick, no cloud.

An Android app for incremental photo and video backups to USB storage and back. About 26k lines of Kotlin in 155 files. The repository is being prepared for release on GitHub.

Solo

Solo · about 26k lines of Kotlin

Show 3 highlights
  • Incremental backups with hash-based deduplication and chunked copying; restore included.
  • Foreground service with notifications, reminder worker, Quick Settings tile, three home-screen widgets and a share target.
  • Repository is being prepared for release on GitHub, so there is no link yet.

Kotlin, Jetpack Compose, Hilt, Room, WorkManager, USB Host API

Read the post and try the demo

Bundesliga fan app

Winning team

Fan app with AI chat on AWS; winning team.

Cross-platform app (Expo, React Native; web, iOS, Android) built for the first Bundesliga Hackathon 2025 by DFL, AWS and EintrachtTech. The screens come from the final prototype, run locally. The AWS backend is switched off, so the chat answer shown is a sample.

Repository owner in a team of three

Repo owner · 18 of 89 commits

Show 3 highlights
  • Tabs for matches, videos, table and statistics, plus an AI chat against an AWS API Gateway backend.
  • Quiz mode with text-to-speech; my part included the project setup, the chat UI and native sharing with fallbacks.
  • One of six winning teams at the Bundesliga Hackathon 2025.

Expo, React Native, TypeScript, AWS API Gateway

Read the post and try the demo Code on GitHub DFL on the hackathon

GorillaScout

Ongoing

Bachelor's project on re-identifying wild gorillas from camera-trap video.

HPI bachelor's project at Prof. Gerard de Melo's AI chair. It continues a multi-year pipeline that detects, tracks and re-identifies wild gorillas in camera-trap video. The project started in October 2026 and runs until summer 2027; there are no results of mine yet.

One of eight students (ongoing)

Ongoing · team of eight

Show 3 highlights
  • The pipeline goes from detection to tracking to re-identifying individual animals and counting the population. Previous cohorts built it; our cohort continues it.
  • To get started I worked through the previous cohorts' theses and the group's WACV 2026 paper and, with AI assistance, turned them into a sourced study guide.
  • The demo is a rebuild of the project's web platform, which earlier cohorts built, with invented sample data and drawn stand-in videos, not real camera-trap footage.
Read the post and try the demo

Agentic product with BMW

Ongoing

An agentic system that spots early warning signs of unplanned machine stops.

Seminar Trends and Concepts – Building Agentic Products at HPI, with BMW as industry partner. The details are confidential, so this entry only covers the problem, the approach and the technologies. The final presentation is in January 2027.

Team of six (ongoing)

Ongoing · team of six · under NDA

Show 3 highlights
  • Problem: in highly automated production, machines report errors all the time, and the early signs of an unplanned stop are easy to miss.
  • Approach: deterministic code computes every number; an LLM agent only investigates through tools, explains what it finds and routes it to the right people; a human approves anything written back to the ERP system.
  • I took part in the on-site user interviews with the partner and built the reporting and early-warning pipeline.

Python, pandas, DuckDB, Parquet, pytest, LLM agent with tools

Read the post and try the demo

Voya

Participation

Agent that matches founders with co-founders and investors, with a voice role-play.

Built at the OpenAI Hackathon at IdeaLab! 2026 (WHU Vallendar). An agent interviews a founder by text or voice, derives a search profile, ranks real conference profiles, drafts personality-adapted outreach and offers a voice role-play to prepare the conversation.

Technical lead in a team of three to four

Technical lead · 130 of 142 commits

Show 3 highlights
  • Ranks 569 real conference profiles with an explainable, deterministic match score.
  • Split the work into 30+ ownership packages; parallel AI coding agents ran in 50+ git worktrees.
  • Rule-based fallbacks keep the demo running without an API key. No prize; the MVP runs on Cloudflare Workers.

Next.js 16, TypeScript, OpenAI Agents SDK, OpenAI Realtime API, Cloudflare Workers

Read the post and try the demo Code on GitHub

takeøff website

Bilingual site for a student cultural collective, Canvas scenes, no tracking.

Bilingual site for takeøff, a student cultural collective in Potsdam. Live on Vercel; some content is still placeholder.

32 of 33 commits

32 of 33 commits in five days

Show 3 highlights
  • Adapter-based data gateway (JSON today, a database later) and contract-driven data types that generate the editing forms.
  • Dependency-free Canvas scene engine: three themes in day and night versions, three effect levels, reduced motion respected.
  • Automated UI and performance audits across eight viewport widths.

Next.js 16, TypeScript, Vanilla CSS, Canvas 2D, Vercel

Read the post Live site Code on GitHub

Sicily trip planner

Planning tool a group of five actually used for a trip.

A static multi-page site on GitHub Pages with a Cloudflare Worker behind it.

Solo

Solo · 51 commits

Show 3 highlights
  • Pages for accommodation, flights, car, activities, packing list, budget, votes, idea wall, day plan and tasks.
  • Cloudflare Worker for GitHub OAuth, data sync through the GitHub API and a scraper that reads offer links.
  • The group of five planned their trip with it.

JavaScript, GitHub Pages, Cloudflare Workers, GitHub API

Read the post and try the demo Code on GitHub

Thesinator

Participation

AI-guided thesis journey: matching, future simulation, voice.

Built at START Hack 2026 in St. Gallen for the Studyond challenge. Participation, no prize.

Chat, networking and browse features

+10,546 lines in 5 of 27 commits

Show 3 highlights
  • Embedding-based topic matching on Supabase with pgvector, a multi-agent simulation of your future stakeholders and a voice interface.
  • My part: chat, networking and browse features with 20+ React components, two Supabase Edge Functions, migrations and session persistence.
  • START Hack 2026, St. Gallen: participation, no prize.

React, TypeScript, Supabase, pgvector, Edge Functions, Python

Read the post and try the demo Code on GitHub

PowerSqueak

Brownfield work on a seven-year-old Smalltalk presentation tool.

Software Engineering I at HPI: our team of seven took over the open-source presentation tool PowerSqueak and extended it over nine sprints with weekly customer meetings and pair programming. Team test coverage went from 84% to 95%.

Feature owner for sections and timer in a team of seven

38 commits · ~4,800 lines · grade 1.0

Show 3 highlights
  • Named, nested slide sections: model, headers in the thumbnail sidebar, collapse state that persists, indent and outdent with Tab, n and p to jump while presenting, save and load.
  • An LED presentation timer built as a small subclass of the existing timer morph. I also traced a keyboard-focus bug into the UI framework's event routing and fixed it with a regression test.
  • Set up CI with GitHub Actions and smalltalkCI, made the tool run on Squeak 6.1 and rewrote the README. Module grade 1.0.

Squeak/Smalltalk, Morphic, SUnit, GitHub Actions, smalltalkCI

Read the post and try the demo Original tool on GitHub

¡Vamos!

Offline Spanish app with spaced repetition and a browser-side AI tutor.

A vanilla-JavaScript PWA for learning Spanish up to B1/B2, offline and without an account. Live on GitHub Pages.

Solo

Solo · 34 commits in two days

Show 3 highlights
  • Spaced repetition, multiple choice, accent-tolerant typing, text-to-speech and verb tables for seven tenses.
  • Optional AI tutor that runs with your own key, entirely in the browser; Anki export.
  • Content lives in 74 JSON files registered through manifests: a new chapter is a new file.

JavaScript, PWA, Service Worker, localStorage, GitHub Pages

Read the post Use it Code on GitHub

OweFlow

Flutter app for splitting group expenses; I owned auth.

A Flutter prototype built with a fellow student. There is no public build, so the demo is rebuilt from the source code.

43 of 120 commits

43 of 120 commits

Show 3 highlights
  • Groups, debt tracking, reminders and analytics.
  • I owned authentication: email verification and social login on Firebase.
  • Stopped when payment regulation made the transfer feature impractical for two students.

Flutter, Dart, Firebase Auth

Read the post and try the demo Code on GitHub

TouchdownTactics

Real-time strategy game in Squeak/Smalltalk; I owned the cards and the elixir.

Built in the Software Architecture course at HPI as a team of seven: a card-based tower-rush game in Squeak/Smalltalk, with design patterns applied throughout. The repository belongs to the course and is private, so the demo is a rebuild.

Card, hand and elixir subsystem in a team of seven

38 commits · team of seven · grade 1.0

Show 3 highlights
  • Players spend elixir to play heroes and spells from a hand of cards; units find their path and fight. Bot opponent with four difficulty levels, wave mode, tutorial and local multiplayer.
  • My part was the hand, card and elixir subsystem: deck cycle, selection and play logic, elixir regeneration and spending, and the UI morphs, refactored over several iterations.
  • The team code uses Abstract Factory, Strategy, Template Method, Null Object and Flyweight. Module grade 1.0.

Squeak/Smalltalk, Morphic, SUnit, Squot/git

Read the post and try the demo