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 enqueue approach 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.