Language Learning App
Overview
Youtalk Inc., a dynamic startup based in Menlo Park, CA, brought me on board as a Software Engineer. Our team was dedicated to creating an innovative language learning application for Android and iOS, designed to make language acquisition engaging and accessible.
In this role, I took ownership of implementing key features, resolving critical bugs, and ensuring a seamless user experience. I also managed the end-to-end process of publishing the app to the Google Play Store and Apple App Store, contributing to its successful launch and adoption.
This portfolio showcases highlights from our development process, carefully curated to respect the proprietary nature of the project while demonstrating the depth and impact of our work.
Technologies Used
- JavaScript: Utilized for building the core functionality of the app, including dynamic user interactions and seamless integration of various features.
- Cordova Framework: Enabled the development of a cross-platform app, allowing the codebase to be shared between Android and iOS, significantly reducing development time and effort.
- Apple TestFlight and Google Play Console: Facilitated beta testing, enabling the identification and resolution of bugs and issues reported by authorized users to ensure a polished user experience.
- Microsoft App Center: Implemented a continuous integration and continuous deployment (CI/CD) pipeline to automate the build, testing, and deployment processes, accelerating development cycles and ensuring reliable releases.
- Mobile Platform SDKs: Worked with native Android and iOS platform tools to successfully launch and maintain the app on both platforms.
This combination of technologies helped create an intuitive and engaging mobile experience, catering to users on both major mobile platforms.
Features Implemented
Login flow
Designed and developed a seamless frontend for the login process, supporting two distinct user access methods:
- Magic Link for individual users, enabling a secure and hassle-free login experience.
- Classroom Login for students, allowing access via a combination of class ID, student ID, and password.
Leaderboard
- Built an interactive leaderboard feature to track progress, fostering engagement and healthy competition among users.
- Integrated functionality to display lessons completed and stars earned, showcasing achievements of friends and classmates in real time.
Stars earned
Developed a dynamic star-based reward system to enhance user engagement and motivation:
- Rewarded users with stars for correct answers.
- Deducted stars for incorrect responses, creating a balanced and challenging learning experience.
Bundle audio files
Engineered a script to streamline lesson playback and improve app performance:
- Automated the download of required audio files using the Google Text-to-Speech (TTS) engine.
- Bundled audio files directly with the app to minimize mobile data usage and reduce latency for end users, ensuring a smooth and efficient learning experience.
Invite system
Developed a user-friendly invite system to promote app growth and engagement:
- Enabled users to invite friends to the app seamlessly.
- Integrated a reward mechanism granting free lessons for each successful invite, driving user retention and referrals.
Continuous Integration and delivery
Established a robust CI/CD pipeline using Microsoft App Center to streamline app development and deployment:
- Automated the packaging, building, and delivery of app versions for testing and publishing.
- Delivered test versions efficiently through Apple TestFlight and Google Play authorized user accounts, ensuring rapid feedback from testers.
- Published thoroughly tested and stable app versions to the Apple App Store and Google Play Store, guaranteeing a high-quality user experience.
Automated Testing Scripts for Lesson Plans
To ensure the accuracy, consistency, and quality of the language lessons in the app, I designed and implemented automated testing scripts. These scripts were integral to maintaining the integrity of the learning content and streamlining the quality assurance process.
Key Features of the Automated Testing Scripts:
-
Validation of Lesson Content: Automated checks ensured all lesson materials, including text, audio, and multimedia components, were properly formatted, linked, and free of errors.
-
Lesson Progression Testing: Verified that lesson transitions and progress tracking functionality performed as intended, ensuring users could seamlessly navigate through the course structure.
-
Error Detection: Identified inconsistencies in content delivery, such as missing audio files or incorrect answers in quizzes, allowing for quick resolution.
These automated scripts significantly reduced the time required for quality assurance while ensuring that the language learning content met the highest standards of quality and reliability.
Development process and bug fixing
Debugging
Leaderboard development
Reward system development