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)

Demo sites
I built these demo concepts to show local business owners what their site could look like. The businesses are real, but they didn't hire me and these aren't their official websites.

Demo concept, not a real client
9 Natural Nails & Spa
Nail salon and spa
A 5-page salon site with Home, Services, About, Reviews and Contact pages. It shows a sample services menu, client reviews, hours, a map, tap-to-call and a “Book Now” button.
View demo(opens in a new tab)
Demo concept, not a real client
Nannu's Pastizzi
Maltese bakery
A 5-page bakery site with Home, Menu, About, Reviews and Visit pages. It has a full menu from pastizzi to Maltese sweets, the family story, directions and hours, plus order-ahead and catering info.
View demo(opens in a new tab)
Demo concept, not a real client
Best Auto Repair Service
Auto repair shop
A 5-page garage site with Home, Services, About, Reviews and Contact pages. It covers everyday repairs, a DriveON inspection centre section, customer reviews, hours and directions, with tap-to-call throughout.
View demo(opens in a new tab)
Demo concept, not a real client
Red Hat Cleaners
Alterations and dry cleaning
A 5-page site with Home, Services, About, Reviews and Contact pages. It has a bridal and South Asian alterations section, tailoring and dry cleaning, space for a before-and-after gallery, hours, a map and tap-to-call.
View demo(opens in a new tab)
Demo concept, not a real client
Escape Studio Hair & Spa
Hair salon and spa
A 5-page salon site with Home, Services, Team, Reviews and Contact pages. It has colour and colour-correction services, space for a colour gallery, the stylists and their specialties on a Meet the Team page, reviews, and booking by phone.
View demo(opens in a new tab)
Want one like these for your business? See packages
Projects
Apps, APIs and machine-learning experiments from my training and my own time.

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: 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: 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: 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: 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: 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: 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.

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.

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?
Your website or app could be next. Let's talk about what you need.