ryan@techcity:~Drive the city
ryan@techcity — tour

ryan@techcity:~$

~/about

$ whoami

Ryan Govender
name
Ryan Govender
role
Senior Software Engineer
location
Cologne, Germany
origin
Durban, South Africa

I'm a senior software engineer based in Cologne, Germany, currently at SpotmyEnergy, where I lead development on a vendor-agnostic energy platform connecting solar, batteries and EV chargers through consistent, capability-based APIs. My day-to-day stack is Go on the backend — service templates, gRPC/REST, time-series data on Postgres/TimescaleDB, OpenTelemetry — alongside TypeScript, C# and React Three Fiber for interactive frontends.

Originally from Durban, South Africa, I've spent the last several years building backend systems across climate tech, fintech and enterprise software — from Hyland and Sunvigo to Decidio and BET Software — before moving to Germany to focus on the energy transition.

This site also exists as a drivable city: each district is somewhere I've worked, and you can explore it by car instead of reading. Both versions are built from the same data.

~/companies/spotmyenergy
$ cat spotmyenergy.md

SpotmyEnergy

Senior Software Engineer
periodNov 2024 — Present
locationCologne, Germany · Hybrid

Leading development on a vendor-agnostic energy platform connecting solar, batteries and EV chargers through consistent, capability-based APIs. Built the company's Go service template (Clean Architecture, gRPC/REST, CI hooks, OpenTelemetry) and time-series ingestion on Postgres/TimescaleDB.

$ stack
GogRPCPostgreSQLTimescaleDBDockerKubernetesOpenTelemetry
~/companies/decidio
$ cat decidio.md

Decidio

Software Engineer
periodJan 2022 — Jun 2022
locationDurban, South Africa

Diagnosed and fixed persistent memory leaks and excessive synchronous calls in a Spring Boot backend serving 100,000 customers. Overhauled SQL stored procedures, cutting runtime from 15 seconds to under 1. Built a language-agnostic document generation template in .NET Core, a 50% speed improvement. Simplified a Salesforce integration into a generic solution, roughly doubling partner integration speed.

$ stack
JavaSpring Boot.NET CoreSQLSalesforce
~/companies/sunvigo
$ cat sunvigo.md

Sunvigo

Software Engineer
periodJun 2022 — May 2024
locationCologne, Germany · Hybrid

Built C# .NET 6 backend services and a TypeScript/React frontend for a growing microservice architecture. Cut AWS deploy time by almost 90% with new CI/CD pipelines, and automated order creation for a 98% reduction in manual effort.

$ stack
C#.NET 6ReactTypeScriptAWS
~/companies/bet
$ cat bet.md

BET Software

Software Development Engineer 1
periodJan 2020 — Jan 2022
locationDurban, South Africa

Delivered features reaching 12M+ monthly users. Led the shift from a monolithic to a microservice architecture, roughly doubling overall performance. Used Elasticsearch to take load off heavily-trafficked databases and RabbitMQ for inter-service messaging, cutting response times.

$ stack
C#.NET FrameworkAngularSQL ServerElasticsearchRabbitMQ
~/companies/hyland
$ cat hyland.md

Hyland

Developer 2
periodMay 2024 — Nov 2024
locationGermany · Remote

Worked on Hyland RPA, the company's robotic process automation product, building backend features in C# against PostgreSQL and deploying on Kubernetes.

$ stack
C#Hyland RPAPostgreSQLKubernetes
~/companies/snacksaver
$ cat snacksaver.md

Snack Saver

Founder (paused)
periodJun 2024 — Jan 2026
locationSouth Africa

A side project to tackle food waste by helping restaurants, bakeries and stores sell surplus food at reduced prices. Built and launched a working MVP, but shelved it after struggling to onboard businesses solo.

$ stack
Next.jsPostgreSQLTypeScript
~/skills
$ ls ~/skills

The Full Stack

# Languages
GoTypeScriptC#JavaSQL
# Databases
PostgreSQLTimescaleDBCockroachDBElasticsearch
# Infrastructure
AWSDockerKubernetesCI/CDGitRabbitMQMicroservices
# Frontend
ReactAngularHTML5CSS
# Domain
Energy Management Systems (EMS)Software ArchitectureRESTful APIs
~/now/oncourt
$ cat oncourt.md

OnCourt

Founder & Developer
periodMay 2026 — Present
locationDurban, South Africa

Building a sports court booking marketplace targeting the Durban market. MVP ~90% complete.

$ stack
ReactTypeScriptPostgreSQLGodokku
~/github

$ cat contributions.json

A year of commits

0 contributions1 contribution1 contribution2 contributions3 contributions4 contributions1 contribution1 contribution6 contributions0 contributions1 contribution2 contributions2 contributions1 contribution1 contribution5 contributions6 contributions7 contributions0 contributions1 contribution0 contributions1 contribution4 contributions5 contributions6 contributions7 contributions8 contributions0 contributions0 contributions2 contributions3 contributions4 contributions5 contributions6 contributions2 contributions2 contributions0 contributions1 contribution2 contributions3 contributions4 contributions1 contribution2 contributions8 contributions9 contributions0 contributions1 contribution2 contributions1 contribution1 contribution6 contributions7 contributions9 contributions10 contributions0 contributions0 contributions1 contribution4 contributions5 contributions6 contributions8 contributions9 contributions3 contributions0 contributions1 contribution3 contributions4 contributions5 contributions7 contributions2 contributions2 contributions11 contributions0 contributions1 contribution3 contributions4 contributions1 contribution2 contributions8 contributions10 contributions11 contributions0 contributions1 contribution1 contribution1 contribution6 contributions7 contributions8 contributions10 contributions11 contributions0 contributions0 contributions3 contributions4 contributions6 contributions7 contributions8 contributions2 contributions3 contributions0 contributions1 contribution3 contributions4 contributions6 contributions2 contributions2 contributions10 contributions11 contributions0 contributions1 contribution3 contributions1 contribution1 contribution7 contributions8 contributions10 contributions11 contributions0 contributions0 contributions1 contribution4 contributions5 contributions7 contributions8 contributions9 contributions3 contributions0 contributions1 contribution3 contributions4 contributions5 contributions6 contributions2 contributions2 contributions10 contributions0 contributions1 contribution2 contributions4 contributions1 contribution1 contribution7 contributions8 contributions10 contributions0 contributions1 contribution1 contribution1 contribution4 contributions6 contributions7 contributions8 contributions9 contributions0 contributions0 contributions2 contributions3 contributions4 contributions5 contributions6 contributions2 contributions2 contributions0 contributions1 contribution2 contributions3 contributions4 contributions1 contribution1 contribution6 contributions7 contributions0 contributions1 contribution2 contributions1 contribution1 contribution4 contributions5 contributions6 contributions7 contributions0 contributions0 contributions0 contributions2 contributions3 contributions4 contributions4 contributions5 contributions1 contribution0 contributions1 contribution1 contribution2 contributions3 contributions3 contributions1 contribution1 contribution5 contributions0 contributions1 contribution1 contribution2 contributions1 contribution1 contribution3 contributions3 contributions4 contributions0 contributions0 contributions0 contributions0 contributions2 contributions2 contributions3 contributions3 contributions3 contributions0 contributions0 contributions1 contribution1 contribution1 contribution2 contributions2 contributions1 contribution1 contribution0 contributions0 contributions1 contribution1 contribution1 contribution0 contributions0 contributions1 contribution2 contributions0 contributions0 contributions0 contributions0 contributions0 contributions1 contribution1 contribution1 contribution1 contribution0 contributions0 contributions0 contributions0 contributions0 contributions1 contribution1 contribution1 contribution0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions0 contributions1 contribution1 contribution0 contributions0 contributions0 contributions0 contributions0 contributions1 contribution1 contribution0 contributions0 contributions1 contribution0 contributions0 contributions0 contributions1 contribution0 contributions0 contributions1 contribution2 contributions2 contributions0 contributions0 contributions0 contributions0 contributions1 contribution2 contributions2 contributions2 contributions2 contributions0 contributions0 contributions1 contribution1 contribution2 contributions2 contributions2 contributions1 contribution1 contribution0 contributions0 contributions1 contribution1 contribution2 contributions1 contribution1 contribution4 contributions4 contributions0 contributions1 contribution1 contribution0 contributions1 contribution3 contributions4 contributions4 contributions5 contributions0 contributions0 contributions

804 contributions from 5 Aug 2025 to 10 Aug 2026. The towers outside are the same calendar: one bar per day, height by commits, spaced so the car fits between them.

~/contact
~/play

$ ./techcity --drive

Now drive it yourself

The tour showed you the city from the outside. The game hands you the keys: the same streets, with physics, sound, and a few things to break.

  • One district per employer
  • Things you can knock over
  • Sound that comes from somewhere
  • A day and night cycle
  • A year of commits as a skyline
  • Two mini-games

WASD or arrows to drive, Space to brake, R to flip the car. Touch controls on phones. About 15 MB.

Drive the city

Built with Next.js, React Three Fiber, Rapier and Blender. Car: TOON Japan: Nissan Skyline R34 by LePoint_BAT, CC BY 4.0, modified.

> booting render pipeline
> streaming city foundation
> raising buildings & signs
> paving roads & coastline
> planting the border forest
> igniting twin-turbo gtr
Loading world0%