Work

My work

My own live web app first, then demo websites for local businesses, then the web and machine-learning projects I've built along the way.

Showing 15 items

Live product · built by me

NestWillow

Property management that feels calm.

A live web app I designed and built. NestWillow connects landlords with their renters — leases, rent, maintenance, documents and messages in one private workspace.

Your portfolio
Properties, units and lease terms, organised.
Rent collection
Card payments and manual records with clear statuses.
Maintenance
Renters report issues; you track them to done.
Private by design
Each account’s data is isolated — always.

Built with

  • React 19
  • Vite
  • TanStack Router (server-rendered)
  • TanStack Query
  • Tailwind CSS v4
  • Supabase (backend and sign-in)
  • Stripe (card payments)
  • Cloudflare (hosting)
NestWillow landing page: Property management that feels calm.

Demo sites

Demo concepts I designed and built around real local businesses. The businesses are real, but they didn't hire me and these aren't their official websites.

Projects

Apps, APIs and machine-learning experiments from my training and my own time.

  • GAMERS.PH project preview

    GAMERS.PH: View Live (opens in a new tab)

    A gaming hub with reviews, news and trailers for console, PC and mobile games.

    • React
    • Node.js
    Full description

    A gaming hub covering console, PC, and mobile titles, with reviews, news, and trailers for casual and hardcore gamers alike.

  • Battle Tank project preview

    Battle Tank: Play Now (opens in a new tab)

    A retro arcade shooter in C#. Survive the desert across levels that get harder.

    • C#
    • Game Dev
    Full description

    A retro-inspired arcade shooter built with high-performance logic. Maneuver through desert terrain, destroy enemy shapes, and survive multiple levels of increasing difficulty.

  • Agent Data API project preview

    Agent Data API: View Project (opens in a new tab)

    A Spring Boot REST API for managing agent records, with interactive Swagger docs.

    • Java
    • Spring Boot
    • REST API
    • Hibernate

    Free server: may take up to a minute to wake up.

    Full description

    A Spring Boot REST API for managing agent records. Full CRUD with Spring Data JPA and Hibernate over an H2 database, documented with an interactive OpenAPI/Swagger interface.

  • Agents and Missions project preview

    Agents and Missions: View Project (opens in a new tab)

    A full-stack Java web app linking agents and missions, built with Spring Boot and Thymeleaf.

    • Java
    • Spring Boot
    • Thymeleaf
    • JPA/Hibernate
    • Gradle

    Free server: may take up to a minute to wake up.

    Full description

    A full-stack Java web application built with Spring Boot 4 and Thymeleaf. Agents and missions are modelled as a bidirectional many-to-many relationship through Spring Data JPA and Hibernate, so each agent's page lists their missions and each mission's page lists its assigned agents. Styled with Bootstrap 5 and seeded with sample data at startup.

  • CNN Image Classification project preview

    CNN Image Classification: View Notebook (opens in a new tab)

    Two TensorFlow/Keras neural networks that read handwritten digits and classify clothing.

    • Python
    • TensorFlow/Keras
    • CNN
    • OpenCV
    • scikit-learn
    Full description

    Two convolutional neural networks built with TensorFlow/Keras, applying the same architecture to handwritten digit recognition and clothing classification. Custom images are preprocessed with OpenCV and run through the trained models.

  • News Headline Classifier API project preview

    News Headline Classifier API: View Live (opens in a new tab)

    A live machine-learning service that sorts a headline into one of 41 news sections.

    • Python
    • scikit-learn
    • NLP
    • Flask
    • Docker

    Free server: may take up to a minute to wake up.

    Full description

    A machine learning model deployed as a live web service. A Naive Bayes classifier trained on 47,590 news headlines predicts which of 41 news sections a headline belongs to.

  • K-Means Image Compression project preview

    K-Means Image Compression: View Live (opens in a new tab)

    An interactive web app that rebuilds any image from a smaller colour palette.

    • Python
    • scikit-learn
    • Unsupervised Learning
    • NumPy
    • Flask
    • Docker

    Free server: may take up to a minute to wake up.

    Full description

    Unsupervised learning applied to images: every pixel is clustered as a point in RGB colour space, then rewritten as its cluster centre to rebuild the image from a reduced palette. Interactive web app built with scikit-learn and Flask, deployed with Docker.

  • BUDDIE.PH project preview

    Case study, no longer live

    BUDDIE.PH

    A pet care platform for health records, verified vets and booking care in one place.

    • React
    • Node.js
    • MongoDB
    Full description

    A trusted pet care platform for managing pet health records, connecting with verified veterinarians, and booking care — all in one place.

  • PARKRIDGE project preview

    Case study, no longer live

    PARKRIDGE

    A community tool for announcements, facility requests, issue reports and construction updates.

    • React
    • Node.js
    • MongoDB
    Full description

    A community management tool keeping residents connected through announcements, facility requests, issue reporting, and construction monitoring.

More on GitHub: See all my code (opens in a new tab)

Like what you see?

Questions about any of these, or want to talk about a developer role? Say hello.