Security, systems and tooling, mostly in Rust, plus TypeScript and Python
systems
Booking System • Systems
Sauna booking system I'm building for Killingsholmens Varv, the Gothenburg boatyard where I work. Guests book in a web app, and staff run the schedule, phone bookings and payments from a desktop or web admin. Closed source, in development.
Closed-source constraint-satisfaction engine in Rust, with a web service in front. AC-3 propagation, MRV and LCV heuristics, and parallel backtracking over bitset domains. Median solve time cut from 42 seconds to 140 milliseconds, with 1,000+ tests.
A pentesting toolkit that runs as an MCP server. It wraps 22 security tools behind a 6-layer safety architecture and gives AI assistants 46 MCP tools in total, with an opt-in Metasploit Framework integration, output sanitisation, and session-aware context budgeting for local AI models.
TypeScript MCP client for the Raven Nest pentesting server. Communicates via JSON-RPC 2.0 over stdio, providing tool discovery, inspection, and execution through both an interactive REPL and one-shot CLI commands.
Automation for securing Linux systems. Scans for misconfigurations, applies hardening recommendations, maps findings to ten compliance frameworks, and rolls changes back safely. Ships as a CLI and a Tauri desktop app. Published on the Arch User Repository (AUR).
Checking a password, hashing a file and scanning a few ports usually means three separate tools, or an online service you have to trust with the data. I wanted one offline binary that does all of it and explains its results.
Wanted a real-time view of one machine without installing a metrics database and dashboard stack first. The usual monitoring tools are built for fleets of servers, not a single laptop or dev box.
Desktop chess GUI and terminal CLI in Rust that play and analyse with Stockfish over UCI. Three crates keep the game rules, the engine client and the egui interface apart. Move generation comes from the chess crate and the search is Stockfish's, so there is no engine of its own.
Reading or archiving a GitHub repository's source offline normally means cloning it and browsing file by file. I wanted the whole codebase as one readable document, for reviewing it or feeding it to other tools.
A hand-rolled BitNet b1.58 implementation in pure Rust. Every component written from scratch as a learning exercise: tensor type with AVX-512/AVX2 SIMD matmul, tape-based autograd, ternary quantisation with straight-through estimator, transformer block (RMSNorm, multi-head attention with RoPE, SwiGLU FFN), training loop, KV-cached inference, and a CUDA back-end with cuBLAS int8 GEMM on tensor cores. No third-party ML dependencies.
Desktop TV guide for Swedish television. Fetches programme schedules from tv24.se, caches them locally in SQLite, and presents them in a clean timeline grid. Designed for people who just want to see what's on: large text, simple navigation, no account required.
Spotlight region video recorder for wlroots Wayland compositors. Draw a rectangle and record only that area: everything outside dims like a spotlight while you select, then the dim lifts to a single bright border so the rest of the screen stays usable while the region records. The overlay never appears in the recording.
A Rust CLI tool for extracting page titles, links, headers, and meta tags from web pages. Supports an interactive prompt or scripted invocation via flags. Outputs plain text, JSON, or HTML.
Most portfolio websites focus on aesthetics over security. I wanted mine to practise the security work I write about - and to document every measure openly so it can be reviewed.
If any of these projects overlap with what your team is building, I'd like to hear from you. I live in Gothenburg and I'm open to hybrid, remote, or Stockholm.