Inspiration
Traditional Gregorian calendars are mathematically chaotic: months fluctuate between 28 and 31 days, and weekdays shift randomly every month. This creates friction for consistent habit formation, quarterly retrospectives, and predictable time-blocking.
We engineered Calender28 (Matrix 28) around a fixed 28-day cyclical system (13 equal months of exactly 4 clean weeks). We paired this predictable time architecture with an automated Eisenhower prioritization engine, connected Markdown knowledge graphs, and local-first data persistence.
What It Does
- 28-Day Cyclical Calendar: Standardizes time into 13 equal months of 28 days, ensuring every month starts on Sunday and ends on Saturday.
- Automated Eisenhower Conflict Resolver: Organizes scheduled items into four urgency/importance quadrants. The scheduling engine detects overlapping blocks in real time and automatically calculates free buffer slots.
- Bi-directional Knowledge Graph: Personal notes written in standard Markdown with
[[wiki-links]]rendered dynamically on an interactive force-directed canvas. - 28-Day Habit Cycles & Sparky Companion: A digital companion that tracks habit completion, evaluates daily focus sessions, and evolves through 28-day cycles.
- Dual Monetization (RevenueCat & AdMob): Seamless monthly and annual Pro subscription tiers powered by the RevenueCat SDK, alongside an in-app CalCoin economy earned through two-step rewarded ad combos.
- Android Glance Widgets: Interactive home screen surfaces providing live cycle countdowns and real-time task agendas.
How We Built It
Calender28 is built 100% natively for Android:
- UI & Architecture: Jetpack Compose, Material 3, Clean Architecture (MVVM/MVI), Kotlin Coroutines, and reactive
StateFlow. - Database & Persistence: Room SQLite for local-first, zero-latency offline storage.
- Subscription Infrastructure: Integrated the RevenueCat Android SDK (
Purchases) and RevenueCat Customer Center to handle Monthly and Yearly Pro subscription tiers, client-side entitlement state, and offline receipt validation. - Ad Monetization: Google Mobile Ads SDK for rewarded video combos and interstitial placements.
- Widgets: Jetpack Glance for reactive home-screen surfaces.
How RevenueCat Is Integrated
Calender28 uses the RevenueCat Android SDK to gate advanced power-user workflows:
- Entitlement Management: Gating features such as raw Markdown (
.md) note export and full ICS calendar sync behind active Pro subscriptions. - Customer Center: Instant subscription restoration, plan management, and live entitlement state reflection directly inside the app settings.
- Zero Backend Overhead: Handled entirely client-side with RevenueCat's cached entitlement verification, keeping the app fast and local-first.
Challenges We Ran Into
- Building a deterministic conversion engine between standard Gregorian dates and the fixed 13-month, 28-day cyclical system without breaking standard
.icscalendar imports. - Implementing a physics-based, interactive force-directed graph canvas in pure Jetpack Compose that maintains 60 FPS while handling node collisions and drag gestures.
- Coordinating client-side entitlement state between RevenueCat subscription purchases and local in-app CalCoin economy rewards.
Accomplishments That We're Proud Of
- Shipping a fully functional, offline-first productivity suite with zero external backend dependencies.
- Creating a dynamic bi-directional graph visualization entirely within Jetpack Compose.
- Implementing full RevenueCat purchase, restore, and entitlement verification flows on Android.
What's Next for Calender28
- Bi-directional CalDAV synchronization to connect with self-hosted cloud calendars.
- Encrypted peer-to-peer note synchronization across devices.
- Advanced habit analytics and custom graph filtering queries.
Log in or sign up for Devpost to join the conversation.