Here is my journey as a software engineer from the very beginning, through college, and some of the work I have done since graduation. There are some professional and personal projects, freelance work, the capstone project from San Jose State University, and tools I've made for and with my friends.
projects are displayed in more or less reverse chronological order. I love learning and experimenting with new technologies and I learn best through hands-on work.
The technologies that I've used a lot are marked with a
I have conceptualized, designed, and implemented this application based on the ideas and requirements provided by Dr. Louis Freund and Dr. Jim Spohrer. Both Dr. Freund and Dr. Spohrer contributed the high-level conceptual framework for the application, as well as the foundational elements of the scoring engine. My role encompassed the development of a full-stack application, including the user interface, bringing their vision to life. I have had the privilege of co-authoring a paper with Dr. Louis Freund and Dr. Jim Spohrer for the AHFE 2024 International Conference, showcasing our collaborative research and findings in the field. This project represents my most comprehensive full-stack development endeavor to date, encompassing extensive work on both the front-end and back-end components.
This was my first introduction in the world of software that is deployed to production. I have worked directly with the CTO, Benjamin Norton who has taught me the ins and outs of the professional software development process. I have contributed to many parts of the system including the front-end teleprompter, backend synchronization between the PitchHub system and Dropbox, researched and implemented several prototypes including PathFinder by PitchHub (an extension for Adobe Premier Pro), authentication and authorization with Auth0 and Cognito (including SAML, OIDC, and OAuth2), Closed-Captions improvement system, and and other features on the PHP backend.
The tool I developed is designed to create cross-client emails that are optimized for both mobile and desktop devices, specifically tailored for real estate listings. Based on broad, non-technical specifications provided by the client, I led the design and implementation of this solution. For more than two and a half years, it has been successfully utilized by the client, resulting in over 2 million opened emails.
I spearheaded the development of a Teleprompter Zoom application, leveraging my in-depth research into the Zoom API to craft a proof of concept using PitchHub's existing codebase. Collaboratively, our team refined this foundation by incorporating tailored authentication and authorization solutions, seamlessly integrating with PitchHub's established infrastructure. I played a pivotal role in documenting the technical architecture and guiding the team through the rigorous Zoom Marketplace Security review process. Our application not only received approval but is now featured in the Zoom Marketplace, enjoying widespread adoption with thousands of daily users.
Castera, a Chrome extension, facilitates video and audio content downloads from webpages, including an audio-only option from videos. The extension leverages a WebAssembly (WASM) and FFMPEG prototype for in-browser video conversion, alongside a custom yt-dlp fork optimized for efficiency, not relying on AWS Lambda for processing. It also features logic for HLS (m3u8) stream downloads, expanding its compatibility with various media formats. Additionally, Castera supports bookmarking and audio conversion for improved accessibility and low-bandwidth scenarios, enhancing device flexibility and user experience in content management and playback.
I created a tool that streamlines the process of consolidating contact information from multiple sources into a single, organized contact list. This tool efficiently identifies and merges duplicates, and offers an option to export the list as a CSV file, directly from the browser. Importantly, to meet stringent security requirements, all processing is conducted on the client side, ensuring no data is sent to the server. This privacy-focused approach has made the tool a valuable asset for the client's employees in managing their contacts.
This is an internal tool developed to present upcoming property listings with a focus on privacy. It conceals specific addresses to protect confidentiality, utilizing Google Maps to visually represent locations. A custom overlay with markers is employed, ensuring the tool performs well even when handling more than 1,000 markers at once. This functionality allows for the efficient management and preview of listings in a way that safeguards privacy until they are ready for public release.
For my Bachelor's degree capstone project at San Jose State University, I played a multifaceted role within an eight-member team, consisting of four developers and four UI artists, over two semesters. My responsibilities extended beyond traditional development tasks; I engaged in project management duties, contributed significantly to the backend code, and spearheaded the deployment infrastructure. This collaborative project focused on creating a multiplayer game that emphasized teamwork over competition, allowing players to build and manage villages together. Our team's dedication to fostering a cooperative gaming environment was reflected in the game's ability to attract approximately 50 users to the server at its peak. My involvement in project management, backend development, and overseeing the deployment infrastructure was instrumental in realizing a game that not only met our academic goals but also created a community-centric gaming experience.
I developed a proof of concept iOS application tailored for a friend who worked as an Uber driver, addressing a significant challenge faced by drivers: the short window of approximately 10 seconds to accept ride requests without detailed information on the pay per mile or per minute. This constraint often made it difficult for drivers to make informed decisions quickly about the profitability of a ride.My application operates seamlessly in the background, automatically calculating and presenting the pay per mile and per minute as soon as a ride request is received. This enables drivers to instantly assess the value of the ride, aiding them in making swift and informed decisions. Designed with flexibility in mind, the application's architecture is structured to allow easy adaptation to support a wide range of ride-sharing services beyond just Uber, offering potential for broad utility in the gig economy. This solution not only enhances decision-making for drivers but also opens avenues for better income management across the ride-sharing industry.