Xini, systems engineer
I build complete, self-hosted products with modern AI woven in.
MSc Artificial Intelligence, St Andrews. BSc Computer Science, Warwick.
Whole systems, built solo.
I take ambitious ideas all the way to production on my own: real-time 3D, multiplayer backends, data, infrastructure and the interface people actually use.
Full stack, real-time 3D, multiplayer
AI that does real work.
I build AI into products where it earns its place: agents that act on real systems, MCP servers that give models real tools, and local models when the data should stay put.
Agents, MCP servers, local models
Secure by default.
I self-host what I build and design for Zero Trust, with OWASP practice and PII redaction there from the first commit.
Self-hosting, OWASP, Zero Trust
Featured work.
-
Gloam
Self-hosted 3D virtual tabletop for D&D 5e, with shadow-casting light, per-creature line of sight and all 339 spells from D&D’s open rules, automated.
Source on GitHub (opens in a new tab) -
DBridger
Autonomous agent that queries legacy databases in plain English, with PII redaction built in.
Source on GitHub (opens in a new tab) -
VOETutor
Curated marketplace of vetted IB tutors, with on-demand video lessons and progress tracking.
Built through Saltancy
voetutor.com (opens in a new tab)
More on GitHub
- Saltancy Website (opens in a new tab)
Landing page for Saltancy, my consultancy for end-to-end technical work and custom software development.
TypeScript - xini.dev (opens in a new tab)
Personal site of Xini, systems engineer: featured projects, background and contact details.
TypeScript - getajobman (opens in a new tab)
Job tracker in Next.js and Supabase that reads a posting from its URL and drafts a tailored CV and cover letter with a language model.
TypeScript - limit-order-book (opens in a new tab)
Limit order book matching engine in C++ and Python with price-time priority, limit and market orders, and O(1) cancellation.
C++ - AI Search Algorithms (opens in a new tab)
Classic AI search algorithms, from breadth-first and depth-first to A* and SMA*, planning flight routes on a polar grid, each with an optional bidirectional mode.
Java - LeadingOnes DAC (opens in a new tab)
MSc dissertation: a model-based deep reinforcement learning agent that learns to tune an optimisation algorithm while it runs, improving learning quality and sample efficiency on a standard benchmark.
Jupyter Notebook - wincrazyyy.github.io (opens in a new tab)
Earlier React version of the WS Math tutoring website, with IBDP, A-Level and IGCSE course pages, pricing, reviews and an enquiry form.
TypeScript - Jungle Game & JunGUI (opens in a new tab)
Java implementation of the Jungle board game with a Swing GUI, multiplayer support and legal-move highlighting.
Java - NullVector (opens in a new tab)
Processing (Java) platformer where you fight enemies and a boss named Zorp with gravity-affected projectiles, with boss phases, bounce damage and a full GUI.
Processing - Notes API (opens in a new tab)
Secure REST API where each user creates, reads, updates and deletes their own notes, with filtering, built on Node.js, Express and MongoDB following OWASP guidance.
JavaScript
Older projects (11)
- aws-streaming-demo (opens in a new tab)
React and Vite demo that streams video through Amazon CloudFront.
TypeScript - firebase-auth-demo (opens in a new tab)
React demo of Firebase Authentication: email and Google sign-in, a protected dashboard route, and deploys to Firebase Hosting from GitHub Actions.
TypeScript - AutoScroller (opens in a new tab)
Godot 4 prototype of a 3D auto-runner: the player moves forward on its own, steers left and right, and jumps to avoid falling off.
GDScript - ECS Platformer Demo (opens in a new tab)
Platformer demo that tests an Entity-Component-System architecture, written in C++ with SDL2.
C - Overthrow Synthetica (opens in a new tab)
Two-week, two-person game jam demo for the Warwick Game Dev Society, made with my teammate Codethulu using Three.js and WebGL.
- EnGarde (opens in a new tab)
Turn-based fencing game in Python and pygame, played against scripted bots or reinforcement-learning agents (DQN and self-play DRQN) trained with PyTorch.
Python - graphics-shooter-game (opens in a new tab)
Totem Hunter: a first-person shooter in three.js where you light totems to stop enemies spawning, with two guns, aim-down-sights and loot crates.
JavaScript - deutsche-bank-mentorship (opens in a new tab)
University group project: a mentoring platform with mentor suggestions, milestones, sessions, ratings and chat, built in React and Django.
TypeScript - En-Garde--old- (opens in a new tab)
Earlier terminal version of EnGarde in C: a turn-based fencing game where you plan up to six actions a turn against a bot or a friend.
C - JumpAndShoot (opens in a new tab)
Simple first-person shooter made in Unity 2019.3, shared as a Windows build.
- AngryBallGame (opens in a new tab)
Early Unity 2018.4 game, shared as a Windows build.