Inspiration
Reminders are broken. They're the most used productivity tool on any smartphone, yet they fail us at the most critical moments—not because they lack features, but because they lack care. Apple Reminders won't sync reliably with Google Tasks. Notifications offer "Snooze" or "Complete" with no middle ground. Recurring rules break when you switch ecosystems. And nowhere—nowhere—does a reminder system feel like it actually understands you.
We built Anchor because productivity shouldn't feel like punishment. The best tools aren't the ones with the most features; they're the ones you forget you're using because they just work. We wanted to create something that disappears into your day, catches what you'd otherwise drop, and nudges you forward—not with anxiety, but with quiet confidence.
Sam's community taught us that power users don't want more complexity. They want elegance. They want a system that bends to their life, not the other way around. So we built Anchor: a reminder system that feels less like a taskmaster and more like a calm, capable assistant who actually remembers what you said.
What it does
Anchor is a cross-platform "power reminders" system wrapped in a life dashboard that makes you feel in control, cared for, and calm.
At its core: Beautiful, reliable reminders that never lose state when you switch devices. True sync means dismiss it on iPad, it clears on iPhone. Snooze it on desktop, it updates everywhere. Recurring rules that actually work—every 3 days but skip weekends, the 2nd Tuesday of every month, "last day of month" without you needing a computer science degree.
Beyond its core: Anchor becomes your day companion. Not through overwhelming dashboards, but through contextual intelligence that quietly improves your reminders:
- Smart Time Suggestions: When you create "Pick up dry cleaning," Anchor scans your calendar, checks your habits, and offers three optimal times—including one right before your next trip past that strip mall.
- Weather-Aware Nudges: Rain forecasted at 5pm? Your 4:30 "Leave work" reminder quietly adds "Grab umbrella."
- Dynamic Location Triggers: "Remind me when I'm near any supermarket"—not just the one you pinned three years ago.
- Voice-First Creation: "Remind me to water plants every 3 days at 6pm" parses instantly, tags it "Home," and offers a plant care template in one tap.
- Auto-Categorization: Incoming reminders are silently tagged (Work, Personal, Errands). Wrong tag? Correct it once, and Anchor learns.
Then, the life dashboard: Optional, hideable, but there when you want it. A Today view that shows your timeline with soft weather/traffic context. An Insights tab where AI doesn't just graph your productivity—it talks to you: "Your completion rate improves when reminders are due 30–90 minutes before meetings. Want to adjust?" A Me tab with micro-tools (pomodoro, water tracker, pedometer) that live in the background, never cluttering your flow.
And finally, the human layer: Shared reminders with actual roles—owner, editor, viewer. Family mode for grocery lists and chore rotations. Template communities where you can import someone else's "Moving Apartment" checklist in one tap. Gentle nudges for critical medication reminders, only with explicit consent.
Anchor does all this while staying fast. Sub-200ms transitions. Haptics that feel earned. Lottie animations that celebrate completion without making you wait. It's feature-rich but never feature-heavy.
How we built it
Tech stack: React Native + Expo, with RevenueCat for subscriptions. We chose this not because it was trendy, but because it let us move fast while keeping cross-platform parity non-negotiable.
Sync architecture: Event-sourcing with local-first writes. Every action—create, edit, complete, dismiss, snooze—is an event stored locally and synced asynchronously. Conflict resolution uses field-level last-write-wins with special rules for completions (a completed task stays completed). This means you can be on a plane, manage your entire day, and everything reconciles perfectly when you're back online.
Recurring engine: We built our own recurrence library. iCal RRULE is powerful but user-hostile. We wanted "every 3 days but skip if completed late" to be a checkbox, not a regex. The engine stores recurrence patterns as structured data, computes next due dates on-device, and handles edge cases (leap years, timezone shifts, "what does 'last day of month' mean in February?") without ever phoning home.
AI layer: Hybrid approach. Natural language parsing runs through on-device heuristics + lightweight models for common patterns; complex parsing falls back to cloud LLMs (Gemini/Groq) with strict data minimization—we send only the raw text, nothing else. Smart time suggestions combine local calendar analysis (on-device), historical completion patterns (local), and optional traffic APIs. All AI features are opt-in, with clear toggles and "Why am I seeing this?" explanations baked into the UI.
Location triggers: Battery-optimized geofencing using Significant Location Changes + region monitoring. For "near any supermarket," we use Apple/Google Places API with minimal radius polling. Bluetooth/NFC triggers use native modules with clean fallbacks.
Calendar integration: Read-only initially, using CalendarProvider APIs. We don't write to your calendar—Anchor respects boundaries.
Design system: Custom component library built with Reanimated 2 and React Native Gesture Handler. Every animation serves a purpose: 150ms fade transitions, 200ms spring for completion states, haptics mapped to impactHeavy for milestones and selection for routine completions. Lottie only for onboarding, subscription success, and streak milestones—never for core interactions.
Challenges we ran into
True sync is a liar's promise. Every reminder app says it, few deliver. The challenge isn't technical—it's semantic. If I snooze a reminder on my watch for "15 minutes," then open my phone 10 minutes later, what should I see? The original time? The snoozed time? Both? We went through four conflict resolution models before landing on "snooze is an edit to due date, with a traceable original." It's subtle, but it's the difference between a system you trust and one you don't.
Recurring rules are infinite edge cases. "Every 3 days" seems simple until someone creates it on January 31st, completes it late, and expects the next instance on February 3rd—but February has 28 days. Also timezone changes. Also daylight saving. Also "skip weekends" on a Friday means the next instance Monday, unless it's a holiday, unless the user has a custom work week. We shipped recurrence V1 in two weeks; we've spent two months on recurrence V2 and still find edge cases weekly.
Performance under reminder load. Our beta testers included people with 5,000+ active reminders (mostly "daily standup" from 2018 they never deleted). The Today view would stutter. The sync queue would back up. We had to redesign our entire list rendering strategy, implement windowing, and move recurring computation to background threads. The lesson: "edge cases" with reminders are actually the power users you most want to keep.
AI that doesn't feel creepy. Predictive reminders are useful; predictive reminders that say "I noticed you visit the pharmacy every Tuesday" feel invasive. We built privacy toggles before we built the AI itself. Every predictive feature has a "Never suggest this category again" button. Every insight includes "This stays on your device." We threw away two AI features in development because we couldn't make them feel respectful.
Designing for calm in a feature-rich app. The hardest challenge wasn't building features—it was removing them. At one point Anchor had a "Mood Check-in" before morning reminders. Another build included a social feed of completed tasks. Both were technically impressive. Both made users anxious. We cut ruthlessly, guided by Sam's community: "Does this make me feel in control or just busy?" If it wasn't a clear "in control," it went to the backlog graveyard.
Accomplishments that we're proud of
The sync actually works. We can say this now: switch from Android to iPhone, install Anchor, sign in, and every reminder, every completion, every snooze history is exactly where you left it. No "merge conflicts." No duplicate tasks. This took five months and two complete rewrites. It works. We're proud.
Recurring rules that non-developers understand. The "Nth weekday of month" picker is a single wheel selector: "2nd Tuesday." The "every X days but skip if completed late" is a toggle with a tooltip. Our 75-year-old beta tester set up her medication schedule in 90 seconds. That's the win.
AI that assists, not annoys. The Smart Time Suggestions feature has a 43% acceptance rate in beta. That's not because the AI is brilliant—it's because we show three options, never one, and always include the manual picker right below. It feels like help, not automation.
Weather-aware reminders that aren't gimmicks. When it rained in Seattle last week, users with "Evening walk" reminders got a soft "Rain expected—maybe move indoors?" nudge. Not "UMBRELLA!!!" Not an alert. Just a quiet suggestion. One user emailed: "My phone usually stresses me out. Today it made me feel taken care of." That's the entire product thesis in one sentence.
The Today view. It's just a list of what's due. But the typography is generous, the spacing is intentional, and when you complete a task, there's a tiny haptic tick and the text fades gently—not instantly, not with fanfare, just with acknowledgment. Users report completing tasks just to feel the haptic. We'll take it.
RevenueCat implementation. Our paywall doesn't feel like a paywall. Free users get genuine value—basic reminders work perfectly, forever. Pro features are presented as "what power users need," not "what we've locked away." Conversion rates are strong, but more importantly, we haven't received a single angry review about pricing. That's the real metric.
What we learned
"Simple" is a design achievement, not a starting point. Our first prototype had 47 settings toggles. We thought power users wanted control. They wanted confidence. We learned to replace "Settings" with "Preferences," replace switches with sensible defaults, and trust that users will find advanced features when they need them. They always do.
True cross-platform means embracing constraints. We can't use iOS-only haptic patterns. We can't assume iCloud availability. We can't rely on Siri shortcuts. This forced us to build our own idioms—and Anchor is better for it. It doesn't feel like an iOS app ported to Android or vice versa. It feels like Anchor.
AI features require an undo button more than a "wow" button. When we added auto-categorization, we also added a one-tap "Actually, this is Work" correction that learns user preferences. The correction gets used 3x more than the auto-tag itself. Users want to feel like they're teaching the system, not being taught by it.
Reminders are emotional. We thought we were building productivity software. We're actually building an anxiety management tool. People set reminders because they're afraid of forgetting. They complete reminders because they're afraid of falling behind. Every design decision—the calm colors, the generous tap targets, the "you're all caught up" message when the list empties—is a small intervention against that fear. We didn't expect to become mental health adjacent. But here we are.
Sam's community knows what they want. We posted early mockups expecting feedback on features. Instead we got feedback on feelings: "This font makes me feel rushed." "The green completion color is too aggressive." "I don't want to see my productivity score, I want to see that I remembered my mom's birthday." We learned to interview for emotion, not functionality.
What's next for Anchor
Short term (next 3 months):
- Conditional reminders: "If Task A is done, remind me of Task B in 15 minutes." Our power users have been asking for IFTTT-style task chaining. We're building a simple visual builder—no code, just drag and drop.
- End-to-end encryption for shared lists: Family grocery lists shouldn't be visible to anyone with database access. We're implementing E2EE for shared reminders, with a local-only mode as the default.
- Bluetooth/NFC triggers: Car Bluetooth connect → "Drive mode" reminder stack. NFC tag on nightstand → "Evening routine" pack. Hardware people exist; we're building for them.
- More template community features: Upvoted templates, verified creator badges, import analytics ("This template has been used 5,000 times").
Medium term (3–9 months):
- Calendar write-back: Opt-in, permission-gated. Complete a reminder, it checks off your calendar event. Create a reminder from a calendar block, it inherits the invitees. Calendar as source of truth, Anchor as the execution layer.
- Family/household mode expansion: Chore rotation schedules, allowance tracking, shared bill reminders with split history. The "family operating system" we always wanted.
- Local-first advanced: Full offline archive, encrypted local backups, no-cloud-required operation for privacy-focused users. Sync becomes optional; Anchor becomes your personal database.
- Android Wear & WatchOS apps: Complications, watch faces, the whole experience. Reminders are most useful when they're glanceable.
Long term (2025+):
- Anchor for Teams: Shared project templates, role-based permissions, completion logs. We think there's a Slack/Discord integration that turns "Who did what?" into a solved problem.
- AI coaching, not just insights: Not "Here's your procrastination pattern." Instead: "You focus best between 9-11am. I've scheduled your creative reminders there. Want to block this time?" Proactive, not diagnostic.
- Open recurrence standard: We've built a recurrence engine that actually makes sense. We'd like to open-source the spec, let other apps import/export Anchor recurrence rules. Reminders shouldn't be a moat.
- Sustainability mode: Carbon-aware scheduling. "This reminder can wait until solar generation peaks." Users haven't asked for this. But the planet can't ask either.
Anchor is launching in beta next month. If you're tired of reminder apps that forget what "remind" means, we're building for you.
Available on iOS and Android. Sync included. Anxiety not included.
Built With
- android
- expo.io
- groq
- ios
- javascript
- lotti
- react
- react-native
- revenue-cat
- supabase
- typescript
Log in or sign up for Devpost to join the conversation.