Projects
Few of my github repos Here:
Things I've Built
Most of these started with a question I couldn't stop thinking about. Some turned into actual working systems. Others taught me why the problem was hard in the first place.
---
ML-Based Intrusion Detection System
Current - Capstone Project
The Problem: Most intrusion detection systems are like paranoid security guards - they flag everything as suspicious. Your grandmother's weird browsing pattern? Alert. Someone watching Netflix at 3am? Alert. Actual DDoS attack taking down your infrastructure? Lost in the noise.
What I'm Building: A machine learning system that learns to distinguish between "weird but normal" and "actually malicious" network traffic. Training it on the BCCC-Cloud-DDoS-2024 dataset - 540,000+ network flow records of real attacks and normal behavior.
The Interesting Part: Started with 317 features per network flow (source IP, packet size, protocol flags, timing patterns, etc.). That's too many - the model gets confused, training takes forever, and you're basically teaching it to memorize noise.
Built a feature selection pipeline that reduced it to 32 critical indicators - the stuff that actually matters for detecting attacks. Training efficiency improved 85%, and the model still catches the attacks.
Now integrating Gemini API so the system can explain what it found in natural language. Instead of "Alert: Anomaly detected in flow 47293," security teams get "Detected coordinated SYN flood from 47 source IPs targeting web server - classic DDoS pattern."
Tech: Python, TensorFlow, Gemini API, network traffic analysis
Status: In progress - currently tuning the false positive rate. The goal is high detection without alert fatigue.
---
QUIC Router Simulation
Side Project - Because I Got Curious
The Question: How do routers decide which packet to send first when thousands are competing for bandwidth? And can we make them smarter about it?
What I'm Building: A simulated QUIC protocol router environment on my computer to experiment with different queue scheduling algorithms. Testing how various queuing strategies affect latency and throughput under different load conditions.
Why This Matters: QUIC is the transport protocol behind HTTP/3 - it's what modern video streaming, web traffic, and encrypted connections use. Understanding queue behavior at the router level means understanding where actual bottlenecks happen when millions of people are streaming video simultaneously.
The network graph thinking helps here: packets flowing through router queues, each queue is a node with capacity constraints, edges are the forwarding decisions. When you model it as a graph problem, you start asking different questions about optimization.
Tech: Python, network simulation, QUIC protocol implementation, algorithmic queue management
Status: Ongoing experiment - testing different priority scheduling algorithms
---
Network Intrusion Detection Using Deep Learning
Academic Project
The Challenge: Detect 9 different types of network attacks (DoS, exploits, reconnaissance, etc.) from network traffic patterns. Trained on 2.5 million network flows from the UNSW-NB15 dataset.
The Approach: Used LSTM autoencoders - basically taught the model what "normal" network behavior looks like, then flagged anything that deviated from that pattern. Hit 80% detection accuracy.
The Optimization Problem: Started with 42 features per flow. Used a two-stage metaheuristic optimization approach (Sine Cosine Algorithm + Particle Swarm Optimization) to reduce it to 18 critical features. This cut the false positive rate by 25% and improved real-time detection speed.
What I Learned: More data isn't always better. Sometimes removing the noise is more important than adding more features. Also, optimization algorithms from completely different domains (like particle swarm) can solve network security problems in unexpected ways.
Tech: Python, LSTM, CNN, feature engineering, metaheuristic optimization
---
Face Detection Mobile App
Undergrad Project - Learning Full Stack
What It Does: Android app that does real-time face detection using your phone camera. Point at a face, it detects it instantly.
The Architecture: Built a FastAPI backend deployed on Heroku that handles the actual detection using OpenCV's Haar Cascade algorithm. The Android app (Java) sends images to the API, gets back coordinates of detected faces, draws boxes in real-time.
Designed it as RESTful API with asynchronous request handling so multiple users could hit the detection service simultaneously without blocking.
Why I Built This: Wanted to understand the full stack - mobile client, backend API, computer vision algorithm, cloud deployment, the whole graph of how data flows from camera → processing → display.
Tech: Android, Java, FastAPI, OpenCV, Heroku, REST APIs
Source: GitLab Repository
---
Secure Digital Library Platform
Built for Anna University System
The Context: 5,000+ students needed access to digital library resources. Different permissions for different user roles. Had to be secure, fast, and actually work when thousands of students hit it during exam season.
What I Built: Full-stack platform with OAuth 2.0 authentication, role-based access control, and containerized microservices architecture. Used Docker for deployment to make scaling easier.
The Results: 99.5% uptime, API response times under 200ms even during peak load. Students could actually access their resources when they needed them.
What Mattered: Session management security, proper RBAC implementation, and making sure the database queries didn't fall apart when traffic spiked. The boring infrastructure stuff that makes or breaks production systems.
Tech: Node.js, PostgreSQL, React, Docker, OAuth 2.0
---
NFT Tracking Dashboard
24-Hour Competition Project
The Situation: NIT Trichy blockchain competition. Had 24 hours. Never used Google Apps Script before.
The Challenge: Build a real-time dashboard tracking NFT transactions across the blockchain.
What I Did: Learned Google Apps Script from scratch, built a working dashboard that pulled live NFT data and displayed transaction patterns. Won first place.
What This Taught Me: You can learn new tools fast when you have to. Also, sometimes the right tool for the job is whatever gets it working in time, not the theoretically perfect solution.
Tech: Google Apps Script, blockchain APIs, rapid prototyping under pressure
---
Other Experiments
3D Campus Digital Twin - Modeled my entire undergrad college in 3D using Blender. Completely useless for my career but taught me a lot about visualizing complex spatial systems. Sometimes the detours are worth it.
---
What Connects These
Looking back, there's a pattern: I'm drawn to problems where you need to understand the entire system - how data flows, where bottlenecks form, where attacks happen, where things break under load.
Whether it's packets moving through router queues, network traffic patterns hiding attacks, or users hitting a database during exams - they're all graph problems. Nodes, edges, flow, constraints.
Understanding the graph means understanding where the interesting problems are.
---
Want to talk about any of these? Email me or check out my GitHub