status: shipping (nights & weekends)

Apps, servers
& hardware.

I'm Marcus. I make Swift apps for iPhone and Mac, small servers that run in my homelab, and build logs for when the coffee machine needs a Zigbee relay. I use everything here myself.

work

Things I've made

Self-hosted

🍳
Self-hostedFastAPIMCPSwiftUIAGPL

YAMP

yet another meal planner. fortunately, this one is good.

A self-hosted recipe library, meal planner and shopping list. There's no AI inside; it has an API and an MCP server instead, so the assistant you already use can drive it. Paste a recipe link, ask for five dinners, get a list sorted by aisle. The iPhone app works offline, even in a supermarket with no signal.

beta
Self-hostedSpotifyFastAPISwiftUI

Podcast Manager

Spotify puts every podcast you follow into one feed. This splits them into playlists you define, like news for the commute or the next episode of a serial, and rebuilds them on Spotify every morning. Self-hosted, with an iOS app. Free for non-commercial use.

Builds

Apps

m
iOS · macOSSwiftOSS

mDone

An iPhone and Mac app for Vikunja, the self-hosted to-do server. Smart lists, widgets, a focus timer and offline sync. Open source (MIT).

C
iPhoneSwiftLive

ChukkaTimer

A polo timer. One tap starts a chukka with warning bells. Game mode adds teams, handicaps and the score, and spectators can follow along in a browser.

Odds and ends

🍺
Python APIFor fun

PMaaS

Pub Meeting as a Service. An API that generates legitimate-sounding business meeting names. Pop a "Quarterly Pint Review" in your calendar and nobody questions where you've gone. Tested, MIT, faintly ridiculous.

⌂
Home AssistantPython

HA TickTick

A Home Assistant integration that pulls your TickTick projects and tasks into HA and fires events you can automate on. I've since moved to Vikunja, so it isn't actively maintained.

about

The person behind it.

I build small software I want to use myself, and lately some hardware too.

The apps are Swift, because I like software that feels at home on the iPhone and doesn't nag. The servers are Python, running on a homelab that's bigger than one house needs.

When I'm not at a keyboard I'm usually on a polo pony, which is where ChukkaTimer came from.

Marcus in a cap by the sea
get in touch

Say hello.

Email hello@marcuslab.uk, or open an issue on GitHub if something's broken.