My Projects

A showcase of my technical projects, demonstrating my expertise in full-stack development, system administration, and network infrastructure.

FROGO - Peer-to-Peer Video Chat Platform

A full-stack video chat platform with real-time matchmaking and WebRTC audio/video sessions, built on Next.js, React, Express, MongoDB and Socket.IO, with a moderation pipeline backed by AWS S3.

Technologies

Next.jsNode.jsExpress.jsMongoDBWebRTCSocket.IOAWS S3JWT

Key Features

  • Fixed double-booked matches by making the MongoDB pairing write atomic, then signalling peers over Socket.IO
  • Replaced static TURN credentials baked into the client with short-lived HMAC-SHA1 tokens from self-hosted coturn
  • Secured the REST API with rotating JWTs, bcrypt, and CSRF protection
  • Built moderation tooling storing report metadata in MongoDB with image evidence on AWS S3

Fake News Classifier

A multi-layer perceptron trained on 44,898 news articles with scikit-learn TF-IDF features, reaching 99.6% test accuracy. Served live on this site by a Python process running alongside the Node server.

Technologies

Pythonscikit-learnNLTKBeautifulSoupjoblibNext.js

Key Features

  • Live demo: paste any article URL and it is scraped, normalized, and scored in place
  • Cleaned the dataset in pandas with null checks, type coercion, and field merging
  • Custom NLTK analyzer handling tokenizing, stopword removal, and stemming ahead of TF-IDF
  • Caught target leakage in the subject column and dropped that field before serving predictions
  • Serves the 430 MB model from a Python sidecar behind a rate-limited REST API

Computer Vision Phone-Detection System

A real-time AI pipeline in Python running YOLOv8 inference on each webcam frame with OpenCV and Ultralytics, raising an alarm the moment a phone appears in frame.

Technologies

PythonYOLOv8OpenCVUltralytics

Key Features

  • Runs YOLOv8 inference on each webcam frame with OpenCV and Ultralytics
  • Draws labelled bounding boxes above a confidence threshold, colour-coded by object class
  • Suppresses false positives by requiring a 0.5 confidence score before firing an alert
  • Triggers looping pygame audio and on-screen alerts, clearing them once the phone leaves frame

Home Lab

A self-hosted homelab running Ubuntu Server to host frogo.app and practice Linux administration, networking, VPN configuration, and Cisco CLI-based VLAN management.

Technologies

Ubuntu ServerLinuxCisco CLIVPNCloudflareNetwork Security

Key Features

  • Ubuntu Server hosting full-stack applications in production
  • Cisco managed switch configured with VLANs via Cisco CLI
  • Secure remote access and VPN services configured
  • Infrastructure workflows relevant to hosting full-stack applications

Personal Website

A modern, responsive personal portfolio site built with Next.js to showcase projects, technical experience, and live application demos.

Technologies

Next.jsCSS ModulesJavaScriptAWS

Key Features

  • Reusable React components and responsive layouts
  • Optimized page structure, routing, and metadata for SEO
  • Live project demos served by sidecar processes alongside the Node server
  • Security headers, rate limiting, and CORS protection