↑↓ to move · Enter to open · Esc to close

    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

      Last push:

      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

      Last push:

      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

      Last push:

      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

      2026

      Last push:

      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

      Last push:

      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

      Last push:

      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