Fredrik
Baldhagen

Full-stack developer — Android, backend, and everything in between.

Projects

9 projects

Other

Chess Robot

A physical chess-playing robot that plays over the board against a human opponent. Built as a BSc thesis at KTH — combines a custom SCARA arm, computer vision, inverse kinematics, and the Stockfish engine running on a Raspberry Pi.

PythonOpenCVRaspberry PiStockfishInverse Kinematics
Mobile Self-hosted Android

Pi-Pilot

A server dashboard for monitoring and managing a Raspberry Pi remotely. Real-time hardware stats over WebSockets, Docker container management with instant event-driven updates, historical graphs with LTTB downsampling, container log viewer, and host commands — all secured behind Cloudflare Zero Trust with no exposed ports.

KotlinJetpack ComposeSpring BootJavaSTOMP WebSockets
Web Self-hosted

Händelsekartan

A self-hosted dashboard that tracks and visualises crime events across Sweden in real time, pulling from the Swedish Police public API and persisting the data for historical analysis.

ReactKotlinSpring BootMapLibreRaspberry Pi
Mobile Android

RecipeRecommendr

An Android cocktail app that helps you figure out what you can make with what you have. Track your ingredient inventory, browse recipes, build a shopping list, and find nearby bars or Systembolaget stores — all offline-first.

KotlinJetpack ComposeClean ArchitectureMVVMHilt
Mobile Android

WordGuessr

A Wordle clone for Android with Swedish and English support, three game modes, per-language statistics, and Material 3 design.

KotlinJetpack ComposeMaterial 3HiltRoom
Mobile Android

Slant

A polished Android implementation of the classic logic puzzle Gokigen Naname (Slant). Generate unique puzzles across four difficulty levels, solve them with tap-to-cycle controls, and track your progress with detailed statistics — all fully offline.

KotlinJetpack ComposeClean ArchitectureMVVMHilt
Web

Gokigen Naname

A browser-based implementation of the Gokigen Naname logic puzzle with on-device puzzle generation, a global leaderboard, and GitHub/Google sign-in. Built with React, TypeScript, and Cloudflare Pages.

ReactTypeScriptViteTailwind CSSZustand
Web

Sudoku

A browser-based Sudoku app with on-device puzzle generation, daily challenges, global leaderboard, hints, notes, and GitHub/Google sign-in. Built with React, TypeScript, and Vite.

ReactTypeScriptViteSudokuLeaderboard

About

I'm a developer based in Stockholm with a background in mechanical engineering from KTH.

Most of my personal projects are Android apps built with Kotlin and Jetpack Compose, but I'm equally at home writing backend services in Java (Spring Boot) or C#/.NET. I care about making things that actually work end-to-end, not just individually functional parts.

I self-host most of what I run, on the principle that I'd rather understand a system than just use it.

Primary stack

  • KotlinAndroid, Jetpack Compose
  • JavaSpring Boot, REST APIs
  • C# / .NETBackend services, MAUI
  • PythonScripting, automation
  • SQLPostgreSQL, SQLite, Room

Infrastructure

  • Raspberry PiSelf-hosted services
  • DockerContainers
  • CloudflareTunnels, Pages