Things I've built.

AI products, agent systems and developer tools — plus a detour into numerical maths. Open one for the story behind it.

    2026

    An AI-powered smart planner that turns your task list into a plan for the day.

    My flagship project, built end to end: a Java/Spring Boot core API, a dedicated Python/FastAPI AI microservice that talks to Google Gemini, and a React/TypeScript app — containerized behind NGINX and running in production.

    • SmartCheck AI: a standalone RAG microservice (FastAPI + Pydantic, ChromaDB for semantic retrieval, Gemini as the LLM) that analyzes your workload and generates an execution roadmap.
    • Core REST API in Java/Spring Boot with a strict MySQL schema via Hibernate (JPA), secured with JWT and Spring Security.
    • Docker Compose infrastructure with an NGINX API gateway and Let's Encrypt SSL, plus a GitHub Actions pipeline running JUnit/Mockito tests and building images.
    • Java
    • Spring Boot
    • Python
    • FastAPI
    • Gemini
    • ChromaDB
    • React
    • TypeScript
    • Docker
    • NGINX

    2026

    Matrix-free Krylov subspace solvers in Python — the code behind my maths thesis.

    From-scratch implementations of CG (with preconditioning), GMRES, BiCG, CGS and BiCGSTAB, benchmarked on real sparse matrices from the SuiteSparse collection — structural engineering, fluid dynamics, oil reservoir simulation.

    • Python
    • NumPy
    • SciPy
    • Matplotlib
  • 2026

    An MCP server that lets Claude (or any MCP host) search, control and curate your Spotify.

    A local Model Context Protocol server exposing the Spotify Web API as tools, resources and prompts — from “what am I listening to” to building a playlist from a YouTube mix's tracklist. Every architecture decision is logged in a public decision journal.

    • 20+ typed MCP tools (search, playback, playlists, top tracks…) plus URI-addressed resources and reusable prompts, served over stdio.
    • A separate FastAPI login helper for the OAuth2 Authorization Code + PKCE flow, with tokens in SQLite and transparent refresh.
    • Honest about limits: known Spotify-side bugs and quota restrictions are documented per tool instead of hidden.
    • Python
    • FastAPI
    • MCP
    • OAuth2 PKCE
    • SQLModel
    • ShellMate's three-column layout: filesystem map and command diary, the real terminal, and the explanation panels.
    • A destructive command caught live by ShellMate's danger semaphore, asking for confirmation.

    2026

    A real Linux terminal wrapped in scaffolding that explains, protects and teaches — and fades away as you learn.

    Not a simulated terminal and not a chatbot with a command box: it runs your actual bash/zsh and adds a live danger semaphore, plain-language subtitles, translated errors, a filesystem map, a command diary and an optional AI copilot — each one something you can dial down as you outgrow it.

    • The danger semaphore is deterministic rules, never AI: commands are parsed with tree-sitter-bash and classified by an exhaustively unit-tested classifier.
    • The AI copilot (Gemini by default, Claude as a drop-in) turns natural language into commands — and every suggestion is re-validated by the same local rules before you see it.
    • A real pty (node-pty) instrumented via OSC 133/OSC 7, `rm` previews with a freedesktop.org trash and undo, and 122 unit tests on strict TypeScript.
    • TypeScript
    • Electron
    • React
    • xterm.js
    • tree-sitter
    • Gemini
    • Claude
  • 2026

    A multi-agent system that plans campervan routes — legal constraints, overnight spots and fuel costs.

    A hub-and-spoke architecture built with LangGraph: a Gemini-based supervisor reads a shared route state and delegates to specialized agents until every field is filled, then returns a structured plan through a FastAPI endpoint.

    • Supervisor with Pydantic structured outputs and conditional routing over a shared RouteState.
    • RAG legal agent (ChromaDB over regulation PDFs), SQL agent for campsites and points of interest, and a math agent (NumPy/SciPy) for fuel and driving-time estimates.
    • Python
    • LangGraph
    • Gemini
    • FastAPI
    • ChromaDB
    • Docker

    2026

    A fast, SEO-friendly starter for landing pages and small business sites.

    Astro islands with React and Tailwind CSS: a flash-free dark mode that survives view transitions, a booking calendar with slot selection, accordion FAQs and a contact form with submission states.

    • Astro
    • React
    • Tailwind CSS
    • TypeScript