App to spread happiness
Onni is a mobile app that gives its users daily happiness challenges with the purpose of increasing their wellbeing and doing something good for others.
We want to emphasize:
- Self-care
- Social Connection
- Other Orientedness
Onni was created as a four-person group project at THA Augsburg, where I was primarily responsible for the frontend implementation.
Daily challanges of happiness
Each day, Onni delivers a new, AI-generated micro-task. Small, achievable actions designed to fit into any schedule. Challenges range from simple gestures like smiling at a stranger or giving a compliment, to community-focused acts like boosting the reputation of a favorite local spot.
Frontend and Interface
Native Android Development (Kotlin/XML):
Modular Fragment Architecture: Built with a focus on reusability, using a Fragment-based navigation system for a smooth transition between onboarding, home, and settings.
Dynamic UI Layouts: Designed with ConstraintLayout and custom XML styles to create a responsive, modern interface that adapts to all devices.
Engaging User Feedback: Implemented interactive components and dedicated animation fragments to reward users upon completing their daily challenges.
Backend and Logic
API Integration & Data Processing (OpenAI & OkHttpClient):
Asynchronous API Handling: Used OkHttpClient with a non-blocking
enqueueapproach to fetch AI-generated content without interrupting the user experience.Intelligent Prompting: Engineered requests that retrieve 30 diverse challenges at once, ensuring high variety while minimizing network traffic and API costs.
Automated Verification: Designed a data pipeline that parses JSON responses, validates correctness, and randomly selects the next task for the user in real-time.