2025
CraveAI (Prototype)
CraveAI is a project that leverages machine learning to provide personalized restaurant recommendations. By analyzing user's location and preferences, it suggests relevant dishes and restaurants.
Motivation and outcome: The goal was to create a system that understands user interests deeply and curates content accordingly, making it easier for users to discover new and engaging places to eat.
MAL Anime Score Predictions
This project pairs a data pipeline and model stack written in Python with a small React front end. The backend pulls and cleans MyAnimeList data, turns synopses into TFâIDF vectors (with dimensionality control) and combines those with engineered metadata features; models are trained in scikitâlearn and with XGBoost/LightGBM and served through a FastAPI endpoint on Uvicorn. The frontend (Vite + React + Tailwind) shows an anime card grid with cover art, MAL IDs, colorâcoded score badges, and a CSV export for further analysis.
Motivation and outcome: as an anime fan I built this to improve my chances in MALâs seasonal score prediction competitions â the project focused on practical gains (robust preprocessing, leakageâsafe validation, and repeatable experiments) rather than academic novelty.
Approach and reasoning: I found that combining textual signals from TFâIDF (reduced to control dimensionality) with structured features like genre, popularity, and airing metadata produced the most reliable signals. To get realistic performance estimates I used timeâaware / leakageâsafe splits, extensive error analysis, and Kâfold cross validation with early stopping during hyperparameter searches.
Effort and iterations: the work took several weeks and dozens of hours of training and tuning â many experiments were short runs to validate feature ideas, while final models required longer training and careful hyperparameter sweeps. I used featureâimportance and targeted error analysis to guide each iteration and selected the final model by RMSE/MAE on heldâout data.
MAL Anime Score Predictions
This project pairs a data pipeline and model stack written in Python with a small React front end. The backend pulls and cleans MyAnimeList data, turns synopses into TFâIDF vectors (with dimensionality control) and combines those with engineered metadata features; models are trained in scikitâlearn and with XGBoost/LightGBM and served through a FastAPI endpoint on Uvicorn. The frontend (Vite + React + Tailwind) shows an anime card grid with cover art, MAL IDs, colorâcoded score badges, and a CSV export for further analysis.
Motivation and outcome: as an anime fan I built this to improve my chances in MALâs seasonal score prediction competitions â the project focused on practical gains (robust preprocessing, leakageâsafe validation, and repeatable experiments) rather than academic novelty.
Approach and reasoning: I found that combining textual signals from TFâIDF (reduced to control dimensionality) with structured features like genre, popularity, and airing metadata produced the most reliable signals. To get realistic performance estimates I used timeâaware / leakageâsafe splits, extensive error analysis, and Kâfold cross validation with early stopping during hyperparameter searches.
Effort and iterations: the work took several weeks and dozens of hours of training and tuning â many experiments were short runs to validate feature ideas, while final models required longer training and careful hyperparameter sweeps. I used featureâimportance and targeted error analysis to guide each iteration and selected the final model by RMSE/MAE on heldâout data.
XY-Ball-Fight
A small browser-based 2D "ball fight" game built with plain HTML, CSS and JavaScript. This project demonstrates a simple game loop, basic physics, AI opponents, weapons, and an on-screen UI.
- Lightweight vanilla JavaScript implementation
- Simple physics-based movement and collisions (see engine/physics.js)
- AI opponents (see engine/ai.js)
- Modular engine files: game loop, weapons, UI, physics
- Easy to run locally â no build step required
Portfolio Website
My personal portfolio site built with plain HTML, CSS and JavaScriptâshowcasing my bio, projects, and resume link.
Chess-Bot
A Python implementation of a chess-playing agent using minimax with alpha-beta pruning and heuristics for board evaluation. (WIP)
Evodle
An idleâclicker browser game powered by evolutionary algorithmsâwatch your creatures evolve and unlock new upgrades. (WIP)
2024
NLP Analysis Tool
A Python package leveraging NLTK & SpaCy to perform text classification, keyword extraction, and sentiment analysis on unstructured data. (WIP)
VanklCommApp
A communication platform built with React Native and Firebaseâfeatures real-time chat, group channels, and file sharing.
2023
Fitness-Run-Application-ACMERun
An Android app that tracks your runs, displays pace/heart-rate graphs, and syncs with Google Fit using Kotlin and Jetpack Compose.
Island Generator
A procedurally generated island terrain tool implemented in Java using Perlin noise and Voronoi-based erosion simulation.
Mesh Terrain Generator
A Java library for generating 3D mesh terrains from heightmaps, complete with UV mapping and customizable shader support.
Piraten-Karpen
A Unity-based 2D pirate adventure game featuring procedurally generated maps, inventory management, and NES-style pixel art.