Projects

Browse Projects

Browse projects tagged with "REST-API".

AI Portfolio Assistant cover image

AI Portfolio Assistant

Web

I built a conversational AI assistant directly into my portfolio site. Recruiters and visitors can ask anything about my projects, skills, and background — and get grounded, cited answers in real time, powered by RAG (Retrieval-Augmented Generation) and Llama 3.3 70B via Groq.

AWS Lambda & Amazon Bedrock: Benchmarking TF-IDF, LSTM, and Zero-Shot LLM Sentiment Analysis cover image

AWS Lambda & Amazon Bedrock: Benchmarking TF-IDF, LSTM, and Zero-Shot LLM Sentiment Analysis

Ai-ml

A full ML pipeline benchmarking TF-IDF + Logistic Regression, a Keras LSTM, and Claude Haiku via Amazon Bedrock on 50,000 IMDb reviews. The winning model is deployed live as a serverless REST API on AWS Lambda with a Flask frontend.

Anime Face GAN — DCGAN on 63,000 Training Images cover image

Anime Face GAN — DCGAN on 63,000 Training Images

Ai-ml

Generates anime faces using a DCGAN trained on 63,000 images. Every face is produced from random noise — none of them exist. Trained on Google Colab T4 GPU. Includes latent space interpolation showing smooth morphing between faces.

Boston House Price Predictor cover image

Boston House Price Predictor

Ai-ml

1970s Boston house price predictor. Linear regression on 13 features with log-transformed target (test r²=0.74). Live slider UI on Azure; full analysis in rendered notebook.

CV Gap Analyser — Semantic Job Matching with HuggingFace and Pinecone cover image

CV Gap Analyser — Semantic Job Matching with HuggingFace and Pinecone

Ai-ml

Semantic CV vs job description analysis identifying missing skills and producingactionable gap recommendations. HuggingFace embeddings for match scoring, Pineconefor a searchable job library, ROUGE for ATS keyword alignment. Accepts jobdescriptions as text, PDF, or URL via trafilatura extraction.

Credit Risk Scoring API cover image

Credit Risk Scoring API

Data

Credit risk scoring API on the German Credit dataset. Three classifiers benchmarked; Logistic Regression wins by cost-weighted score. FastAPI serves predictions with plain-language explanations. Deployed on Azure via GitHub Actions CI/CD.

Digit Recognizer — CNN on MNIST cover image

Digit Recognizer — CNN on MNIST

Ai-ml

Draw a digit on the canvas — the CNN predicts it in real time. Trained on 60,000 MNIST images. Confidence score and probability bar chart across all 10 digits. Live on Azure App Service.

Email Subject Generator — T5 Transformer cover image

Email Subject Generator — T5 Transformer

Ai-ml

T5-small fine-tuned on the AESLC corpus (14k Enron email/subject pairs) to generate professional subject lines from an email body. Five suggestions returned at varying temperature levels — from beam-search conservative to top-p creative sampling.

Flight Club cover image

Flight Club

Software

Python CLI that scans Google Flights via SerpApi for round-trip deals from Madrid, fires WhatsApp and email alerts via Twilio and Gmail when a fare drops below your threshold. Destinations and price targets live in a Google Sheet via Sheety.

GUI Quiz App cover image

GUI Quiz App

Software

True/False trivia quiz app built with Tkinter. Fetches live questions from the Open Trivia Database across 15 categories, with colour feedback, score tracking, keyboard shortcuts, and a clean MVC architecture.

Habit Tracker — Pixela cover image

Habit Tracker — Pixela

Software

CLI habit tracker that logs daily activity as graph pixels via the Pixela REST API. Interactive menu, OOP design with a PixelaClient class, and full CRUD support — POST, PUT, and DELETE — with input validation and graceful error handling.

Hypothesis Testing Explorer — scipy and PySpark cover image

Hypothesis Testing Explorer — scipy and PySpark

Data

Upload two CSV columns, select a test, get a plain-English verdict. Five hypothesis tests with automatic assumption checking. Datasets above 50,000 rows route through PySpark automatically.

ISS Overhead Notifier cover image

ISS Overhead Notifier

Software

Python bot that checks ISS position every 5 minutes via GitHub Actions and emails you when the station is overhead at night. Includes a course-original polling build and an OOP refactor with ISSClient and EmailNotifier classes.

LLM Document Summarizer — LLMOps with Amazon Bedrock cover image

LLM Document Summarizer — LLMOps with Amazon Bedrock

Ai-ml

PDF document summarizer using Amazon Bedrock (Claude Haiku) with production LLMOps patterns: versioned YAML prompt templates, automated ROUGE evaluation, Bedrock Guardrails for PII redaction, and MLflow tracking of every inference call. Deployed on Azure App Service.

Language Detector — Character N-gram Classification cover image

Language Detector — Character N-gram Classification

Ai-ml

Detects the language of any text across 22 languages using character n-gram TF-IDF features. Returns the top 3 languages with confidence scores and a plain-English explanation of the character patterns driving the detection.

NYC 311 PySpark ETL Pipeline cover image

NYC 311 PySpark ETL Pipeline

Data

Four-stage PySpark ETL pipeline on 40M+ NYC 311 service requests. Identical pandas pipeline for direct comparison. Benchmarked at 100k, 1M, and 10M rows — showing the exact crossover where Spark's parallelism overcomes its initialisation overhead.

Professional Portfolio Site cover image

Professional Portfolio Site

Web

Full-stack Flask portfolio with a custom admin dashboard, PostgreSQL, a REST API, an AI assistant powered by RAG, Cloudflare R2 media storage, and CI/CD deployment to Railway via GitHub Actions.

Programming Language Workforce Strategy — Data Analysis cover image

Programming Language Workforce Strategy — Data Analysis

Data

Stack Overflow lost 97.7% of its post volume since 2016 — and its momentum now anti-correlates with hiring demand. This project proves the signal is broken, then builds a four-source replacement index to answer which languages to hire for.

REST API — Cafe & Wifi cover image

REST API — Cafe & Wifi

Web

RESTful Flask API for discovering and managing wifi-friendly cafes. Supports full CRUD via GET, POST, PUT, PATCH, and DELETE endpoints backed by SQLite and documented with Postman.

Rain Alert SMS Bot cover image

Rain Alert SMS Bot

Software

Fetches a 12-hour weather forecast from OpenWeatherMap and sends a WhatsApp or SMS alert via Twilio if rain is expected. Runs automatically every morning via GitHub Actions.

Ron Swanson Quotes App cover image

Ron Swanson Quotes App

Software

Desktop GUI built with tkinter that fetches random Ron Swanson quotes from a public REST API on every button click. Canvas background, image button, live text updates. No page reload, just pure Parks and Rec wisdom on demand.

Spotify Musical Time Machine cover image

Spotify Musical Time Machine

Software

CLI tool that scrapes Billboard Hot 100 for any historical date, fuzzy-matches all 100 songs against Spotify's catalogue, and creates a private playlist on your account in one command.

Stock Trading News Alert cover image

Stock Trading News Alert

Software

Monitors a stock's daily price change and fires WhatsApp alerts with the top 3 news headlines via Twilio whenever the move exceeds a configurable threshold.

Telco Customer Churn Predictor cover image

Telco Customer Churn Predictor

Data

Churn prediction with plain-language risk explanations a retention team can act on. Logistic Regression wins (ROC-AUC 0.8362), benchmarked against Amazon Bedrock Claude Haiku 4.5 zero-shot — tied at 70%. Flask API on Azure.

GitHub Live Details ⏳ Loading Period
Top 10 Movies cover image

Top 10 Movies

Web

A Flask web app to curate, rate, and rank your personal top 10 movies. Searches the TMDB API for metadata, stores everything in SQLite, and displays movies as animated 3D flip cards.

Workout Tracker cover image

Workout Tracker

Software

Log workouts to Google Sheets using plain English. A local LLM parses your session, calories are calculated via the MET formula, and each exercise is written as a timestamped row — no manual entry.

No projects found

No projects match the current filter.