I have worked on a variety of projects, ranging from small personal projects to large commercial projects.
Here are some of the highlights.
Ready Case
Modular platform for managing, reporting, and processing judicial cases. Used by courts, commissioners, and tribunals.
OpenClose
Ready Case
Modular platform for managing, reporting, and processing judicial cases. Used by courts, commissioners, and tribunals.
OpenClose
Working at Ready Tech, I was a key contributor to their flagship legal case management software, used by UK and Australian courts. Developed new features and maintained code on both the front-end and back-end. Optimized database performance. Rolled out CI/CD tooling and contributed to improving quality and to maintenance releases.
Technologies
Java
Apache Tomcat
Vue.js
Azure
SQL Server
PowerShell
Octopus Deploy
Xtreme Hip-Hop
An application for booking gym classes and buying merchandise.
OpenClose
Xtreme Hip-Hop
An application for booking gym classes and buying merchandise.
OpenClose
Xtreme Hip-Hop with Tash is a web application that allows people to book classes by browsing a schedule, buy merchandise in a interactive single-page style web application. I built the system from the ground up across the stack with only delegating authentication to Auth0. Over 200 users booking classes with an efficient payment system using Stripe.
Technologies
React.js
TypeScript
TailwindCSS
Vite
GraphQL
Java
Spring Boot
PostgreSQL
Auth0
Stripe
AWS Lambda
Features
Browse classes using a calendar
Book and pay for classes card or cash
Merchandise store
Admin dashboard
Responsive mobile-first design
Progessive Web App (PWA) support
Account management dashboard
Refunds and cancellations
Spam protected using Google reCAPTCHA
Seamless account setup with Auth0 integration
Stripe integration
Screenshots
Go Warriors
An application for viewing NBA games and statistics.
OpenClose
Go Warriors
An application for viewing NBA games and statistics.
OpenClose
I developed this application to learn new web technologies Next.js App Router and Go as a backend API. The front end is written in React Server Components (RSC) and I really tried to write the code for the application in the 'App Router' way so I could understand how this technology works and the pros & cons of this approach. I also really wanted to learn Go and to see what it was like writing a HTTP API in Go.
Technologies
Next.js
React.js
TypeScript
TailwindCSS
Vite
Go
AWS Lambda
Features
View NBA games and statistics
View NBA player statistics
View NBA team statistics
View NBA game statistics
Dark mode
Responsive mobile-first design
Server-side rendering
Caching at the page level using RSC
Super fast API written in Go
Screenshots
Directory to Spotify
A web application that allows users to scan a directory of music files and add them to their liked songs or playlists on Spotify.
OpenClose
Directory to Spotify
A web application that allows users to scan a directory of music files and add them to their liked songs or playlists on Spotify.
OpenClose
I developed this web application as a personal project to learn about various new web technologies. One of the main challenges was to scan a directory of music files and extract metadata from them. I used web workers to offload the scanning process from the main thread to prevent the UI from freezing. To match the songs I had to normalize the metadata text and the search results. I then used a fuzzy search algorithm to find the best match. Exact matches are chosen first, then matches with the same artist, then matches with the same album, and finally matches with the same title. Every match is ranked from a match score from 0 to 1 to further refine the results. This application is 100% client-side and does not require a server to run. It uses the Spotify Web API to add songs to the user's library and playlists.
Technologies
Web Worker
React.js
TypeScript
TailwindCSS
Vite
Features
Scan a directory of music files.
Add songs to liked songs or playlists on Spotify with the click of a button.
Preview songs before adding them.
Visualize the scanning process.
100% client-side, no server required.
Responsive mobile-first design.
Dark mode.
Screenshots
Videos
Apollo Server Fastify
This is a simple package that easily allows you to connect your own Fastify server implementation to an Apollo Server instance.
OpenClose
Apollo Server Fastify
This is a simple package that easily allows you to connect your own Fastify server implementation to an Apollo Server instance.
OpenClose
A while back I built a simple service layer in between Node.js and Apollo Server. The package translates an incoming request to an internal GraphQL query then returns the JSON with streaming. After I built the package I contacted the Apollo foundation and they added it to their official integrations list. Currently it gets nearly 50,000 weekly downloads
Technologies
Node.js
GraphQL
Fastify
Apollo