Back to selected work

Personal project · Android prototype

Miss-Compete

Product concept & Android prototyping

A personal mobile-product concept exploring how one focused experience could make competition opportunities easier for students to find and organizers to manage.

01Challenge

Good opportunities are easy to miss.

Competition information in a college can move slowly or inconsistently between departments and clubs. An announcement may arrive through a poster, social post, or group chat, then disappear before the students most likely to benefit from it ever see it.

Miss-Compete explores a central mobile experience where students can browse relevant opportunities and organizers can prepare competition postings through one simpler workflow.

02Implemented prototype

Validate the local experience first.

The current codebase is a substantial single-device Android prototype. It uses seeded demonstration records and local persistence to validate screens and data flows before a shared backend is introduced.

  • Competition discovery with search, category, course, scope, free-entry, and closing-soon controls.
  • A local rule-based For You feed using course and category preferences.
  • Persistent bookmarks and an editable student profile.
  • Organizer create, edit, delete, preview, and status-management flows stored locally.
  • An in-app notification center and simulated alert interactions.
03Architecture

Compose UI over reactive local data.

A single-activity Jetpack Compose application renders four main areas—Discover, For You, Bookmarks, and Organizer—with dialogs and sheets for details, profiles, posts, and notifications.

A ViewModel coordinates filtering and UI state through StateFlow. A repository and Room DAO persist competitions, bookmarks, profile settings, organizer submissions, and in-app notifications, while coroutines keep database work off the interface thread.

04Product direction

The platform vision comes next.

The intended next phase is a shared backend where verified organizers can publish opportunities once and students receive course-relevant updates across devices. That would require authentication, remote storage, moderation, and Firebase Cloud Messaging or an equivalent push service.

Those connected capabilities are product direction, not completed features. The current prototype proves the local interaction model and gives the backend work a clearer target.

05Learning

Separate product promise from implementation state.

This project taught me to distinguish a compelling product story from what the current system can actually guarantee. A polished interface can demonstrate discovery and organizer workflows, but real distribution needs identity, synchronization, delivery guarantees, and operational ownership behind it.

The case study therefore presents Miss-Compete as a high-fidelity Android proof of concept—not as a deployed multi-user platform or a working push-notification service.