Hey,
I'm Frank

Software engineer from Germany who loves things that just work. Sadly, that's not the norm.
I am here to fix that.

You can't hire me, but you can hire my company Bloodmage Software.

My Skills in a Nutshell

My Companies

Scientific Papers

Projects

  • Pogo

    Go to the project

    A centralized version control system that is simple and easy to use.

    • 🏠 Centralized Server: A single source of truth for all your data.
    • 💻 Easy CLI Client: No need for a complex GUI.
    • 🌐 Simple Web UI: For easy viewing of your repositories.
    • 🔄 Cross-Platform Consistency: Works the same on all major operating systems.
    • 📄 Text & Binary File Support: Handles all file types with ease.
    • 💥 First-Class Conflicts: Push conflicts to the remote and resolve them later.
    • 🌳 No Named Branches: Create branches by adding multiple children to a change and merge them by creating a new change with multiple parents. Changes are automaticall named.
    • 🔖 Bookmarks: Tag versions with bookmarks, like main for the current version or v1.0.0 for a specific version. main is treated like a default branch in Git.
    • 📦 Go Module Support: Import a Pogo repository as a Go module, no additional configuration or software required.
    • 🔒 Adaptive Security: Automatically detects and uses HTTPS/TLS when available, gracefully falls back to HTTP when needed.
    Technology:
    • go
  • Gqlc

    Go to the project

    Compile GraphQL operations to type-safe TypeScript functions including Zod schema validation. You can use local files or a server like Apollo as the schema source.

    This project is heavily inspired by sqlc, which compiles SQL to Go.

    Technologies:
    • go
    • ts
  • Oh My Gosh

    Go to the project

    High-level interactive UNIX shell.

    Every command runs in a block. All blocks run in the background. The user can select a running block to write to it’s stdin.

    I implemented a compiler for ANSI escape sequences to enable rendering apps that modify their output (like Docker, curl, etc.). I also implemented some OSC (Operating System Commands) to provide a better integration to the terminal. Apps that use alt-mode (like Vim) run in full-screen instead of a block because users will interact with them more.

    Technology:
    • go
  • Mageanoid

    Go to the project

    Twin stick shooter game where you play as a mage fighting against hordes of skeletons.

    This was my first project with both Rust and the Bevy game engine. I wanted to try Rust and made this project in about a week.

    Technologies:
    • rs
    • bevy
  • mandelbaum.ai (dynabase Technologies GmbH)

    Go to the project

    AI based semantic search component for every e-commerce webshop. Content is automatically crawled and indexed. Search is powered by a vector database.

    I worked here for four months and made the crawling process usable for very old websites that do not adhere to standards and have no machine-readable information.

    Technologies:
    • ts
    • nestjs
    • svelte
    • tailwind
    • qdrant
    • webpack
    • rabbitmq
  • Bloodmage Engine

    Go to the project

    90s style 3D game engine built in Go using SDL2.

    I built a software renderer based on the algorithm used in Wolfenstein 3D and Doom. I also implemented texture streaming and a simple editor.

    This was a time-limited project (2 months) in a Bachelor’s course.

    Technologies:
    • go
    • sdl