Projects
Ideas that started as experiments. Some became products.
2025Full-Stack ProductLive product
Handwrite
Personal messages, written in real ink. Postcards and cards with envelopes, from one recipient to a CSV list.
Handwrite turns a message into physical mail: choose a postcard or card with envelope, compose a note, add recipients individually or from a CSV, and inspect the preview.
The product joins the ordering experience to handwriting rendering, payment authorization, a production queue and a pen plotter. A production review sits before the hardware starts; finishing and dispatch remain explicit operational steps.
- Stack
- Next.js 15 · TypeScript · Tailwind CSS · Prisma / PostgreSQL · Stripe · Python · G-code / Pen Plotter
- Models
- Google Gemini 3 Pro · Claude Sonnet 4.5 · Claude Opus 4.5
- Path
- /handwrite
2026Product GovernancePrototype
PMX
Turn product intent into a clear next decision, a reviewed engineering handover, and a record of what happened.
PMX explores how to move from product intent to engineering work without repeatedly reconstructing the agreement. It reuses source context from Linear, surfaces the next decision, and keeps product review, engineering agreement and receiver acceptance explicit.
The prototype records versioned handovers and separate implementation, verification, release and outcome evidence. Changed context can reopen review. The longer-term direction is progressive delegation to agents under explicit authority; autonomous execution and authenticated organisational approval are not current capabilities.
- Stack
- TypeScript · React · Vite · Express · Node.js (built-in SQLite) · Zod · Linear API · OpenAI API · Vitest
- Models
- GPT-5.4
- Path
- /pmx
2026iOS AppBeta
Wirkraum
An offline Natura 2000 field tool for iPhone and iPad. Built with LubaUI, with traceable sources and a distinct visual identity.
A German-only iOS app that assembles the designated-feature rows needed at the start of an FFH-Verträglichkeitsprüfung under German nature-conservation law. Given a point and a radius between 0 m and 5 km, it finds the nearby FFH and Vogelschutzgebiete in the embedded Natura 2000 shards for Baden-Württemberg (302 sites), Nordrhein-Westfalen (546) and Bayern (753), then surfaces their designated species, habitats and Standard-Data-Form entries with the source snapshot, licence and checksum attached to every row.
Everything runs on-device: no account, no analytics, no tracking, no ads, and no operator backend. The only network call is an explicitly user-initiated address search through Apple Maps. The harder discipline was in what it refuses to do — it stops before effect characterisation, significance, derogation and cumulative effects, and it keeps the unfinished ordinance reconciliation visible in the UI rather than rounding it up to a verdict. A screening aid for stage 0/1 of the procedure, not a compliance answer.
- Stack
- Swift 6 · SwiftUI · LubaUI · Python (data pipeline)
- Models
- Claude Sonnet 4.5 · Claude Opus 4.5
- Path
- /wirkraum-app
2026Open Source / Design SystemOpen source
LubaUI
A shared visual language for SwiftUI apps, used to build Wirkraum. Explore the reusable system and its real-world showcase.
A composable SwiftUI design system built on radical composability — behaviors like press, swipe, long-press, and glass are extracted into primitives so any view can use them. A three-tier token system (primitives → semantic → component) means every magic number has a name and a rationale, and an MCP server plus a single llms.txt reference make the whole system legible to coding agents.
Version 0.2.0 turned the remaining documentation into behavior: components now resolve colors, fonts, spacing, and radii from the theme in the environment, a single motion policy honors Reduce Motion, 15 semantic text roles grow with Dynamic Type, and built-in accessibility strings ship in English and German. Two of the 104 tests exist only to guard the architecture — they fail if a theme role goes unread or a component reaches past the theme for a raw value. Targets iOS, macOS, watchOS, tvOS, and visionOS from a single package.
- Stack
- Swift · SwiftUI · Swift Package Manager · MCP
- Models
- Claude Sonnet 4.5 · Claude Opus 4.5
- Path
- /lubaui
2025iOS AppiOS app
VibeEcho
Explore a public Instagram profile through engagement, comments, and AI-assisted content feedback.
An Instagram analytics app powered by AI. Analyze any public profile for engagement insights, comment sentiment, content recommendations, and optimal posting times. Uses Gemini's File API to upload and analyze Instagram Reels frame-by-frame for content understanding.
- Stack
- Swift · SwiftUI · Firebase · Apify · OpenAI API · Gemini API · StoreKit 2
- Models
- GPT-4o · Gemini 1.5 Flash (multimodal video)
- Path
- /vibeecho-app
2025Research / Open SourceResearch
AnimalTaskSim
Testing which learning mechanisms reproduce animal-like choices, and where the explanation breaks down.
AnimalTaskSim tests explanations of animal choices using trial-level data, comparison models and shared evaluation tools. A September internal replication found a small predictive history effect, without validating a neural mechanism or the proposed adaptive controller.
The latest documented generative comparison recovered strong simulated history effects but not weak ones, and a drift-model precision check failed its tolerance. Fresh confirmation remains deferred while identification and numerical checks are strengthened.
- Stack
- Python · Gymnasium · PyTorch · Stable-Baselines3 · NumPy · SciPy · Pandas · Matplotlib · Pydantic
- Models
- Claude Sonnet 4.5 · Gemini 2.5 Pro
- Path
- /animaltasksim
2025Workflowsarchived
Automation & Agents
n8n nodes and Python scripts. Content pipelines, assistant bots.
A collection of practical scripts and n8n workflows designed to reduce manual repetitive tasks in daily operations.
- Stack
- n8n · Python · WordPress API
- Models
- GPT-4o · Claude 3.5 Sonnet