Full project catalog

Every notable thing I've built or contributed to, organized by the kind of relationship behind it. The selected six on the homepage are the most representative; this is the rest of the iceberg.

Currently building(2)

Personal Project · In development

GigCloser

Autonomous Upwork agent

An AI-driven Upwork prospecting agent under active development. Multi-agent orchestration with live tenant interactions over Telegram, built on a Next.js + TypeScript stack with a SQL backend.

Next.jsTypeScriptSQLMulti-Agent

Currently building · Multi-tenant rewrite

ticketsystem

Modern multi-tenant ticketing platform

The multi-tenant 2026 rewrite of Orpheus. Next.js 16 + Prisma + Postgres with Server Actions throughout, NextAuth v5 with WebAuthn and 2FA, Konva-based dynamic seating, RBAC, discount codes, waitlists, memberships, and analytics. Currently in active development.

Next.js 16PrismaPostgreSQLServer ActionsWebAuthn

Client work(3)

Client Work

Murph

Sales intelligence + LinkedIn outreach

Built Meeting for Murph: a Next.js 16 platform for analysing sales meetings that ingests transcripts from Vexa and Fireflies, runs LLM-driven analysis via OpenRouter, and surfaces insights through a Supabase-backed multi-tenant interface with BullMQ workers handling the background pipeline. Also contributed to Murph's LinkedIn outreach SaaS: ICP-driven commenting, third-party reply-intent detection, and production-readiness work across auth, RLS, and billing.

Next.jsSupabaseBullMQOpenRouterStripe

Client Work

CryptoIQ

Real-time trading data infrastructure

Built the Go WebSocket data server ingesting from 7+ major exchanges (Binance, Bybit, Coinbase). Hardened the high-frequency ingest path by eliminating race conditions, head-of-line blocking, and bounding unbounded tracker growth.

GoPostgreSQLWebSocket

Client Work · 2022 to 2023

xSPECTAR

Blockchain integration & community automation

Built a local WebSocket server subscribed to the XRP Ledger stream, processing live transactions to verify NFT ownership and update user roles across Discord and internal databases. Also developed a high-scale Discord bot handling verification and engagement tracking for a 10k+ user community.

Node.jsWebSocketXRP LedgerDiscord

Long-term partnerships(3)

Long-term Project · 2022 → today

Orpheus

Event ticketing & management

Full-stack ticketing platform for a Danish party committee I'm a part of (CVR-registered). QR-code entry validation, real-time attendance, and a custom Webflow to PHP compiler that turns static designs into a dynamic backend. Still hosted and maintained by me. A multi-tenant rewrite is in active development under ticketsystem.

PHPTypeScriptCustom Compiler

Co-founded · Music label

AGGR Music

Independent record label

Co-founded an independent music label with my brother. We sign artists, produce releases, and distribute through major streaming platforms. I built the Astro marketing site and the surrounding production tooling.

AstroTailwindTypeScript

Collaboration

MusicFix

Music distribution platform

Joined the founder to enhance the production Flutter iOS/Android app, then built the Next.js web platform from scratch. Backed by a Firebase architecture with strict Firestore security rules, Cloud Functions, and Stripe integration.

FlutterNext.jsFirebaseStripe

Personal projects(7)

Personal Project

tolken

LLM-powered subtitle translator

CLI for translating subtitles between any language pair, powered by LLMs via OpenRouter. Converts between SRT and EBU-TT-D TTML, with parallel translation, sliding-window context for tonal consistency, integrity validation, and a resumption cache for interrupted runs.

PythonLLMOpenRouterSubtitles

Personal Project

travel-aggregator

Travel deal aggregator

Travel deal aggregator built on Next.js with built-in authentication and a credit system. Multi-source ingestion with deduplication.

Next.jsTypeScriptAuth

Personal Project

simple-music-editor

Browser audio mastering tool

Browser-based audio mastering with album export and de-clipping restoration. React + Tailwind v4 frontend with a Python audio processing backend.

ReactTailwindPythonAudio

Personal Project

suno-bot

Suno music-production toolkit

Toolkit for the Suno music-generation platform. Browser-driven generator that creates tracks by genre and style prompts, an AI lyric refiner using Google GenAI, and hardened driver patterns with retry logic and rate awareness underneath.

TypeScriptPythonPlaywrightGoogle GenAI

Personal Project

event-scraper

Distributed event scraping platform

Aggregates Danish events across multiple ticket and event data sources. Producer-consumer architecture with BullMQ workers, four ingestion strategies (HTML, JSON API, reverse-engineered API, headless browser), AI-augmented extraction for the harder pages, normalized into a Drizzle and Postgres schema.

TypeScriptBullMQDrizzlePostgreSQLScraping

Personal Project

skoleskema-api

School schedule as an iCal API

Reverse-engineered the Danish VTG Skoleskema system to expose my school schedule as an iCalendar feed that Google Calendar can subscribe to. TypeScript and Express with JWT auth and MySQL persistence.

TypeScriptExpressMySQLiCal

Personal Project

chatbot-api

Local-first RAG chatbot

Local-first retrieval-augmented chatbot API with citation parsing and timestamp-aware fact extraction. Built as an exploration of on-premise RAG patterns.

TypeScriptNode.jsRAG

Open source(4)

Open Source · macOS Utility

ChargeControl

Native macOS battery limiter

Swift utility that caps charging to extend battery life. System sounds, plist configuration, and an automated release-notes pipeline, distributed through a dedicated Homebrew tap. Latest release: v1.1.0.

SwiftmacOSHomebrew

Open Source · Python Package

aioeloverblik

Async wrapper for the Danish energy API

Modern async Python wrapper for the Eloverblik energy data API, replacing an abandoned legacy library. Released as v0.1.2 on PyPI. Supports both Customer and Third-Party API scopes; powers a companion Home Assistant component.

PythonPyPIasyncio

Open Source · Robotics

ros2-moveit-6dof-arm

ROS 2 MoveIt workspace

Complete MoveIt 2 setup for a 6-DOF robot arm under ROS 2 Jazzy. Published as a reference workspace for others getting started with robotics on macOS.

ROS 2MoveItPython

Open Source · Minecraft Tooling

OverflowBridge

Discord and Minecraft bridge bot

TypeScript bridge bot that relays chat, player events, and commands between Discord servers and Minecraft game servers in real time. Built on discord.js and minecraft-protocol, with a clean separation between the two platforms.

TypeScriptdiscord.jsminecraft-protocol

Earlier work(3)

Earlier Work · 2022 to 2023

XRPL ecosystem tooling

XRP Ledger bots and automation

A handful of tools built for the XRPL Web3 community: a Discord auth bot for XCC token holders using XUMM wallet integration, a tiered airdrop distribution engine that snapshots XRPL trustlines and distributes custom tokens by balance threshold, and a Twitter bot that monitors XRPL NFT sales and auto-posts summaries with compressed media.

TypeScriptXRPLXUMMdiscord.jsTwitter API

Earlier Work · 2021

DeathSwap

Minecraft minigame

Multiplayer Minecraft minigame inspired by Dream's YouTube series: players swap positions every 5 minutes and try to eliminate each other through environmental hazards. Released on mcskripts.net in 2021, written in 362 lines of Skript with the skript-reflect addon for advanced behaviour.

SkriptMinecraftskript-reflect

Earlier Work · 2020

InfoScreen

Classroom display app with reverse-engineered APIs

Windows Forms app that displays a classroom schedule and Instagram feed on a school display screen. Built when no official APIs were available: reverse-engineered Viggo's undocumented school API with manual cookie and session handling, and scraped Instagram's embedded JSON to pull post data and profile stats.

C#Windows Forms.NET CoreReverse Engineering

Looking for something not listed here? Plenty of smaller experiments, prototypes, and client work available on request.

Get in touch