Softwareentwicklung · Bogensport · Machine Learning

Christian Völker

Ich entwickle Anwendungen für den Bogensport — von der Trainings-App, die auch ohne Netz funktioniert, bis zur Kamera, die Pfeile auf der Scheibe ringgenau auswertet.

Womit ich arbeite

Web & PWA

Anwendungen, die sich auf dem Handy wie eine App anfühlen, offline weiterlaufen und beim nächsten Netzkontakt sauber synchronisieren.

  • React
  • TypeScript
  • Vite
  • Next.js
  • Workbox
  • IndexedDB

Backend & Betrieb

APIs, Datenmodelle, Authentifizierung und Zahlungsanbindung — containerisiert ausgeliefert und auf eigenem Server betrieben.

  • Fastify
  • Prisma
  • MySQL
  • FastAPI
  • Docker

Computer Vision

Objekterkennung mit eigenem Datensatz: labeln, trainieren, ausrollen — und den Weg dahin so bauen, dass ein neues Modell in Minuten steht.

  • Python
  • YOLOv8
  • Ultralytics
  • FastAPI

Projekte

Alles hier ist aus eigenem Bedarf entstanden. Ich schieße selbst Bogen — und ärgere mich über Werkzeuge, die es nicht gibt.

ArcheryWorld

In Betrieb

Trainings- und Wettkampf-Plattform für Bogenschützen

Gewachsen von der Trainingserfassung zur Plattform: Passen erfassen, Trefferbilder auswerten, Fortschritt über Zeit verfolgen, Turniere organisieren und abrechnen. Drei Teile, die zusammenspielen — Website, App und die API dahinter, alles selbst betrieben.

  1. Website und Verwaltung

    Öffentlicher Auftritt, Nutzerkonten, Turnierorganisation, Zahlungsabwicklung und Rechnungsstellung.

    Schema der Website: Kopfbereich mit Navigation, Einstieg mit Verlaufsdiagramm, darunter Kartenraster und Ergebnistabelle
    Aufbau der Website — schematisch
    • Next.js 16
    • React
    • Bootstrap
    • Chart.js
    • PayPal
  2. Die App fürs Training

    Progressive Web App für den Schießplatz. Der komplette Erfassungs-Workflow funktioniert offline — dort gibt es selten stabiles Netz. Erfasste Daten wandern automatisch nach oben, sobald wieder Verbindung besteht. Dazu Mehrsprachigkeit und Push-Benachrichtigungen.

    Schema der Trainings-Erfassung: Zielscheibe mit gesetzten Treffern und Eingabereihe für die Ringzahlen
    Schema der Auswertung: Verlaufsdiagramm über mehrere Einheiten, Kennzahlen und Balken je Distanz
    Schema des Offline-Betriebs: Hinweis auf fehlende Verbindung und Liste der Einheiten, die auf Übertragung warten

    Erfassung, Auswertung, Offline-Betrieb — schematisch

    • Vite
    • React 19
    • TypeScript
    • MUI
    • Dexie
    • Workbox
    • i18next
  3. API

    Gemeinsames Backend für beide Oberflächen: JWT-Authentifizierung, Schema-Validierung, Rate-Limiting, Push-Versand.

    • Fastify 5
    • Prisma
    • MySQL
    • Zod
    • Docker

Arrow Detector

Beta

Pfeilerkennung und automatische Wertung per Bild

Ein Foto der Zielscheibe genügt: Das Modell findet die Pfeile, bestimmt ihre Lage relativ zum Scheibenmittelpunkt und rechnet die Ringe aus. Den Datensatz habe ich selbst aufgebaut — inklusive Label-Oberfläche, Trainingslauf und Deployment-Weg, damit ein neues Modell in Minuten statt Tagen ausgerollt ist. Ausgeliefert als eigenständiger Service, derzeit im Beta-Test.

Schema der Pfeilerkennung: Zielscheibe mit drei markierten Treffern, je Treffer der erkannte Ring und die Sicherheit des Modells, daneben die Gesamtwertung
So arbeitet die Erkennung — schematisch
  • Python
  • YOLOv8
  • FastAPI
  • Docker
  • Pose-Estimation

bogeninfo

In Betrieb

Ranking und Auswertung von Turnierergebnissen

Macht aus Ergebnislisten, die sonst über Dutzende PDF-Dateien verstreut sind, vergleichbare Ranglisten. Die eigentliche Arbeit steckt nicht im Einlesen, sondern im Zusammenführen: Derselbe Schütze taucht je nach Turnier unterschiedlich geschrieben auf, Klassen ändern sich, Ergebnisse widersprechen sich. Dafür gibt es Namensabgleich, Plausibilitätsprüfungen und eine Oberfläche, in der ich Zweifelsfälle selbst entscheide.

Schema der Ranglisten-Ansicht: Filterleiste über einer Tabelle mit Platzierung, Name, Klasse und Ergebnis
Ranglisten-Ansicht — schematisch
  • Next.js
  • React
  • TypeScript

Über mich

Platzhaltergrafik anstelle eines Portraitfotos
Foto folgt

Softwareentwickler und Bogenschütze — in dieser Reihenfolge zufällig, in der Praxis untrennbar. Bei den Rovers Bogenschützen Hiltrup e.V. bin ich seit 2023 in der Jugendarbeit, seit 2025 mit einem Jugendleistungstraining, seit 2026 mit der DOSB-Trainerlizenz C Leistungssport — und derzeit zweiter Vorsitzender.

Fast alles, was ich baue, entsteht aus einem Problem, das ich selbst hatte — beim eigenen Schießen, im Training mit anderen oder in der Vereinsarbeit. Das hat den angenehmen Nebeneffekt, dass ich meine Software täglich benutze und ziemlich genau weiß, wo sie nervt.

Technisch bewege ich mich vom Frontend bis zum Server: TypeScript und React für die Oberflächen, Python für alles rund um Bilddaten und Modelle, Datenbanken und Docker für den Rest. Ich betreibe meine Projekte selbst — das schärft den Blick dafür, was man sich an Komplexität leisten kann.

Kontakt

Fragen zu den Projekten, Interesse an einer Zusammenarbeit oder einfach eine Idee, die zum Bogensport passt — ich freue mich über Nachrichten.

kontakt@edv-zone.de

Für Auftragsarbeiten in Webentwicklung, Automatisierung und Anbindung bestehender Systeme bin ich ansprechbar. Schreib mir kurz, worum es geht.