Projects
Perfumery Formulation Manager
A full-stack Laravel application for managing perfumery materials, inventory batches, and structured blend formulations. The system models real-world ingredient relationships and enforces percentage-based composition validation with relational integrity.
Provides a structured system for tracking raw materials, bottle inventory, and perfume blends while ensuring formulation percentages remain mathematically consistent and relationally valid.
Stack
Laravel · MySQL · Tailwind CSS · Pest · GitHub Actions
Highlights
- Relational domain modelling with enforced data integrity
- Percentage-based blend validation logic
- Test-driven development using Pest
Expense Tracker
A full-stack expense tracking application that allows users to log, categorize, and review spending. The system implements JWT-based authentication, protected REST APIs, and structured state management with secure production deployment.
Provides authenticated users with a secure system for tracking personal expenses while enforcing protected API access and structured data persistence.
Stack
React · Vite · Zustand · Express.js · PostgreSQL · JWT
Highlights
- JWT-based authentication with protected API routes
- Global state management using Zustand
- RESTful API architecture with PostgreSQL
- Secure production deployment on a self-managed VPS using Nginx and HTTPS
Geographic Data Explorer
An interactive map-based dashboard for exploring country-level geographic, weather, and news data. The application aggregates multiple third-party APIs and normalizes responses through server-side PHP endpoints before rendering them in a dynamic Leaflet interface.
Consolidates fragmented external data sources into a single structured interface, handling inconsistent API responses and failed requests to ensure predictable application behaviour.
Stack
PHP · JavaScript · Leaflet.js · Bootstrap · REST APIs
Highlights
- Server-side aggregation and normalization of multiple APIs
- Structured JSON parsing with validation and error handling
- Dynamic marker clustering and layered controls using Leaflet
Spotify Playlist Manager
A React single-page application that integrates the Spotify Web API using OAuth 2.0 (Authorization Code + PKCE) authentication. Authenticated users can search tracks and create playlists directly in their Spotify account through protected API requests.
Demonstrates secure client-side integration with a third-party OAuth provider, implementing the PKCE flow to retrieve access tokens and perform authenticated API operations within a frontend-only architecture.
Stack
React · Vite · Spotify Web API · OAuth 2.0 (Authorization Code + PKCE) · GitHub Actions
Highlights
- OAuth 2.0 Authorization Code flow with PKCE flow for secure client-side authentication
- Authorization header management for protected endpoints
- 401 handling with automatic token invalidation
- CI-based deployment to GitHub Pages
Skills
Front-End
- HTML5
- CSS3
- JavaScript
- React
- Responsive Design
- REST API Integration
Back-End
- PHP
- Laravel
- RESTful API Design
- Authentication & Authorization
- MVC Architecture
- Form Validation
Databases
- PostgreSQL
- MongoDB
- MySQL
- Eloquent ORM
- Database Migrations
- Schema Design
Tools
- Git & GitHub
- GitHub Actions
- Postman
- NPM / Composer
- Agile
DevOps
- SSH Deployment
- VPS Hosting
- GitHub Actions
- Linux CLI
- Environment Configuration