2025 Featured Project

MAL Anime Score Predictions

A prediction stack that blends text features, metadata, classical ML, and a lightweight React UI to estimate MyAnimeList scores more reliably.

Python FastAPI scikit-learn XGBoost LightGBM React

This project pairs a Python modeling pipeline with a small React front end. The backend cleans MyAnimeList data, turns synopses into TF-IDF features, combines those with metadata, and trains multiple models for score prediction.

I treated it as a practical experimentation environment, so the work emphasized leakage-safe validation, useful feature engineering, and repeatable model comparison rather than novelty for its own sake.

The frontend gives the models a cleaner face with an anime card grid, score badges, and CSV export so the results are easier to inspect and share.

Anime score prediction dashboard
A more focused, editorial presentation for one of the strongest ML projects in the portfolio.
2025 Prototype

CraveAI

A conversational RAG chatbot that combines mood, craving, and live location signals to recommend nearby restaurants in natural language.

Python LangChain OpenAI API ChromaDB FastAPI React Google Places API Mapbox Docker

CraveAI is a conversational Retrieval-Augmented Generation chatbot built to recommend restaurants based on how someone feels, what they are craving, and where they are in real time. It combines LangChain, the OpenAI API, Google Places, and vector retrieval to turn a casual prompt into a useful local recommendation.

I implemented natural-language intent parsing, vector-based cuisine retrieval with ChromaDB, and an interactive React plus FastAPI experience that keeps the full recommendation flow fast and readable for users.

The result was a sub-second recommendation interface with strong engagement, plus a cleaner product framing for restaurant discovery than a standard search filter UI.

CraveAI interface preview
CraveAI pairs conversational search, live location context, and restaurant retrieval into one recommendation flow.
2025 Personal Site

Portfolio Website

A static portfolio built with plain HTML, CSS, and JavaScript, now reorganized into a more curated project browser.

HTML CSS JavaScript Static Site

This site started as a long list of project cards. The redesign changes it into a curated archive where visitors scan the left rail and read one project at a time in a more deliberate detail view.

That shift brings the presentation much closer to the reference image you shared while keeping the site lightweight and fully static.

Portfolio website
The site itself becomes one of the showcased projects.
2025 Browser Game

XY-Ball-Fight

A compact browser game in plain HTML, CSS, and JavaScript with a simple engine, AI opponents, and physics-driven combat.

HTML CSS JavaScript Game Loop

XY-Ball-Fight is a lightweight 2D arena game built without a framework. The focus is on fundamentals: a game loop, collision handling, controls, weapons, and readable UI systems.

  • Vanilla JavaScript implementation with no build step.
  • Custom physics and collision logic.
  • AI opponents and modular engine files.
XY-Ball-Fight gameplay
A compact game project that still shows real engine structure.
2025 Work In Progress

Chess-Bot

A Python chess agent built around minimax, alpha-beta pruning, and evaluation heuristics.

Python Minimax Alpha-Beta Pruning

Chess-Bot explores classic search-based AI rather than machine learning. The core challenge is evaluating board states efficiently enough to make useful decisions in a reasonable time budget.

It is a good example of adversarial search, state representation, and performance-aware implementation.

Chess project
Traditional game AI focused on search and evaluation.
2025 Work In Progress

Evodle

An idle-clicker browser game where the progression system is shaped by evolutionary algorithms.

JavaScript Game Design Evolutionary Algorithms

Evodle mixes incremental game structure with simulation ideas. Instead of progression being purely linear, the system uses evolutionary mechanics to produce more interesting upgrade behavior over time.

Evodle game
A browser project that treats progression as a system to explore.
2024 Toolkit

NLP Analysis Tool

A Python package for classifying text, extracting keywords, and measuring sentiment across unstructured data.

Python NLTK spaCy Text Analytics

This package bundles together reusable NLP workflows for classification, keyword extraction, and sentiment analysis so the same preprocessing and language steps do not need to be rebuilt from scratch each time.

NLP analysis tool
Reusable utilities for turning text into structured signals.
2024 Mobile App

VanklCommApp

A React Native communication platform with real-time chat, group channels, and shared files.

React Native Firebase Realtime Messaging

VanklCommApp focuses on live communication on mobile, with chat, group channels, and file sharing supported by Firebase. It highlights product work where state synchronization and UX both matter.

Vankl communication app
A mobile-first collaboration project built around live updates.
2023 Android App

ACMERun

A Kotlin and Jetpack Compose running app for route tracking, pace monitoring, and Google Fit synchronization.

Kotlin Jetpack Compose Android Google Fit

ACMERun tracks runs, pace, and heart rate while syncing health data with Google Fit. It is a good example of mobile product work that mixes sensors, data, and interface design.

ACMERun app
Mobile product work centered on activity tracking and data visualization.
2023 Procedural Generation

Island Generator

A Java terrain tool that combines Perlin noise with erosion ideas to generate island landscapes.

Java Perlin Noise Procedural Generation

Island Generator explores terrain synthesis through Perlin noise and erosion-inspired post-processing. The goal was to make generated landforms feel more organic than raw noise alone.

Island Generator output
Procedural terrain work with a more natural visual result.
2023 Graphics Utility

Mesh Terrain Generator

A Java library for turning heightmaps into 3D terrain meshes with UV mapping and shader customization support.

Java 3D Graphics Heightmaps

This library turns terrain data into reusable 3D geometry with UV mapping and configurable shader support, making it more of a graphics building block than a one-off demo.

Mesh Terrain Generator output
A reusable graphics-oriented terrain component.
2023 Unity Project

Piraten-Karpen

A 2D pirate adventure game with procedural maps, inventory systems, and NES-inspired pixel art.

Unity C# Procedural Maps Pixel Art

Piraten-Karpen blends exploration, procedural map generation, inventory management, and a playful retro visual style. It captures the side of the portfolio that leans into game systems and presentation together.

Piraten-Karpen game
Gameplay systems, procedural content, and stylized art in one project.