Inspiration

Lucky Charm was inspired by the idea of keeping a small symbol of positivity, protection, and good fortune close to you.

People around the world use different charms and symbols as reminders of hope, tradition, and positive energy. Lucky Charm brings that idea into a digital experience, allowing users to carry meaningful symbols with them on their phones.

What it does

Lucky Charm is a digital collection of lucky and meaningful symbols from different cultures and traditions.

Users can:

  • Explore different lucky charms
  • Select their favorite charm
  • View beautiful animated charms
  • Keep a charm floating over other apps
  • Customize the floating charm position
  • Enjoy gentle animations and interactions
  • Discover the meaning and tradition behind each charm
  • Use the app completely offline for core features

The collection includes charms such as:

  • Nimbu-Mirchi
  • Drishti Bommai
  • Maneki-neko
  • Dreamcatcher
  • Evil Eye
  • Om
  • Murugan Vel
  • Trishula
  • Shiva Lingam
  • Hamsa
  • Crucifix
  • Crescent & Star
  • Temple Bell

How we built it

Lucky Charm was built as a native Android application using modern Android technologies.

Technology Stack

  • Kotlin
  • Jetpack Compose
  • Material 3
  • MVVM Architecture
  • StateFlow
  • DataStore
  • Android Foreground Service
  • Native Android Overlay APIs
  • Google Play Billing
  • Local bundled assets
  • Offline-first architecture

The floating charm feature uses Android's native overlay capabilities, allowing users to keep their selected charm visible while using other applications.

The app stores user preferences locally and uses localized Google Play pricing for the Lifetime Ad-Free purchase.

Challenges We Ran Into

One of the biggest challenges was implementing a reliable floating charm experience while following Android's background execution and overlay restrictions.

Other challenges included:

  • Managing overlay permissions
  • Handling foreground services correctly
  • Supporting different screen sizes and aspect ratios
  • Making the floating charm responsive to touch
  • Maintaining smooth animations
  • Handling permission revocation
  • Managing battery and background limitations
  • Implementing one-time Google Play purchases
  • Supporting localized pricing
  • Creating consistent visual styles across different charms
  • Representing cultural and traditional symbols respectfully

Accomplishments That We're Proud Of

We are proud to have built a complete native Android experience around a simple idea.

Some highlights include:

  • Created a collection of unique digital lucky charms
  • Built animated hanging-style charm experiences
  • Added a floating charm that can remain visible over other apps
  • Added customizable floating positions
  • Built the core experience with an offline-first approach
  • Added a Lifetime Ad-Free purchase
  • Created consistent 3D-style visual assets
  • Combined traditional symbols with a modern mobile experience
  • Built the application using modern Android development practices

What We Learned

Building Lucky Charm helped us learn and experiment with several areas of Android development.

We gained practical experience with:

  • Android overlay APIs
  • Foreground services
  • Jetpack Compose animations
  • State management with StateFlow
  • DataStore persistence
  • Responsive UI design
  • Google Play Billing
  • Localized pricing
  • Android permissions and background restrictions
  • Creating interactive digital experiences
  • Designing culturally inspired visual content respectfully

What's Next for Lucky Charm

The current version is just the beginning.

Future improvements could include:

  • More lucky charms from around the world
  • Additional animation styles
  • Custom charm themes
  • Daily lucky messages and affirmations
  • More floating charm customization
  • Home screen widgets
  • Sound and haptic feedback
  • Charm collections and favorites
  • Accessibility improvements
  • Multiple language support
  • User-requested charms
  • More personalization options

Vision

Our goal is to make Lucky Charm a small, positive digital companion that users can carry with them every day.

Instead of being just another utility, we want the app to provide a simple moment of positivity through meaningful symbols, beautiful animations, and cultural traditions from around the world.

Built With

Share this project:

Updates

Submission history