§00 · projects

A collection of things I’ve built.

scamshield-ai
SCAMSHIELD · LIVE INBOXYour KYC expires today. Update at bit.ly/…PHISHING0.98Congrats! You won ₹50,000 in the lucky drawLOTTERY0.95Your OTP for login is 482913. Do not share.LEGIT0.03Part-time job, earn ₹8k/day, WhatsApp nowJOB SCAM0.91

NLP · Security · 2026 · Under review

ScamShield AI

A Transformer–RAG framework for SMS scam detection, eight-class scam categorisation, phishing URL scoring, and explainable safety guidance for users in India.

96.4%accuracy
91.2%macro-F1, 8 scam classes
97.8%phishing-URL F1
  • Transformers
  • RAG
  • PyTorch
  • NLP

The problem

SMS scams in India change wording faster than keyword filters can keep up. Flagging a message is only half the job — people also need to know what kind of scam it is and what to do next.

Approach

A dual-head shared-encoder Transformer classifies each message as scam or legitimate and assigns one of eight scam categories in a single pass.

Links inside the message are scored separately for phishing risk.

A retrieval-augmented advisory layer pulls relevant safety guidance and explains why the message was flagged, in plain language.

Results

96.4% accuracy, 91.2% macro-F1 across the eight categories, and 97.8% F1 on phishing URL detection.

groundwater-forecasting
forecast →GROUNDWATER LEVEL · ITALY— observed— LSTM— XGBoostRMSE / MAE

Time series · Climate · 2025 · Under review

Groundwater forecasting, Italy

Time-series analysis of Italian groundwater levels, comparing classical, ML and deep-learning forecasters for groundwater management and climate-risk analysis.

5models compared
RMSE · MAEevaluation
  • ARIMA
  • Prophet
  • LSTM
  • XGBoost
  • GARCH

The problem

Groundwater levels drive irrigation, drinking-water and drought planning. Picking the wrong forecaster means planning around the wrong future.

Approach

Analysed groundwater time-series data and implemented ARIMA, Prophet, LSTM, XGBoost and GARCH forecasters.

Compared every model on RMSE and MAE to find which approaches hold up for management and climate-risk use.

flappybird-rl
EPISODE 1,024 · ε 0.05 · SCORE ↑

Reinforcement learning · 2026

FlappyBird RL

A Deep Q-Network that learns when to flap — trained with experience replay inside a Flappy Bird environment I built in Pygame.

8state features
2actions: flap or don’t
  • Python
  • PyTorch
  • Pygame
  • NumPy
  • DQN

The agent

Deep Q-Network with an 8-feature state representation and a 2-action space.

Experience replay, mini-batch training and reward shaping, implemented in PyTorch.

The environment

Built the game itself in Pygame: physics, pipe generation, collision detection and scoring — so the agent and the world could be tuned together.

Reward design

Positive reward for staying alive, passing pipes and moving toward the gap centre; negative reward for hitting pipes or the screen edges.

Training scores are plotted live with Matplotlib to watch the agent improve.

virtual-assistant
“what’s the AQI today?”→ weather.aqi("Bengaluru")

Automation · Voice · 2025

Virtual Assistant

A voice-controlled Python automation toolkit for weather, application, Bluetooth and file management on macOS. Built with Vedant Singh Bedi and Harsh Modi.

  • Python
  • SpeechRecognition
  • pyttsx3
  • Gemini
  • WeatherAPI
  • AppleScript

What it does

Listens with speech recognition, replies with text-to-speech, and runs system commands without touching the keyboard.

Reports real-time weather, rain chance and AQI through WeatherAPI, auto-detecting location via macOS CoreLocation.

Opens and closes apps, toggles Bluetooth and creates, renames, moves or deletes files — all by voice, through AppleScript and Python.

Uses Google’s Gemini API for open-ended questions.

boston-housing
Correlation heatmap of the Boston housing features

Statistics · Data analysis · 2024

Boston Housing Analysis

Played the data scientist at a Boston housing agency: explored U.S. Census housing data, visualised it, and used hypothesis tests and regression to answer management’s questions.

p < 0.001river homes priced higher
r = 0.76NOX vs industry
R² = 0.06distance vs value
  • Python
  • Pandas
  • NumPy
  • SciPy
  • statsmodels
  • Seaborn

What I tested

T-test: homes bounding the Charles River have a significantly different median value (t = −4.0, p ≈ 7×10⁻⁵).

ANOVA: median value differs across age groups of the housing stock (F = 36.4, p ≈ 2×10⁻¹⁵).

Pearson: nitric-oxide levels rise with industrial land share (r = 0.76).

OLS regression: distance to employment centres explains little of home value on its own (R² = 0.06).