Academic Journey

Going into college, I wasn't quite sure what I wanted to do. I started off as an Information Systems major, but quickly learned that I did not like business classes. I am not an organized person and sitting there for hours trying to organize a balance sheet was not for me. The only class I really liked was with Monty Lynn, and that's where I got my Excel certification in. Now going into my second semester of college, I decided I wanted to get into the world of Computer Science (oh boy).

I've never taken a single programming class and the learning curve was quite steep. I remember staring at code for hours not quite understanding exactly what's happening and why it's happening, but it works. While it was quite hard at first, that's where I found the fun in it. I love a challenge, especially if it's something I'm interested in, and after that class, I thought that this wouldn't be too hard. Boy was I wrong.

I failed my second programming class and I realized that I needed to start waking up and paying attention. I tried a little bit harder, but just enough to get by. I've never had to study for anything or try that hard, but failing that class gave me my first reality check. I started studying more, paying attention, and even watched Youtube videos about programming concepts and practices. I then went on to take OOP, Databases, Algorithms, and Web Development classes, and I slowly started to realize what I wanted to do and where I wanted to go. OOP gave me a new mindset on coding. You can have these abstract objects that can basically almost be nothing and add on to those objects. I found Web Development to be a lot of fun, both on the front and back ends. I love the idea of creating something that people can see and interact with. It makes me feel this sense of accomplishment after showing peers and family what I'm working on and what I can.

Eventually, some of my friends said I should look into joining SigChi. They liked coding and doing research and that I might enjoy it. While my duration with SigChi was short since I'm graduating, I had a lot of fun learning about AI and got me into starting to build my own AI projects. I also learned more about Python and C# with Unity (I don't like C# with Unity at all) and now use it for most of my assignments. Professor gives me a PDF to manually insert 96 rows of data into a Microsoft Access table? Use Python to parse the data and do it for me! While I did have quite a number of hiccups and setbacks, I also learned a lot and I'm excited to see what I can do in the future.

Assignments

Genealogy

This program takes an alphabetically ordered text file listing of father-son pairs and rebuilds the chronological family tree. The project involved two maps: one to track father-to-son relationships and one to track child-to-parent relationships. It iterated from the bottom up to find the ancestor that served as the root of the tree and then recursively mapped relationships onto a hierarchical tree of ancestors. The difficulty was in handling edge cases, such as missing or repeated relationships, and having the program handle them gracefully. The algorithm processed the data efficiently, an ability made possible by using data structures to solve real-world problems.

This project was of great significance to me mainly because it challenged me for the first time to work independently on a challenging problem without depending on already built libraries. It really reiterated for me maps and how they can be used in modeling relationships in a structured way. Another important thing I learnt is the aspect of debugging and testing edge cases, which improved my problem-solving abilities to a great extent. Other than technical skills, completion of this project instilled confidence in me in solving intricate problems, and it remains a milestone in my journey as a programmer.

Genealogy.cpp - Source Code

Download Files

3D Modeling Final Project

This was the final project for 3D modeling in which I had to create a fully rendered animation scene. The detailed objects that I modeled using Blender included a car and a highway scene, adding advanced texturing for a photo-real finish. The final deliverable was a 30-second animation with dynamic camera angles, lighting effects, and a sense of motion. The project also included the creation of high-quality stills of models, which showcased the detailing in my work. One of the greatest challenges was mastering texture mapping in Blender, especially because for some specific tasks, at that time, due to Blender's limitations, third-party software needed to be used.

This project made me realize how much I enjoyed combining both technical and artistic skills. It taught me to be observant with minute details, as slight changes in light or texture could drastically alter the final output. Additionally, I learned problem-solving skills when dealing with creative software malfunctions, a valuable experience that will undoubtedly benefit future creative or technical endeavors. Finally, completing this project allowed me to appreciate design and animation much more, and I was proud to include it in my portfolio.

Rendered Video

Gallery

Check out the full project on ArtStation: ArtStation - 3D Modeling Final Project.

Sockets Game

Murder on the Orient Express Murder Mystery multiplayer game. Supported two players with real-time chatting and turn-by-turn interactions. Powered by Node.js, Express.js, and Socket.IO. There are clues to find, randomly generated rooms, and co-op gameplay to solve the mystery. One of the trickier features to implement was random room generation, as it had to ensure each gameplay session felt unique yet solvable. The project also included a player session and game state backend along with a responsive frontend interface. You can play my game here: Mystery on the Midnight Express.

This project was a turning point because it showed me how powerful real-time applications and server-side programming can be. Writing thousands of lines of code and debugging real-time interactions was undoubtedly challenging but immensely rewarding. Managing large codebases, regulating communication between the server and client, and designing the frontend were all new skills that I managed to grasp and refine. This project consolidated both technical skills and a deeper awareness of building collaborative, interactive applications. It remains one of the projects I am most proud of because it pushed me out of my comfort zone and gave me skills that will help make my future career a reality.

Text Adventure

Inspired by adventure text-based games in the 1990s, this project was developed with a unique world created collaboratively by team members, while I developed the Dark Fantasy world named Acrius. The game featured branching storylines, complex player choices, and hidden elements designed to encourage exploration. It was written in Java, consisting of roughly 3,500 lines of code for game logic, test cases, and text mechanics. The most challenging aspects were implementing a parser to handle player input and building robust error-handling systems. The result was an engaging game with immersive storytelling and exciting gameplay.

This project was incredibly rewarding because it pushed me to apply advanced object-oriented programming principles in a highly creative way. I gained valuable experience in designing interactive systems and managing large-scale projects. Writing logic for player decisions and testing edge cases helped me develop attention to detail and critical thinking skills. What makes this project particularly special is that it represents both my technical growth and my love for programming. It’s something I look forward to building upon in future projects.

Co-Curricular Activities

SigChi

CHI 2025 Yokohama, Japan

Over the past year, a few of my friends encouraged me to join SigChi, a club focused on programming and research. SigChi frequently attends international conferences to present their findings, reminding me of my high school AP Capstone class, where we explored research topics and identified knowledge gaps. My renewed involvement in research reignited my curiosity, culminating in significant contributions to a team project where we developed a dwell-based gaze keyboard.

This project incorporated cutting-edge AI with Llama 3.2, a large language model, for next-word prediction. The keyboard aimed to improve accessibility by enabling hands-free text input, addressing issues like eye strain and typing accuracy. Our findings were consolidated into a research paper titled "Eye Need a HERO: Speed, Accuracy, and Eye Strain with QWERTY and HERO Keyboard Layouts", which was submitted to the CHI 2025 conference. You can view the full research paper here: Download CHI 2025 Paper (PDF).

Working on this project was a transformative experience that clarified my professional goals. The challenges of integrating Llama 3.2's language model into a gaze-based interface taught me to navigate complex technologies and balance usability with performance constraints. The research process deepened my appreciation for collaboration and innovative problem-solving, especially as we tackled accessibility concerns for disabled users.

Presenting our findings for potential publication validated months of rigorous work and inspired me to pursue more research-oriented projects. This experience also underscored the importance of making technology equitable and accessible for everyone. Moving forward, I aim to integrate these lessons into my future endeavors, ensuring that my work continues to have a meaningful impact on society.

Eat, Pray, and Anime

While the club is small, and as of now non-existent, I enjoyed this club while it lasted. It was a nice, small club with little events scattered throughout the year. The name implies what it is. Every week, we would eat, pray, and watch anime. There were several that we watching, that I wouldn't personally watch by myself, but was nice to watch as a group. I met a few of my friends there, but by now most of them are graduated and moved on. Nevertheless, it gave me an opportunity to try out shows that I wouldn't think I liked.

More than just watching anime, I was able to learn quite a few things from this experience. It was the place where I could relax, connect with people, and hold discussions on plot, culture, and animation styles. It nurtured a small sense of community, and although the club was small, it was a space where one could enjoy the company of others with similar interests. Watching shows that I wouldn't have chosen for myself opened up my perspective on different genres and the Japanese culture.

Even though the club has become dormant, I value my time spent with the club and the friends along the way. It was a reminder that one of the most unplanned activities sometimes creates memorable moments. In the years to come, I would love to keep my mind open for new media and look for new opportunities that would be able to bring people with similar interests together.

Other Experiences

Study Abroad

It is through this exchange program that I was exposed to an unpredictable Uruguayan experience, albeit more intense than I initially anticipated. However, navigating the language barrier with Spanish was made easier by the company of my group members, who helped bridge the gaps as we explored the country together.

We visited a number of colorful local markets, trekked across picturesque countryside, and even had the chance to go horseback riding. Along the way, I made new friends and experienced the genuine warmth and hospitality of Uruguayans. Their diet, rich in meat and sweet potatoes, was hearty and satisfying, though I was surprised by how common smoking was in their culture.

This trip gave me the opportunity to embark on new adventures while helping me appreciate the physical and mental health aspects of an entirely different lifestyle.

It wasn't until I was in Uruguay that I truly began to step out of my shell. Due to the language barrier, interactions quickly became meaningful as mutual curiosity replaced surface-level explanations. This allowed me to observe cultural differences more closely, especially regarding diet and social habits.

Although the prevalence of smoking made me reflect on the relationship between cultural norms and individual health choices, I found the emphasis on fresh, wholesome food to be incredibly inspiring. I also learned the importance of flexibility—whether it was adapting to a new environment, trying unfamiliar foods, or finding ways to communicate beyond words.

This trip broadened my perspective on how deep cultural appreciation can go and reinforced the advantages of keeping an open mind.

MPMB's Character Creation Sheet

One of my most engaging projects is developing add-on scripts for MPMB's Character Sheets-a tool designed to enhance the gameplay of Dungeons & Dragons 5e. The contribution I had in mind for the community involved extending available content with custom classes, subclasses, races, feats, and other character options. This way, I could elevate the level of accessibility and customization for players who are using these sheets.

Currently, I work on integrating content from Valda's Spire of Secrets v1.4, a homebrew expansion for 5e. It structures new character options within the existing framework, balances, and then automates in a manner to augment gameplay efficiency. My work entails problem-solving and optimization of AcroJS scripts to maintain compatibility with the character sheet's mechanics.

Making add-ons for MPMB's Character Sheets has been quite an interesting learning experience, improving my understanding of JavaScript and most importantly Adobe JavaScript, better known as AcroJS. The project challenged me to improve my coding efficiency, to automate complex character interactions, and to create structured, modular scripts that could be easily integrated and updated.

Beyond the technical skills themselves, this project has reinforced the importance of community-driven development. By working on open-source content, I was able to contribute to the options available to players and at the same time collaborate with others in the homebrew and automation space.

With the revisions I would make to Valda's Spire of Secrets v1.4, I am really looking forward to honing my scripting skills even further and delivering even more content for the MPMB community.

Spiritual Reflection

My spiritual path at ACU has been quiet and less evident, almost always filled with quiet times of introspection and opportunities to relate to faith in smaller, closer groups. I was not always able to go to the large chapel events on campus because of my job, but I still tried to attend every Tuesday and Thursday chapel. These smaller gatherings became a space for me to recharge spiritually, hear inspiring messages, and feel connected to the campus community. My favorite part of chapel has always been the guest speakers. Their unique stories and experiences, often from well-known figures, brought fresh perspectives to my faith journey and encouraged me to reflect on how God works through different people and situations.

I usually go to the Tuesday DET chapel and Thursday 316 chapels. Both provide a stark contract between the texts and material talked about. Since DET tends to be more modern and focused on adapting film and movie aspects with Christian texts. On the other hand, 316 chapel focused on well, 316 of a chapter. At first I didn't think much of it, but in reality there are a lot of 316's in the Bible. I think one of the more notable verses was Romans 3; "ruin and misery mark their ways,". To me this verse sounds quite ominous. How does ruin and misery mark their ways? This verse alone doesn't tell the full story. Romans 3 starts off talking about our unrighteousness and how it brings out God's righteousness. If everyone were to be righteous, then it would be unjust for God to bring down his wrath on us. Therefore Romans 9 concludes that no one shall be righteous. If no one is righteous, if no one is truthful, if we are in ruin and misery, then this all exemplifies God. It sounds quite counterintuitive, but I wholly agree.

While I wasn't quite able to go to chapel quite often, I still found ways to see God in the little things. There's times where I'm so frustrated on a project or assignment after hours of working on and I've simply given up. I take a quick 5 minute break and all the sudden I've come up with this brilliant idea to the problem. It's like it just popped into my head. I couldn't call it a miracle per se, but I would call it a lending hand. Almost as if someone knew my frustration and anger, but I just needed that moment of relief and relaxation to finally hear something. I'm so focused on the then and now, and I tune out all my surroundings. Moments like this help me realize that, I do this quite often with God. I get so locked in with what I'm doing whether it be a game, assignment, paper, etc. and I stop listening to the things around me.

Overall, I would say my spiritual path at ACU has been confined, but yet extensive. This semester is the first semester in 2.5 years that I could attend big chapel at Monday, Wednesday, and Friday and made me realize how much I miss it. I normally don't like large groups and tend to stay in the back (I still do). But the stories and lessons over the past 4-5 weeks have been more profound after not being able to attend for a while. I've learned to stay open minded and open-eared. Don't try to focus to hard on something or it might eat at you later. Try to be less righteous, and let God have the glory.