← Back to home

Projects

A selection of things I've built, from full-stack applications to the infrastructure that runs them.

Photo Frame

A self-hosted digital photo frame system for a Raspberry Pi. A Spring Boot backend stores photos and display settings in SQLite and pushes live updates to the frame over a WebSocket, while the kiosk display renders a canvas slideshow with per-photo scaling and overlays. Each photo can carry text captions or a live clock/date overlay, composed in a visual editor with control over font, size, weight, color, background, alignment, and drag-to-position placement, then drawn onto the kiosk canvas and pushed live to the frame. A companion Android app pairs with the frame to set it up and manage it, and a browser admin UI handles uploads, slideshow settings, overlays, and device pairing.

  • Spring Boot
  • JPA / Hibernate
  • SQLite
  • WebSocket
  • Java
  • Android

Designed to run on a Raspberry Pi driving a display, with the Android companion app pairing over the local network.

Personal Portfolio

This site — a personal portfolio and homepage built as a single-page App Router application. Server-rendered content with animated, interactive UI (Aurora background, scroll reveals, spotlight cards) and a dark-first theme.

  • Next.js (App Router)
  • React
  • TypeScript
  • Tailwind CSS v4
  • React Bits

Self-hosted on an AWS EC2 instance running Node.js behind a reverse proxy.

Woody — News Aggregator

woody.sokeila.fi

An Ampparit-style news aggregator that collects and surfaces headlines from multiple sources in one feed. A Spring Boot REST backend persists and serves the aggregated articles via JPA, with a React single-page frontend consuming the API.

  • Spring Boot
  • JPA / Hibernate
  • REST
  • React
  • Java

Self-hosted on an AWS EC2 instance behind a reverse proxy.