[]= dib-a ~ software & ideen
offen für austausch --:--

~/ hallo, ich bin

dib-a

Softwareentwickler
mit Blick fürs Ganze.

Ich entwickle Webanwendungen, tüftle an Linux-Werkzeugen und bringe Kindern das Programmieren bei. Mich interessiert dabei mehr als der Code: Ideen ordnen, Zusammenhänge verständlich machen und gemeinsam den nächsten Schritt finden. Auch die Planung und Koordination hinter einem Projekt reizen mich.

1–5 Bereich wechseln / Terminal fokussieren

dib-a@arch: ~interaktiv
probier
02 / ausgewählte projekte

Was ich entwickle.

Eine Schulplattform, eine Website für Nachhilfe, eine Browser-Erweiterung und meine Linux-Umgebung. Unterschiedliche Projekte, bei denen mich die Technik genauso interessiert wie die Frage, wem sie im Alltag hilft.

01 · digitale schulorganisation
● produktivmandantenfähig

Schulverwaltungsplattform

Eine Plattform für den Schulalltag: Unterricht, Anwesenheit, Prüfungen und Kommunikation greifen ineinander. Mein Beitrag ist die Entwicklung der Anwendung über mehrere technische Ebenen hinweg – mit unterschiedlichen Zugriffsrechten für Schulleitung, Lehrkräfte, Lernende und Eltern.

  • Fachliche Abläufe verbinden: von der Klassenverwaltung über den Unterricht bis zur Bewertung.
  • Unterschiedliche Perspektiven berücksichtigen: Jede Rolle benötigt andere Informationen und Handlungsmöglichkeiten.
  • Vertrauliche Schuldaten schützen: getrennte Datenbereiche und verbindliche Berechtigungen im Backend.
  • Den Betrieb mitdenken: automatisierte Prüfungen, reproduzierbare Bereitstellung und schulindividuelle Konfiguration.
Java 26Spring Boot 4Spring Security JPA / HibernatePostgreSQLReact TypeScriptTailwindWebSockets TestcontainersPodmannginx
school-a.* school-b.* school-c.* gateway + api Host → tenant schema_a schema_b schema_c
02 · digitaler zugang zu bildung

mentorings

Website für ein Nachhilfeinstitut in Braunschweig. Im Mittelpunkt stehen die Fragen von Eltern, Schülern und Studierenden: Welches Angebot passt, was kostet es und wie lässt sich eine Probestunde vereinbaren?

  • Angebote, Preise und Fördermöglichkeiten verständlich strukturieren.
  • Den Weg von der ersten Information bis zur Anfrage einer Probestunde nachvollziehbar gestalten.
Next.jsReactSEOVercel
03 · browser-erweiterung

Tabby

Eine konfigurierbare Neuer-Tab-Seite für Firefox. Das Projekt verbindet einen klar begrenzten Funktionsumfang mit bewussten Entscheidungen über Datenschutz, Berechtigungen und Wartbarkeit.

  • Eine schlanke Umsetzung ohne Framework und zusätzlichen Build-Schritt.
  • Lokale Einstellungen und keine Telemetrie; auch Favicons werden nicht über Drittanbieter geladen.
  • Zusätzliche Berechtigungen erst dann anfragen, wenn die entsprechende Funktion aktiviert wird.
JavaScriptWebExtensionsCSSweb-ext
04 · linux · tooling

Arch Linux, dwm & dotfiles

Meine Arbeitsumgebung ist selbst ein kleines Projekt: versionierte Konfigurationen, eigene Anpassungen und Skripte für Installation, Setup und Updates. Ein Ort zum Experimentieren und um wiederkehrende Arbeit zu vereinfachen.

CShellLuaVim scriptArch LinuxX11
03 / programmieren vermitteln

Komplexe Themen verständlich machen.

Ich unterrichte Kinder und Jugendliche in Scratch und Java und entwickle dafür Kursmaterial. Dabei geht es darum, Inhalte sinnvoll aufzubauen, Erklärungen an den Wissensstand anzupassen und Raum für eigene Ideen zu lassen. Ich mag es, wenn aus einer Frage ein Aha-Moment wird.

scratch · ab 8 jahren
Wenn ⚑ angeklickt wird
wiederhole fortlaufend
gehe 10er-Schritt
pralle vom Rand ab
wechsle zum nächsten Kostüm

Scratch

Für den Einstieg nutze ich Scratch: Spiele und Animationen machen abstrakte Konzepte greifbar. Die Aufgaben schaffen einen überschaubaren Rahmen, in dem die Kinder eigene Ideen umsetzen können.

// konzepte

Abläufe, Schleifen, Bedingungen, Ereignisse, Variablen, Koordinaten

// projekte

Kleine Spiele und interaktive Geschichten, die sie selbst entwerfen

blockbasiertspieldesigninformatisches denken
java · ab 10 jahren
main · kursmaterial student/alice student/bob

Java & Git

teach-java ist ein Kurs, den ich für 10- bis 12-Jährige geschrieben habe. Jedes Kind arbeitet auf einem eigenen, langlebigen Branch; neue Aufgaben landen auf main und werden hineingemergt. So lernen sie nebenbei einen echten Git-Workflow.

// java

Klassen, Methoden, Interfaces, Schleifen, Collections, OOP, Compiler- und Testfehler lesen

// git

Commits, Branches, Push und Pull, Merge-Konflikte, Pull Requests

JavaJUnitGitGitHubkursentwicklung
01

In überschaubare Schritte gliedern

Im Unterricht zerlege ich komplexe Inhalte in kurze Aufgaben mit einem konkreten Ziel. So wird klar, woran als Nächstes gearbeitet wird.

02

Zusammenhänge erklären

Java, Tests und Git vermittle ich im Zusammenhang. Einzelne Werkzeuge werden verständlicher, wenn klar ist, welchen Zweck sie erfüllen.

03

Zuhören und Feedback geben

Wenn Lernende nicht weiterkommen, helfen Fragen und konkrete Rückmeldungen. Ich unterstütze sie dabei, den nächsten Schritt selbst zu finden.

04 / werkzeuge & arbeitsweise

Womit ich arbeite.

Java und Spring im Backend, TypeScript im Frontend und Linux als Arbeitsumgebung. Mir ist wichtig, dass die Werkzeuge zum Projekt passen – und dass Aufbau, Entscheidungen und Abläufe auch für andere nachvollziehbar bleiben.

// backend

  • Java hauptsprache
  • Spring Boot web · security
  • JPA / Hibernate
  • PostgreSQL
  • REST & WebSockets
  • JUnit · Mockito

// frontend

  • TypeScript
  • Angular
  • React
  • Next.js
  • Vite · Tailwind
  • WebExtensions

// ops

  • Linux arch
  • Podman · Docker
  • nginx · Caddy
  • Maven
  • Testcontainers
  • Shell-Skripte

// workflow

  • Git täglich
  • Neovim
  • dwm · kitty
  • CI-Pipelines
  • Code-Reviews
  • Lehre & Doku
05 / kontakt

Eine Idee, eine Frage
oder einfach Hallo?

Ob es um eines meiner Projekte, Programmierunterricht oder eine mögliche Zusammenarbeit geht: Ich freue mich über eine Nachricht. Besonders interessieren mich Aufgaben, bei denen Technik, Organisation und der Austausch mit Menschen zusammenkommen.

neue nachricht → dib-a
0 / 5000

Mehr von meinen Projekten auf github.com/dib-a