CitrusHack2023 (9/2022 - 6/2023)
Leading the Development of a Web Application for a Large Hackathon
As the lead software engineer, I managed a team of around 10 developers to create a web application for one of Southern California's largest hackathons. The event served approximately 1,000 applicants and featured a variety of innovative functionalities, including:
- Resume submission and data storage using MongoDB
- QR code scanning for event organizers to efficiently check in hundreds of participants
- An admin page for organizers to view and manage participant information
Choosing the Tech Stack and Onboarding Developers
In my role, I was responsible for selecting the technology stack while considering the experience of newer developers. The chosen stack consisted of Next.js, TailwindCSS, and MongoDB. Additionally, I onboarded several developers and guided them throughout the project.
Implementing CI/CD and Ensuring a Safe Development Cycle
To maintain a high-quality codebase and streamline the development process, I implemented a CI/CD pipeline for linting, checking for merge conflicts, and running end-to-end tests with Cypress. Pre-commit hooks were added using Husky, along with various scripts to improve the development cycle and ensure safety for all team members.
Enhancing Database Performance
To optimize database performance and enhance user experience, I added indexes to the NoSQL database, improving query efficiency.
Collaborating with Marketing, UI/UX, and Sponsors
I worked closely with the marketing and UI/UX teams to make continuous improvements to the website. As one of the hackathon's sponsors, Major League Hacking (MLH) played a crucial role in ensuring that all applicants provided and agreed to necessary agreements. I collaborated with MLH representatives to meet these requirements.
Utilizing SendGrid for Email Communications
To manage email communications, such as reminders and application approvals/rejections, I integrated SendGrid into the web application.
Powering the Entire Hackathon
The web application served as the central hub of the entire hackathon. As the lead engineer, I was responsible for overseeing the project and ensuring its success. You can find the project repository on GitHub and visit the website to see the result of our efforts. The primary technology stack for the application included Next.js, TailwindCSS, and MongoDB.