JM

Hi, my name is

John Moorman.

I write software that pays for itself.

Software engineer in Berlin. I built an automation suite that saved a company €74K/year, letting two part-time administrators do the work of four. Now I ship AI-native software for clients, picking up whatever stack the project needs and delivering on tight timelines.

Full story →

01.Work

Selected projects, each one shipped to production with real users and measurable outcomes.

View all work →

Currently

Showdeck

Ongoing since May 2026

Ongoing fullstack contract work for Showdeck, a production management platform for live performance. Client-owned and confidential, so the specifics stay with them.

Hotel Agentur

Ongoing since May 2026

Ongoing contract work for a hotel marketing agency: technical SEO, content tooling, and performance across a multi-site hotel portfolio.

Featured

Young Artist Community

Community-maintained directory and review platform for Young Artist Programs in classical music and opera. Browse, filter, review, and contribute program data, Wikipedia-style. AI-powered scraping pipeline for keeping listings current.

700monthly active users21.5hbuild time27import sources

Featured

Shortlist

AI-powered job search tool that scrapes listings from major ATS platforms, scores them against your profile, tailors your resume on demand, and tracks your pipeline.

5job platform integrationsFullci/cd pipeline~35h/moaverage work saved

Featured

Real Estate AI Pipeline

An automated property intelligence system that scrapes, filters, AI-analyzes, and delivers daily investment recommendations via email.

3platforms scrapedDailyai digestGO·NO·PRÜFENclassification

Featured

BOA Automation Suite

Automated the entire student lifecycle at Berlin Opera Academy, reducing admin staff from 4 to 2 and saving approximately €74,000 per year.

€74Kannual savings4 → 2staff+18%payment collection

Open Source Projects

Things I built because I wanted them to exist. No client, no brief, every one of them shipped.

Diet-focused macro tracking app for a middle-aged and older audience. Natural-language meal entry as the headline feature. Built for Android and iOS with React Native.

Voice-agent journaling app. Calls you nightly, asks one good question about your day, and writes the conversation up as a journal entry. Pipecat, Temporal, Twilio, Deepgram, and Anthropic on a single AWS VM.

Real-time browser multiplayer Skip-Bo with lobby, rooms, custom drag-and-drop, raw WebSocket server, and single-box AWS deploy.

Open-source, self-hosted text-to-speech reader with five swappable TTS engines, voice cloning, and offline PWA support.

Interactive multi-step wizard that calculates net salary, estimates living costs by Berlin district, and walks you through visa and admin steps. Angular frontend, Kotlin/Spring Boot backend, OpenAPI validation.

An open-source, self-hostable version of Drop with full model configurability: run it against local models via Ollama, or bring your own API keys for any provider.

This site, rebuilt from flat HTML to Next.js with an AI chatbot, MDX content pipeline, and streaming Anthropic integration. 95+ Lighthouse score.

02.Blog

Writing about what I build and how I build it.

April 19, 2026

10-in-10, Week 8: Skip-Bo Realtime Browser Game

A browser-native multiplayer Skip-Bo game with a pure-TypeScript engine, a from-scratch drag-and-drop stack, a raw-ws WebSocket server, and a single-box AWS deploy. Built deliberately without frameworks that would have abstracted the learning goals away.

April 12, 2026

10-in-10, Week 7: Young Artist Community

A directory and review platform for Young Artist Programs in classical music, built in 21.5 hours. The system design work I did before writing a single component is the reason it came together so quickly.

03.Schedule

Want to scope a project, get a second opinion, or just say hello? Pick a time that works for you.

Google Calendar

Book a 30-minute chat

I keep a few slots open on weekday mornings and afternoons (CET). Half an hour, no pitch.

View available times →

04.Contact

I stay busy with client work and keep capacity open for the next good project. If you have something you think I'd be a good fit for, tell me about it. My inbox is open.