DevOps engineer

I build applications and the infrastructure that keeps them running.

From application development to deployment and recovery, I help turn working code into services people can use and teams can maintain. Based in Berlin.

Explore my GitHub ↗
Terraform
Ansible
Kubernetes
Docker
GitLab
AWS
Linux
Python
Argo CD
Prometheus
Grafana
PostgreSQL
Skills & Services

Creating Reliable Solutions

Passionate about automation, infrastructure, and problem-solving, I help organizations streamline their workflows, strengthen system reliability, and make technology work smarter for their teams.

Terraform Ansible AWS Hetzner Cloud Proxmox

Infrastructure as code & cloud

Defining and managing cloud infrastructure through version-controlled code, so environments can be reproduced and changes reviewed before they’re applied.

In practice: Hetzner and Cloudflare as Code →
Docker Kubernetes Helm Argo CD GitLab CI Jenkins

Containers & delivery

Packaging applications as containers and automating testing and deployment, so releases are repeatable and traceable to the code changes behind them.

In practice: Kubernetes Delivery Platform →
Prometheus Grafana Loki PostgreSQL Datadog

Observability & recovery

Making system behaviour visible through metrics, logs and alerts, and preparing for failures with replication, backups and tested recovery procedures.

In practice: PostgreSQL High Availability →
Python FastAPI Flask Linux Bash pytest

Application development

Building web applications and APIs that support real workflows, with background processing, access control and automated tests.

In practice: Room & Resource Management System →
Projects

Real Results for Real Businesses

Kubernetes Delivery Platform — k3s and Argo CD

Kubernetes Delivery Platform — k3s and Argo CD

A small FastAPI service and the full platform around it. Terraform creates the Proxmox virtual machines, Ansible builds them into k3s clusters for staging and production, and a Helm chart packages the application with its database, ingress and backups. GitLab CI tests, builds and scans each image, then records the new release in Git. Argo CD pulls that change and reconciles both clusters. The application is deliberately small, so the platform decisions stay easy to see.

Read more
Hetzner and Cloudflare as Code — Terraform

Hetzner and Cloudflare as Code — Terraform

Terraform for a role-segmented Docker Swarm cluster on Hetzner Cloud. Public manager nodes sit behind Cloudflare; workers and database nodes have no public address at all. Three firewalls give each role only the ports it needs, and Cloudflare — the zone, DNS, R2 storage and Turnstile — is managed as code too. It was extracted from a production deployment. Terraform provisions the infrastructure and stops there: joining the cluster and deploying stacks are left to configuration management, which handles re-runs far better.

Read more
PostgreSQL High Availability — Ansible

PostgreSQL High Availability — Ansible

Ansible roles for self-hosted PostgreSQL with automatic failover. A monitor node watches a primary and a standby, and promotes the standby in about 30 seconds if the primary dies. Authentication is scram-sha-256 end to end, and backups and restore rehearsals run on systemd timers. They were extracted from a production deployment on Hetzner Cloud. The README documents the sharp edges of running pg_auto_failover with strict authentication — the parts most guides leave out.

Read more
Room & Resource Management System

Room & Resource Management System

A system for organisations that manage physical space: buildings and rooms, bookings, leases, physical keys, equipment, and the documents attached to them. It has three surfaces: a public booking site where anyone can request a room without an account, a member portal for internal bookings, and a back office where staff approve requests and manage everything else. I built the application and the stack it runs on — seven Docker Compose services that start in order behind health checks, with migrations applied on boot — and carried out the production cutover. The open-source version runs from a clone with one command and fictional demo data.

Read more
Postbuch — Correspondence Register

Postbuch — Correspondence Register

German associations and public bodies keep a Postbuch: a register of every official letter they send or receive, who handled it and how it was resolved. It is usually a paper ledger or a spreadsheet nobody updates. This one fills itself in: email arrives over IMAP, scanned letters are OCR'd into searchable text, and every change is recorded with what it was before and after. I built the application, the mail-import worker and the storage path, and wrote the runbooks for setup, backup and the production migration. It runs from a clone with one command and fictional demo correspondence.

Read more
Slack–Mattermost Bridge

Slack–Mattermost Bridge

Two organisations, one on Slack and one on Mattermost, needed to work in a shared channel. The bridge connects one Slack channel to one Mattermost channel so it feels like a single room: messages, threads, files, edits, deletes and reactions cross in both directions, each under the author's own name and marked with the platform it came from. It runs as a single container next to Mattermost, with no public endpoint. A setup check verifies tokens, permissions and server settings before a single message is copied.

Read more
Polylog — Live Speech Translation

Polylog — Live Speech Translation

Polylog turns a speaker's voice into live subtitles in other languages. Attendees open a link on their own phones and read along in their language a few seconds after the words are spoken. I built the platform. The service itself is private; the browser client, the microphone capture and the WebSocket protocol are open source, with a mock server that replays a conference session so anyone can try the client without a backend.

Read more
Time-Tracking App

Time-Tracking App

TimeTracker delivers a comprehensive solution for team time management and absence tracking. Users can log their working hours through an intuitive interface, choosing between duration-based entry or start/end times with break tracking. Time entries can be categorized by projects, with detailed notes for activity context. The application features a robust absence management system, including vacation requests, sick leave tracking, and administrative approval workflows. The admin dashboard provides real-time visibility into team status, working hours, and planned absences, enabling better resource planning. Built with Python/Flask and MySQL for the backend with SQLAlchemy ORM, the application combines Tailwind CSS interface with JavaScript interactions for a seamless user experience.

Read more
Room Booking Platform

Room Booking Platform

This room booking platform offers a seamless online experience where users can easily search and reserve rooms. Once a booking is made, they receive an automatic notification along with a unique booking number, which allows them to manage their reservations effortlessly. Additionally, the platform features an admin dashboard that provides comprehensive tools for monitoring room availability, managing bookings, and accessing detailed analytics for efficient operations.

Read more
Email Signature Generator

Email Signature Generator

This internal email signature generator was built with Python and Flask to streamline the process of creating consistent, branded email signatures. The web-based tool allows employees to enter or update their details through a simple form, which are then rendered into responsive HTML email templates. This eliminated the need for manual editing or technical support involvement. The system also supports updates to formatting or branding at the template level, automatically applying them across all generated signatures. It has become a self-serve productivity tool that reduces friction and ensures brand consistency in internal and external communications.

Read more
OpenedX Deployment

OpenedX Deployment

This Open edX deployment project involved end-to-end implementation of a scalable open-source learning management system. Starting from a clean Ubuntu server install, I configured essential security layers (firewalls, DNS, SSL) and deployed Open edX using Docker. Beyond deployment, I customized the platform extensively—modifying the frontend and backend via a GitHub fork of the brand-edx-platform repo. Custom features like enhanced course navigation, branding integration, and user interface tweaks were implemented, transforming the platform into a production-ready, user-centric LMS tailored to organizational needs.

Read more
Docmost Deployment

Docmost Deployment

Docmost was deployed as a private knowledge and productivity platform to replace cloud-based tools like Notion. I installed and configured the service on an existing Ubuntu server using Docker, securing it with firewall rules, domain-based HTTPS access, and persistent storage. The platform now serves as a centralized hub for documentation, planning, and project tracking. Its self-hosted nature ensures data privacy and full administrative control. I customized workspace settings, optimized performance, and integrated it into my daily workflow for personal knowledge management and internal team collaboration.

Read more
Notion API Integration

Notion API Integration

The Python-Notion Integration with Document-Merge project automates the creation of customized documents by integrating data from multiple Notion databases with a dynamic document generation system built in Python. It fetches and processes participant, event, and venue data, then merges this information into pre-formatted Word document templates using MailMerge. Custom post-processing is applied to enhance formatting, ensuring documents meet business standards while reducing manual effort.

Read more
Bank Export Automation Tool

Bank Export Automation Tool

This Flask-based CSV (Bank Export) Processor streamlines the transformation of exported bank transaction files into a structured accounting-ready format. The app applies custom financial classification logic to parse, categorize, and enhance transaction data—automatically generating seven additional columns, including SKR04 codes, counter-accounts, and period metadata. It produces a cleaned, enriched CSV file nearly ready for direct import into Lexware, effectively replacing manual spreadsheet work. Built with Python, Pandas, and Flask, the tool has eliminated hundreds of hours of repetitive accounting labor.

Read more
Footprint Trading Dashboard

Footprint Trading Dashboard

This Dash-based trading analytics dashboard visualizes candlestick and footprint data in real-time, offering traders deep insight into buy/sell imbalances, volume deltas, and high-activity price zones. I leveraged AI-assisted coding to streamline the development process—particularly for chart rendering, database interactions, and pattern analysis. I architected the MySQL database from scratch, creating the schema, tables, and indexes optimized for time-series market data. The application fetches and processes that data efficiently and renders it using Plotly in an interactive web UI. Deployed on a self-managed Linux server, this self-hosted dashboard offers powerful, fast, and scalable insights tailored to internal trading operations.

Read more
Femi Akinlosotu
Get to know me

From Gángan to GitHub: A Journey of Curiosity

My name is Oluwafemi Akinlosotu, and I'm a lifelong learner with a deep curiosity for how things work and how they can be improved.

From teaching myself to play the guitar, harmonica, and the Nigerian talking drum (gángan) among others, to becoming the first-ever teenage Nigerian Masters-level Scrabble player and representing Nigeria twice at the World Youth Scrabble Championship, I've always pursued knowledge with intensity and joy. This passion for discovery shapes how I approach my work today, with focus, adaptability, and a belief that every challenge holds an opportunity to grow.

With a knack for breaking down complex systems to their core, I thrive in environments that value exploration, iteration, and impact. I'm an advocate of the growth mindset and constantly seek out new tools, disciplines, and ideas that can sharpen my thinking and expand what's possible.

When I'm not exploring new countries, analyzing crypto charts, or backtesting strategies with Python, you'll likely find me on a long walk at sunset—reflecting, learning, and getting ready for what's next.

Learn more about me

Driven by a commitment to lifelong learning and technical excellence, I pursue certifications to deepen my knowledge, sharpen my skills, and deliver greater value through every solution I build.

Rocket Illustration
Reviews

What people have to say about my work

"Ich habe Femi als einen sehr zuverlässigen und erfahrenen Experten rund um Veranstaltungstechnik erleben dürfen. Seine technische Unterstützung bei unseren Veranstaltungen im Rahmen des Kompetenznetzwerk Anti-Schwarzer Rassismus u.a der Launch der Englischen Übersetzung des Afrozensus, sowie der Studien- und Stipendienmesse "Blackademia" war eine große Bereicherung. Ich freue mich auf die weitere Zusammenarbeit!"

Makda Isak

Makda Isak

Ehemalige Co-Leitung, Kompetenznetzwerk Anti-Schwarzer Rassismus

"Mr. Akinlosotu is a pleasure to work with. Great communication about his progress--SO HELPFUL! Cooperation and collaboration are half the battle for any project, and this has been a very pleasant experience--he's actually getting the work done early! I really can't say enough about him. He's terrific."

Beth Mclaughlin

Beth McLaughlin

Founder, Adept Word Management

"Oluwafemi Akinlosotu hat bei der Abschlussveranstaltung des AdiCobe-Projekts - Afro-diasporische Communities und Behinderungen des BDB e.V. - Bund für Antidiskriminierungs - und Bildungsarbeit die Organisation und Durchführung der Veranstaltungstechnik übernommen sowie die Nachbearbeitung des Veranstaltungsvideos. Wir haben ihn als sehr zuverlässig, sehr genau und sehr freundlich erlebt und konnten auf seine Kompetenzen voll vertrauen. Bei gegebenem Anlass werden wir ihn bestimmt wieder anfragen und freuen uns dann über eine weitere Zusammenarbeit"

James Arden

Judy Gummich

Ehemalige Projektkoordinatorin, AdiCoBe

Let's talk

Need an application built, help deploying one, or improvements to an existing system? Tell me what you're working on.

Hiring for a DevOps or platform engineering role? I'd be glad to hear about the team and opportunity.

hello@akinlosotu.tech
or