Projects

Genera study dashboard

Genera

Oct 2026 · Web · Finished
Python Flask JavaScript SQLite IndexedDB Service Worker

A flashcard web app built with vanilla JavaScript, Flask, and SQLite using a 5-box Leitner spaced repetition system. It comes pre-loaded with ~4,500 trivia questions across 24 categories, works completely offline via IndexedDB and a service worker, and features account merging, background catalog updates, and multi-device sync with conflict resolution.

Proctor startup screen

Proctor

Sep - Oct 2026 · Terminal · Finished
Java Terminal UI PostgreSQL Ollama

A terminal-based examination, quiz, and question bank management platform built in Java with MVC architecture. Teachers can author questions, assemble quizzes or exams, and students can take timed assessments with scoring. It also features local AI integration with Ollama for generating questions and grading answers, with automatic PostgreSQL schema migrations.

PyDFile dark mode dashboard

PyDFile

Jul - Aug 2026 · Windows · Finished
Python CustomTkinter PyMuPDF pikepdf PyInstaller

A local desktop PDF tool built in Python that covers merging, splitting, page reordering, compression, watermarking, page numbering, password protection, unlocking, image conversion, and text extraction all in one lightweight app. It works completely offline and is packaged as a standalone Windows executable via PyInstaller so Python isn't required to run it.

Pitch Flip starter screen

Pitch Flip

May - Jun 2026 · Android · Finished
Kotlin Android OpenGL ES 2.0

An Android coin flip app with a 3D coin rendered in OpenGL ES 2.0. The coin has adjustable flip speed and a full skin system along with custom labels or images. There's also a hidden Rig Mode that silently ties the result to your phone's volume, so you always get the side you want. This is my first Android app and first time ever working with OpenGL.

GitHub → Play Store (coming soon)
Wordle++ guest menu

Wordle++

Mar - Apr 2026 · Terminal · Finished
C++ FTXUI nlohmann/json CMake

A terminal-based word guessing game with 4 game modes: 3, 5, and 6 letter words, plus a daily challenge mode. Players can create accounts, track wins and streaks on a leaderboard, and there's also a built-in admin panel for managing word banks and player records without having to edit any code.