Auth Service
Reusable Authentication Microservice
Production-ready standalone authentication microservice designed for reuse across multiple applications. Features JWT rotation, OAuth2, RBAC, and comprehensive security hardening.
- FastAPI
- PostgreSQL
- Redis
- JWT
- +4OAuth2, Docker, pytest, structlog
Bostadspuls
Swedish Housing Market Analytics Platform
End-to-end data engineering platform that ingests housing data from SCB and Booli APIs, transforms it through a dbt star schema, and exposes interactive analytics through a Vue 3 dashboard with price trends, regional comparisons, and a choropleth heatmap of Sweden.
- Python
- Polars
- BigQuery
- dbt
- +6Dagster, FastAPI, Vue 3, ECharts, Docker, Railway
Migrationsassistenten
AI Document Drafting Assistant
Full-stack AI-powered tool that helps individuals structure formal Swedish migration court appeal documents. Includes AI generation, section revision, version history, deadline tracking, and PDF export.
- FastAPI
- React
- TypeScript
- SQLAlchemy
- +3Anthropic Claude API, WeasyPrint, Alembic
Memory Game
Multiplayer Turn-Based Web Game
Two-player turn-based memory card game with session authentication, lobby system, AJAX-based real-time turn synchronization, and a custom ADO.NET data access layer without ORM.
- ASP.NET Core MVC
- C#
- SQL Server
- ADO.NET
- +3Bootstrap 5, AJAX, Azure
Guess the Music
Real-Time Party Music Quiz
Multiplayer music-guessing game for game nights: the TV shows the video, everyone buzzes in from their own phone, and the host runs the round from a control panel. Built with Node, Express and Socket.IO, with English/Farsi (RTL) support and a set of optional game modes. Built with Claude Code; I directed the design, played it with friends and family, and made the product and architecture decisions.
- Node.js
- Express
- Socket.IO
- JavaScript
- +3YouTube Data API, PWA, pm2
Ziafat-e Akhar
Farsi/English Murder-Mystery Party Game
Social-deduction murder-mystery game for 4–12 players: one shared TV, everyone else plays on their own phone. Two game modes, two stories, an animated narrator, and bots for small groups. A hobby project built with Claude Code and steered by conversation and playtesting; I designed the game and decided how it should play and feel.
- Node.js
- Express
- Socket.IO
- JavaScript
- +2SVG, jsdom