A loaded bike resting in the snow below a prayer flag in the Nepalese Himalaya

Moritz Utcke

I'm Moritz, a software engineer who took a wrong turn at a gas station in 2022. Happens to the best of us...

4 years, 132,222 km and 40 countries later I'm still following Komoot. Is this still the right way? No idea. But I've got a tent, a laptop and most days even WiFi, so what could go wrong?

01 🇩🇪🇦🇹🇮🇹🇸🇮🇭🇷🇲🇪🇦🇱🇬🇷🇲🇰🇷🇸🇧🇬🇹🇷🇬🇪🇰🇿🇺🇿🇹🇯🇰🇬🇮🇳🇳🇵🇧🇩🇻🇳🇲🇾🇭🇰🇨🇳🇱🇦🇰🇭🇹🇭🇸🇬🇮🇩🇦🇺🇺🇸🇦🇷🇨🇱🇵🇪🇧🇴🇪🇨🇨🇴🇪🇸🇦🇩🇫🇷 40

The long way round

4 years ago I rode off on a bicycle and never quite stopped. I spent countless nights in my tent, met thousands of people and spent a significant part of my life on the road.

Kilometres
132,222
Countries
40
Days
1331
Photos
> 36000

Unfolding the map…

Open the full map

Postcards from every country

  1. Lüneburg, Germany 🇩🇪 Germany Aug 2022
  2. Österreich, Austria 🇦🇹 Austria Aug 2022
  3. Sterzing, Italy 🇮🇹 Italy Aug 2022
  4. Ankaran, Slovenia 🇸🇮 Slovenia Aug 2022
  5. Pietrapelosa, Croatia 🇭🇷 Croatia Aug 2022
  6. Apartment Dub, Montenegro 🇲🇪 Montenegro Sept 2022
  7. Malësi e Madhe, Albania 🇦🇱 Albania Sept 2022
  8. Griechenland!, Greece 🇬🇷 Greece Sept 2022
  9. Nordmazedonien, Macedonia 🇲🇰 Macedonia Sept 2022
  10. Serbien, Serbia 🇷🇸 Serbia Oct 2022
  11. Sofia, Bulgaria 🇧🇬 Bulgaria Oct 2022
  12. Edirne, Turkey 🇹🇷 Turkey Oct 2022
  13. Gonio, Georgia 🇬🇪 Georgia Jan 2023
  14. Aktau, Kazakhstan 🇰🇿 Kazakhstan May 2023
  15. Qońırat rayonı, Uzbekistan 🇺🇿 Uzbekistan Jun 2023
  16. Panjakent, Tajikistan 🇹🇯 Tajikistan Jun 2023
  17. Alai, Kyrgyzstan 🇰🇬 Kyrgyzstan Jul 2023
  18. Neu Delhi, India 🇮🇳 India Oct 2023
  19. Baniya Nationalprk, Nepal 🇳🇵 Nepal Oct 2023
  20. Tamabil, Bangladesh 🇧🇩 Bangladesh Nov 2023
  21. Tam Coc Banana Bungalow, Vietnam 🇻🇳 Vietnam Dec 2023
  22. Kuala Lumpur, Malaysia 🇲🇾 Malaysia Jan 2024
  23. Hong Kong, Hong Kong S.A.R. 🇭🇰 Hong Kong S.A.R. Apr 2024
  24. Die chinesische Mauer, China 🇨🇳 China Apr 2024
  25. Welcome to Laos!, Laos 🇱🇦 Laos May 2024
  26. Stung Treng, Cambodia 🇰🇭 Cambodia May 2024
  27. Sa Kaeo, Thailand 🇹🇭 Thailand May 2024
  28. Singapore, Singapore 🇸🇬 Singapore Jun 2024
  29. Batam City, Indonesia 🇮🇩 Indonesia Jul 2024
  30. Darwin City, Australia 🇦🇺 Australia Aug 2024
  31. Dallas, USA 🇺🇸 USA Mar 2025
  32. Buenos Aires, Argentina 🇦🇷 Argentina Mar 2025
  33. Tierra del Fuego, Chile 🇨🇱 Chile Mar 2025
  34. Lima, Peru 🇵🇪 Peru Jun 2025
  35. Municipio Colcha K, Bolivia 🇧🇴 Bolivia Aug 2025
  36. Zumba, Ecuador 🇪🇨 Ecuador Dec 2025
  37. Sibundoy, Colombia 🇨🇴 Colombia Jan 2026
  38. Madrid, Spain 🇪🇸 Spain Jan 2026
  39. Andorra la Vella, Andorra 🇦🇩 Andorra Feb 2026
  40. Foix, France 🇫🇷 France Mar 2026

Things I build

Project 01

NeoWorks

Your photos, calendar and contacts, kept to yourself.

NeoWorks is my company. It stores and syncs personal data that is encrypted on your device before it ever leaves it. Photos, calendars and contacts run on it, and other apps can build on the same storage through the SDK.

Go / C++ / WebAssembly / SvelteKit / Kotlin

More about NeoWorks
  1. 01 End-to-end encrypted storage and sync: data is encrypted on your device
  2. 02 Photos, calendar and contacts apps on the web and on Android
  3. 03 An SDK and OAuth so third-party apps can store data on NeoWorks
  4. 04 One shared crypto core in C++, compiled to WebAssembly for the browser
  5. 05 Start free with 1 GB
Project 02

Gyro

A systems language that refuses the program when it is wrong.

A systems language with manual memory and explicit effects, built so that a machine can generate code in it and be caught when it is wrong. Gyro compiles to the METALS IR, a shared intermediate representation that several languages lower into, and from there to native Linux x86-64 binaries.

Go / x86-64 / Tree-sitter

More about Gyro
import { println, Array } from "stdlib"
import { heap } from "mem"

export struct Stack {
    export capacity: i32
    items: Array<i32>
}

// A slice borrows, so the row names where the view came from.
// Without `&self` this does not compile.
export fn Stack::view(self): i32[] !{ &self } {
    return self.items.slice()
}

fn main() {
    var stack = Stack::new(16)
    defer stack.free()

    stack.push(2)
    stack.push(40)
    println("total: #{total(stack.view())}")
}
Project 03

Otter

Find something to watch. Press play. That's it.

Movies and series from all over the web in one cozy place. Search any film or show, Otter finds where it streams and lets you watch right away. It runs on your home server or NAS and on your Android phone, so your library, watchlist and progress are always with you.

Go / SQLite / GraphQL / SvelteKit / Kotlin / Jetpack Compose

More about Otter
Project 04

Drift

YouTube Music, minus the YouTube.

A YouTube Music player for desktop and Android without a server in between: every app talks to YouTube Music directly through one shared Go core. Anonymous by default, and your Spotify or YouTube Music library comes along with one import.

Go / Electron / Svelte / Kotlin

More about Drift
Project 05

Latent

A raw photo editor, because Lightroom doesn't run on Linux.

I shoot a lot of photos and edit them on Linux, so I'm building my own editor. A C++ engine renders on the GPU, every edit is a step on a stack, and instead of pushing sliders you can also just tell an agent what to change. Still early.

C++ / CUDA / Electron / Svelte / Python

More about Latent
  1. 01 Raw development on the GPU, every edit a step you can undo
  2. 02 Masks that pick out a person or the sky on their own
  3. 03 A library with folders, collections, ratings and flags
  4. 04 Agents edit through MCP, and a Python console uses the same API
  5. 05 Open source, Linux only for now

About me

Moritz on his loaded bike, looking down a mountain road

I'm a self-taught software engineer from Germany. I mostly do web things and compilers, and I most definitely spend too much time in front of a computer.

I occasionally dip my toes into stuff that I don't know yet. I know a decent amount of programming languages, both object-oriented and functional, as well as a good amount of x86 Assembly (I don't know how that happened either).

I love hiking, cycling, climbing and all things outdoors. I've been to 56 countries so far, over 40 of them by bicycle. I really enjoy street and nature photography, although I'm kinda bad at it.

I enjoy learning languages. I'm fluent in German and English, speak a decent amount of Spanish, get by in French and am working on my Mandarin.

Countries
56
By bicycle
40+
Languages spoken
4
Learning
中文

Programming languages

PythonGoC++Cx86-64 NASMLispRacketLuaPHPRubyTypeScriptMETAGyroBash