Skills


Loading Image
C++ code in a IDE showing a mockup for the code of the skills list.


Loading Image
Python code in a IDE showing a mockup for the code of the skills list.


Loading Image
C Sharp code in a IDE showing a mockup for the code of the skills list.


Loading Image
Rust code in a IDE showing a mockup for the code of the skills list.


Loading Image
JavaScript code in a IDE showing a mockup for the code of the skills list.


Loading Image
TypeScript code in a IDE showing a mockup for the code of the skills list.


Loading Image
A React component showing a mockup for the code of the skills list.


Loading Image
A HTML markup showing a mockup for the code of the skills list specifically for the HTML list item.


Loading Image
CSS showing a mockup for the styles of the skills list.
Portfolio


Loading Image
Screenshot of Password Manager running in a window.
Password Manager
This performance-driven password manager is built with C++ and Qt Widgets, following clean Object-Oriented principles. It features a highly responsive UI, thanks to a component caching system that enables real-time updates and smooth hover effects powered by Qt's animation classes. The application also includes a built-in generator for creating strong, random passwords.
Leverages a component caching system for instant updates and fluid hover effects using Qt's native animation classes.
Features an integrated algorithm to generate strong, random passwords on demand.
Built with a focus on performance and clean, Object-Oriented design for efficient and maintainable code.
C++
Qt Widgets
CMake
Generate completely random passwords with a character length of 16 to have a fully secure account.
Implement a saving function with cryptography so the password is secure.
Make the generator more random and secure.
Refactor code to make it cleaner and more efficient.


Loading Image
Screenshot of the Google Auth Demo App.
Google Auth Demo App
Built as an internship assignment, this cross-platform app uses Next.js, React Native, and Expo alongside Firebase Authentication. Users can sign in with Google, see a personalized greeting pulled from their token, and navigate between screens easily.
Firebase Google Auth integration for secure sign-in.
Real-time display of user's name from the ID token.
Embedded WebView page for in-app web content.
Smooth sign-out and re-authentication flow.
Expo & React Native for mobile UI
Next.js for web-in-app logic
Firebase Authentication with Google OAuth
React Navigation & React Native WebView


Loading Image
DualSense controller prompts replacing the main menu controller for Echoes of Wisdom
DualSense UI Prompts Mod — Echoes of Wisdom
A UI swap-in mod for video game The Legend of Zelda: Echoes of Wisdom that replaces in-game button prompts with PlayStation DualSense icons (X, O, etc.). The main menu's controller diagram was rebuilt so each labeled line aligns with DualSense button positions, delivering a polished, native-feeling experience.
Replaces all in-game prompts with DualSense icons
Custom main menu controller diagram with accurate label lines
Clean, cohesive visual assets for a native-style look
Drop-in mod packaging for easy installation
Switch Toolbox for asset extraction and injection
Switch Layout Editor to adjust UI element positions
Photoshop for creating and refining button icon assets
Combined total of ~8.2k views across GameBanana and Nexus Mods
Combined total of ~1.4k downloads (1.1k on GameBanana, 330 on Nexus Mods)
11 total likes (6 on GameBanana, 5 on Nexus Mods)
Featured as Pick of the Day on GameBanana
248 unique downloads on Nexus Mods


Loading Image
Screenshot of the Django To-Do List app showing editable task cards
Django To-Do List
A lightweight single-page To-Do List built with Django for the backend and vanilla HTML, CSS, and JavaScript on the front end. Tasks can be created, edited, marked complete/incomplete, or deleted—and all changes persist across page reloads.
Inline editing of title and description fields
Toggle complete/incomplete state with one click
Add and remove tasks dynamically at the bottom
Persistent state via Django ORM and server-rendered templates
Each task card animates into view from alternating sides using pure CSS keyframes—odd-indexed cards slide in from the left, even-indexed from the right—for a lively user experience.
Python 3 & Django
HTML5 & CSS3
ES6 JavaScript
SQLite


Loading Image
Rendered donut scene created in Blender with compositing effects
Blender Donut Render
A 3D render and animation created in Blender by following the popular Blender Guru donut tutorial series. This project served as an introduction to Blender's modeling, shading, lighting, and rendering pipelines, while also experimenting with compositing for extra visual polish.
Modeled donut from scratch in Blender
Set up lighting and camera angles to enhance realism
Used Blender's compositor to add post-processing effects
Rendered a final animation showcasing the scene
Subdivision surface modeling
UV unwrapping and texture painting
Lighting setups (HDRI and area lights)
Compositing nodes for color grading and effects
While tutorial-based, this project was a key milestone in learning Blender. It provided a foundation in 3D workflows and inspired further exploration into original modeling and animation projects.


Loading Image
Screenshot of the Pygame Ping Pong game showing players, ball, and score
Pygame Ping Pong
A classic Pong-style game built with Python and Pygame, featuring custom paddle graphics and a time-delta physics system that ensures the ball moves consistently at any frame rate.
Frame-rate independent physics for smooth, predictable ball movement
Custom paddle and border sprites created in Photoshop
Scoring system with side-border indicators and a 10-point victory screen
Python 3 & Pygame
Photoshop for asset creation
Escape to pause the game
Space to exit at any time
W and S for Player 1's movement
Up and Down Arrow keys for Player 2's movement
Add AI opponent with adjustable difficulty levels
Introduce sound effects and background music
Implement simultaneous input for both players