Projects

Things I have built.

A chess engine first. Then two kinds of work: code where I did the thinking myself, and small apps I built quickly with AI tools. Every card says how much an AI helped.

Sep 2026

Ransom, a chess engine

Finalist

My Optiver AI Chessathon engine: pure Python source, no compiled files submitted.

  • 450–500 teams, UK and global
  • 30th rank going into the finals
  • 7 · 4 · 2 wins, draws, losses
  • Last 32 where it went out
  • Python
  • numba
  • PyTorch for training

AI use

Assisted. Built during the competition with Claude Code, as its own write-up says.

More

The rules banned existing engines and models, and would not accept compiled programs. So the whole engine is Python. It looks ahead through the possible moves, using SEE pruning to skip moves that clearly lose material. A small neural network, trained during the event, judges each position.

My part
All of it. I worked on it alone.
  • The network was trained on 106,814,205 positions.
  • The version on the Play page is the same engine rewritten in C so a browser can run it. On 104 test positions it chooses the same move, with the same score, as the original.

Code I wrote from scratch

Small programs first, written to understand what is underneath. The last two are team projects. Each card says where AI came in.

  • May 2026

    Machine learning, by hand

    Complete

    Linear and logistic regression written by hand, to see how they work inside.

    • 2 algorithms, written by hand
    • 2.000, 1.000 what it finds for the line y = 2x + 1
    • Python
    • numpy

    AI use

    None. I coded these myself.

    More

    Each one learns by gradient descent: make a guess, measure the error, nudge the numbers a little, and repeat. Given points on the line y = 2x + 1, the linear one finds 2.000 and 1.000. The logistic one uses the sigmoid function to sort numbers into two groups.

    They are small. Each one handles a single input number, and there are no plots yet.

    My part
    All of it.
  • Jul–Aug 2025

    A web server

    Complete

    A small web server in Python that reads requests straight off the connection.

    • 0 web libraries
    • 1 thread per connection
    • All tests passed
    • Python
    • socket
    • threading
    • gzip

    AI use

    None. No AI.

    More

    It uses only what comes with Python, no web library, and writes the replies itself. It can echo text back, compressed with gzip when the caller asks for that, and report which program is calling. It can serve and save files in a folder, keep a connection open for several requests, and give each connection its own thread.

    Built on the CodeCrafters “Build your own HTTP server” challenge. All tests passed.

    My part
    All of it.

    What it does not do

    • It only answers on the machine it runs on.
    • A badly formed request gets no reply. The connection just closes.
  • Aug 2025

    A piece of git

    In progress

    Some of git’s inner commands, written again in Python.

    • 5 commands written
    • 1 more begun: clone
    • Python
    • zlib
    • hashlib
    • requests

    AI use

    None. No AI.

    More

    Git is the tool programmers use to keep the history of their code. Starting from the CodeCrafters starter, this can store a file the way git stores it (SHA-1 hash, zlib compression) and read stored files back. It can list what is in a stored folder, record a folder as a tree, and write a commit.

    Its clone command asks a server for its branches and downloads the packed data, but does not unpack it yet. Built on the CodeCrafters “Build your own Git” challenge.

    My part
    All of it.
  • Aug 2025

    A calculator

    Live

    A simple calculator for the browser: plain HTML, CSS and JavaScript.

    • 17 lines of JavaScript
    • 0 outside libraries
    • HTML
    • CSS
    • JavaScript

    AI use

    None. None for the code. AI helped only with putting it online.

    More

    Digits, a decimal point, plus, minus, times, divide, AC and equals. It builds the sum as you press the keys, then hands it to JavaScript’s eval(), the language’s built-in way to work out a sum written as text.

    It is published with GitHub Pages.

  • 2026

    Nemo, a money tracker

    Live

    A personal money tracker with accounts in different currencies, built by three people.

    • about 5 active users now: the developers and their family
    • 3 people have written code for it
    • C#
    • .NET
    • ASP.NET Core
    • Blazor WebAssembly
    • MudBlazor
    • Entity Framework Core
    • PostgreSQL

    AI use

    Assisted. We did the backbone and the data model without AI. Now it is all AI-assisted.

    More

    You sign in, set up accounts in different currencies, and record income, spending and transfers. Accounts can sit inside other accounts, and receipts can be attached.

    A small server of our own sits between the browser and the main server, so the browser never holds the sign-in tokens. It is live and still being worked on.

    My part
    The first version of accounts, transactions, categories and transfers on the main server. Much of the sign-in work: the PIN screen, Google sign-in, email verification, lock-out after failed sign-ins and a two-device limit. Moving the whole interface to MudBlazor. Teammates started the in-between server; I extended and repaired it.

    What is not built yet

    • Budgets and reports. Those two pages are empty for now.

    The code is private.

  • 2025–2026

    One Project One Month

    Live

    A no-AI monthly build community for Burmese developers. I do backend and testing.

    • 12 core website team
    • 300+ participants across projects and proposals
    • Java
    • Spring Boot
    • PostgreSQL

    AI use

    None. The community builds without AI.

    More

    I work on the backend (the server side) and on QA (testing) for its website.

    My part
    Creating a developer profile, the forgot-password flow, and the list of approved project ideas with a filter by number of reactions.

    The code is private.

Apps I built fast

Small things built quickly with AI help. Each card says how much.

  • Oct 2025

    Explain It!

    Complete

    Type a hard topic, get an explanation written for a five-year-old.

    • JavaScript
    • React
    • AWS Amplify
    • Cognito
    • Lambda
    • Bedrock

    AI use

    Assisted. AI guided me when I was stuck and did not want to read the documentation.

    More

    You sign in with your email. The page sends your topic to a small function on AWS, which asks an AI model (Claude 3 Haiku, through Amazon Bedrock) for the answer. It keeps no history: earlier answers are gone when you refresh the page.

    My part
    All of it.
  • Mar 2026

    Luffa Passport

    Hackathon demo

    Loyalty cards kept in one place, as a mini app inside Luffa.

    • JavaScript
    • WXML
    • WXSS

    AI use

    Vibecoded. Entirely AI-assisted.

    More

    Tap a card to see its deals, save deals for later, and add more cards. It is a demo: the cards and deals are sample data, and it does not talk to a server.

    Built with Team Fuzzy at an Encode hackathon in London.