Philip Olaomo
Available · Praxissemester · Winter 2026/27

I build software
end to end,
and ship it.

Full-stack engineer mid B.Sc. in Aschaffenburg. Java 17 and Spring Boot in the back, React 19 and TypeScript in the front. Currently shipping Helfa, a browser-only walkthrough of the German residence-permit process.

6
Shipped projects
1
Live in prod
24h
Reply time
§01
Six pinned projects.

Selected work.

2026 · LIVE · CIVIC TECH

Helfa.

German bureaucracy, walked through one step at a time. In plain English.

A no-signup, browser-only walkthrough of the German residence-permit process for international newcomers. Currently covers Anmeldung in Köln and the Aufenthaltstitel for non-EU residents. Fills the official forms for you and never sends your data anywhere. Underneath, a Spring Boot 3 backend models the visa lifecycle as an explicit state machine with append-only audit logging, JWT-secured REST, and a layered architecture of domain, application, and infrastructure.

  • Browser-only walkthrough. No signup, no email, no data leaves the device.
  • Spring Boot backend models the visa lifecycle as a state machine with append-only audit log
  • I am literally the user. Every step is a form I filled out myself.
STACK

Spring Boot 3 · Java 17 · PostgreSQL · Flyway · React 19 · TypeScript · Vite · Tailwind 4 · JWT

2025 · LIVE · MOBILE / AI

Talk-to-Anybody.

Public-speaking coaching in your pocket. Record, transcribe, get AI feedback.

Mobile app that records speech and returns AI coaching feedback. Pipeline runs record → transcribe → analyze audio metrics → AI feedback, fully async and tested end-to-end. Built as Lead with one contributor between August and October 2025.

  • Public-speaking coaching is expensive and hard to access — this puts it in your pocket
  • Async pipeline: record → Deepgram transcript → audio-metric analysis → OpenAI feedback
  • Lead role on a 2-person team, shipped over three months with tests on every stage
STACK

React Native · Expo · TypeScript · Node.js · Deepgram · OpenAI · Prisma

2025 · FULL-STACK / PWA

Fit Tracker.

A nutrition PWA that survives a phone with no signal in a supermarket.

Barcode scan, photo-based food recognition, meal plan, push reminders, i18n. React + Vite client, Spring Boot API on Fly.io. Service worker, Web Push, installable. German + English from day one.

  • Barcode scanning via @zxing/browser; server-side photo scan endpoint
  • Web Push (VAPID) for meal reminders and goal nudges
  • Live API at fit-tracker-api.fly.dev
STACK

React 18 · Vite · Spring Boot 3 · Java 17 · JWT · Web Push · i18next · Fly.io

2025 · ALGORITHMS / TEAM

Nova Schilda.

A drone-network planning tool: five graph algorithms, one fictional city, three of us shipping together.

A team project with three contributors modelling a fictional city as a weighted graph of hubs, drop-points, and charging stations connected by capacity-limited flight corridors. Implements five planning features end-to-end with full algorithmic complexity analysis, written up in a project report.

  • F1 reachability via BFS · F2 efficient routes via Dijkstra
  • F3 delivery capacity via Edmonds-Karp max-flow
  • F4 resilience via Tarjan bridge detection · F5 charging via greedy facility location
STACK

Python · NetworkX · Pytest · Matplotlib

2025 · GAME / GODOT

Safari Paths.

Pathfinding as a feeling, not a feature.

A 2D game in Godot exploring how AI-driven creature movement and tile-based pathfinding feel as gameplay. Custom A* tuned per creature type: predators ignore water-edge cost, herbivores prefer safer terrain. Different creatures take different paths over the same grid.

  • Custom A* pathfinding tuned per creature class
  • Encounter system with weighted spawning and per-tile cooldown
  • Unified InputMap so on-screen prompts always match the actual binding
STACK

Godot · GDScript

safari-paths/scripts/pathfinder.gd
# Tile-based A*, tuned per creature class.
func find_path(start: Vector2i, goal: Vector2i, c: Creature) -> Array:
    var open := [{ "pos": start, "g": 0.0, "f": _h(start, goal) }]
    var came := {}
    while not open.is_empty():
        var cur = _pop_min(open)
        if cur.pos == goal:
            return _trace(came, goal)
        for n in _neighbors(cur.pos):
            var step := _cost(cur.pos, n, c)   # creature-aware
            if step < 0: continue              # impassable for this class
            var g := cur.g + step
            var prev = came.get(n)
            if prev == null or g < prev.g:
                came[n] = { from = cur.pos, g = g }
                open.append({ pos = n, g = g, f = g + _h(n, goal) })
    return []

§02
Practice.

Three modes of working.

01FRONTEND

React 19, Next.js, TypeScript, Tailwind. Layout, motion, accessibility. Spatial reasoning came from architecture before code.

Helfa · DSAR console · Fit Tracker

02BACKEND

Spring Boot 3 with proper layering, JPA, Flyway, JWT-secured REST. RFC 7807 ProblemDetail responses. Integration tests against a real Postgres.

Helfa · DSAR · Fit Tracker API on Fly.io

03ALGORITHMS

Graph algorithms: BFS, Dijkstra, max-flow, bridges, facility location. Comfortable on a whiteboard or shipping Python a teammate inherits.

Nova Schilda · 5 features · 3 contributors


§03
The long way here, in four moves.

Trajectory.

  1. LONG-RUNNING CAD and 3D printing Family construction firm, Nigeria
  2. PRE-2022 Architecture (paused) International student, Kyiv, Ukraine
  3. 2022 TO 2024 FSP and restart in Germany After leaving Ukraine due to the war
  4. 2024 TO PRESENT B.Sc. Software Design TH Aschaffenburg
§04
A story-shaped CV.

The long way here.

I grew up in Nigeria. My dad runs a construction firm. When home computers were still scarce there, he bought us a PC. I became the kid who fixed everyone’s laptop, then the architecture student everyone came to for CAD and 3D-printer questions.

I started architecture in Kyiv. The war ended that mid-degree. I left Ukraine, restarted in Germany, and passed the Feststellungsprüfung at 1.7. I picked TH Aschaffenburg specifically for the Software Design course content.

Restarting from zero in a new country makes you ask which road you’d actually take if you could choose freely. The honest answer was always the computer side of architecture, just without the architecture. Software Design is exactly that.

Today I build full-stack software. Spring Boot APIs, React UIs, a graph-algorithm project, a Godot game. Helfais the work I’m proudest of, turning the chaos I personally lived through into something other newcomers can actually walk through.

I finish what I start.


FLAGSHIP
Helfa (in flight)
FIRST SHIPPED
Flashcard Pro · JavaFX
PINNED ON GITHUB
6 projects
§06
The simplest possible form.

Contact.

If something here resonates, write me a sentence.

→ I reply within 24 hours.


LOCATION
Aschaffenburg, DE