Internship Description
Yuehui “Ricky” Ruan, ’25SEAS, was a software engineering intern at Puberry, a pioneering gamified app revolutionizing youth health education. As an intern, Yuehui played a crucial role in enhancing both the back-end and front-end components of the platform, preparing for a significant launch in summer 2024. Yuehui’s technical skills and enthusiasm for leveraging technology to educate and empower youth made a significant contribution towards Puberry’s goal of reaching over 30,000 users by fall 2024.
During my internship, I worked on Puberry's content management system (CMS), which helps teachers manage their courses, quizzes, and lessons with more ease. The project focused on creating a user-friendly platform for educators to organize their content, track student progress, and manage interactions. This project aligns perfectly with the organization’s mission of providing digital tools to improve educational access and efficiency. By simplifying the process for teachers, the CMS directly supports the goal of using technology to enhance learning environments. It felt rewarding to contribute to a system that will ultimately benefit both educators and students, making learning and teaching more organized and effective. Seeing how my work aligned with the organization’s larger goals gave me a sense of purpose, and I was proud to be part of a team that strives to improve education through innovative digital solutions.
My internship project allowed me to apply several key skills I’ve developed in my computer science degree. The project involved a lot of backend development work, where I used Node.js and PostgreSQL to build the CMS and management databases. I also applied my knowledge of cloud computing, working with AWS services like Amplify, RDS, and Cognito to deploy and secure the application. These skills were honed through my academic studies, but applying them in a real-world project gave me invaluable hands-on experience. I learned how to manage database migrations, secure API development, and cloud infrastructure setup, all of which were central to the project. This internship allowed me to translate theoretical knowledge into practical solutions, which has significantly deepened my understanding of full-stack development, especially the backend and cloud integration aspects.
One of the main challenges I faced was managing the database schema updates, especially in the cloud environment. Ensuring that schema changes were implemented smoothly without disrupting the system required careful planning and troubleshooting. I also encountered difficulties with integrating various AWS services, such as Cognito for user authentication, and ensuring that everything worked together without errors. These cloud-based challenges were new to me, and I needed to experiment with different approaches to find the best solutions. Additionally, understanding how to configure and test APIs across different environments, from local to cloud-based deployments, was tricky at times. Thankfully, I had a supportive team that was always willing to help brainstorm ideas, and we were able to overcome these obstacles together. These experiences taught me the importance of patience, persistence, and teamwork in software development.
This internship has been a fantastic learning experience, both technically and personally. On the technical side, I gained hands-on experience with backend development, cloud integration, and managing secure user authentication systems. I also learned how to handle challenges like database migrations and API testing, which will be valuable in future projects. More importantly, I realized the value of teamwork and communication. Collaborating with my colleagues made problem-solving more efficient and enjoyable, and I’m grateful for their guidance and support.
My biggest takeaway is that real-world projects come with unexpected challenges, but with a strong team, any problem can be solved. Moving forward, I feel much more confident in my ability to handle complex projects, and I’m excited to continue developing my skills in cloud computing and backend systems. Overall, this experience has fueled my passion for creating impactful, real-world software solutions.
