Worked on the Delight Team at Duolingo as an iOS SWE. Added new delight elements into Duolingo's session end screens.
The Challenge
The Delight Team at Duolingo focuses on creating moments of joy and surprise throughout the learning experience. My main project was to enhance the session end screens with new animated elements that celebrate user achievements.
What I Built
During my internship, I worked on:
- Daily Challenges Rewards Animations: Updated the animation sequence when the user finished a daily challenge at the end of their lesson.
- Dynamic Leaderboard SFXs: Added dynamic sfxs into the leaderboard rank up animation.
- Updated Rive Animations with SFXs: Built new View Models to manage the XP Multiplier reward animation view and its different SFXs.
- Friends Quest Reward Animation: Created from scratch, a new animation sequence for the Friends Quest Session End View.
Here's some of my work!

Technical Stack
- Swift, SwiftUI and UIKit for all of the iOS coding.
- Lottie files for simple animations.
- Rive files for animations with different inputs.
Impact
The new delight elements helped us gain +9000 Daily Active Users only from adding new SFXs and animations into the session end screens.
Lessons
All of these animations were first designed by a Motion Designer and then passed to me to programmatically animate them with UIKit. Why not use a Rive file or lottie files? I don't know, but I enjoyed programming each component that moves and jumps in these screens. Forever grateful with Duolingo for giving me this opportunity and especially to the Delight Team. I got to learn so much from everyone of them and realized that they are awesome in everything they do!
