Inspiration

Qalamo started from a simple observation: many of us open social media automatically, often before we even know why. A short break can quickly turn into an hour of scrolling.

We wanted to transform that automatic moment into an intentional one. Instead of completely removing distracting apps, Qalamo creates a mindful pause by inviting users to read or listen to a Quran verse before continuing.

The goal is simple: turn screen time into Quran time, one small interruption at a time.

What it does

Qalamo is a Quran-focused app blocker for Android and iOS.

Users can select distracting apps such as Instagram, TikTok, Facebook, YouTube, and other social apps. When they try to open a restricted app, Qalamo presents a Quran verse before allowing access.

Key features include:

  • Theme-based Quran verses tailored to the user's emotional or spiritual state
  • Arabic text, transliteration, translation, and audio recitation
  • A mindful reading flow before unlocking a restricted app
  • Configurable temporary unlock durations
  • Saved verses and bookmarks
  • Reading streaks, milestones, badges, and listening rewards
  • Personalized themes such as peace, hope, patience, gratitude, and guidance
  • Multilingual support
  • Native app-blocking experiences on Android and iOS

Qalamo is designed to make the healthier choice easier without relying on shame or punishment.

How we built it

Qalamo was built with Flutter, with native platform integrations where app restrictions require deeper operating-system access.

The Flutter layer handles the main application experience, including onboarding, Quran reading, themes, bookmarks, audio playback, localization, habit tracking, and the subscription flow.

For Android, we built native Kotlin services using UsageStats and AccessibilityService to detect restricted app launches and route users to Qalamo's mindful reading screen.

For iOS, we integrated FamilyControls and ManagedSettings. We also built Shield Configuration and Shield Action extensions so blocked apps display a custom Qalamo shield and guide the user back into the Quran reading experience.

Quran content is retrieved from the Al Quran Cloud API, including Arabic text, transliteration, translations, and audio recitations. Verses and audio are cached locally, with fallback content available when the network is unavailable.

Reading activity is stored locally and converted into streaks, badges, listening milestones, and source-app statistics. RevenueCat is integrated for the premium subscription and paywall experience.

Challenges we ran into

The most difficult part was building a reliable app-blocking flow across two very different operating systems.

On Android, app interception depends on background services, accessibility permissions, usage access, lifecycle events, and device-specific behavior. We had to carefully handle cold starts, app resumes, stale interception events, and navigation timing so users would consistently land on the correct restricted screen.

On iOS, apps cannot directly control other apps. We had to work within Apple's FamilyControls and ManagedSettings frameworks, which use opaque application tokens and system-managed shield extensions. Connecting the system shield back to the Flutter experience required native Swift code, notifications, deep links, and careful state restoration.

Another challenge was keeping the experience meaningful rather than annoying. The interruption needed to feel calm and purposeful, so we refined the visual language, Quran themes, unlock flow, audio feedback, and reward moments.

Accomplishments that we're proud of

We are proud that Qalamo became more than a visual prototype. It includes a functional cross-platform app-locking flow, native Android and iOS integrations, a complete Quran reading experience, personalized themes, audio recitation, bookmarks, and habit tracking.

We are especially proud of the behavioral loop:

  1. A user tries to open a distracting app.
  2. Qalamo creates a mindful pause.
  3. The user reads or listens to a Quran verse.
  4. The app becomes available for a limited period.
  5. The action contributes to a long-term reading habit.

We also built the product with a strong focus on accessibility and localization, making the experience available to users across multiple languages and cultural contexts.

What we learned

We learned that building a behavior-change product is not only a technical challenge. Every interaction needs to respect the user's intention and attention.

We also learned how different mobile platforms expose very different capabilities for app restrictions. Flutter allowed us to move quickly on the product experience, while native Kotlin and Swift code were essential for reliable system-level behavior.

Finally, we learned the importance of graceful failure. Permissions can be denied, services can be interrupted, and networks can disappear. A trustworthy app needs clear explanations, local caching, fallback content, and recovery paths for each of these situations.

What's next for Qalamo: Quran App Blocker

Next, we want to test Qalamo with more users and learn which moments, themes, and reading durations create the most meaningful experience.

Our next priorities are:

  • Improving app interception reliability across more Android devices
  • Expanding Quran content, translations, and reciters
  • Adding richer reflection and journaling features
  • Introducing family and accountability experiences
  • Improving habit insights without creating another addictive dashboard
  • Completing production hardening for App Store and Google Play distribution
  • Continuing to refine the premium experience with RevenueCat

Qalamo's long-term vision is to help people build a healthier relationship with their phones by making space for reflection, focus, and the Quran.

Built With

  • accessibilityservice
  • al
  • android
  • api
  • app
  • blocker
  • cloud
  • dart
  • digital
  • familycontrols
  • flutter
  • gamification
  • habit
  • ios
  • islamic
  • kotlin
  • managedsettings
  • mobile
  • quran
  • rest
  • revenuecat
  • swift
  • tracking
  • usagestats
  • wellbeing
Share this project:

Updates

Submission history