Inspiration
The best time to remember a task is when you’re at the place where you can do it. Inspired by those “I only remember my grocery list at the store entrance” moments, HereDo organizes tasks around places so intent turns smoothly into action.
What it does
- Organizes tasks by place (home, office, gym, grocery, etc.).
- Keeps a concise list of relevant places based on your current context and movement.
- Lets you export saved locations to maps and jump straight into turn‑by‑turn directions (native or third‑party map apps).
- Syncs across your devices via iCloud CloudKit—without sending data to any external servers. ## How we built it
- SwiftUI for a clean, lightweight interface and state management.
- Core Location for coordinates and distance calculations (meters) to relate you to places.
- SwiftData for local storage of places and tasks.
- CloudKit (Private Database) for encrypted, per‑Apple‑ID device‑to‑device sync—no custom servers, no third‑party access.
- BackgroundTasks to keep nearby place candidates fresh even when the app isn’t open.
- All core logic runs on‑device. ## Challenges we ran into
- Balancing the number of nearby place candidates to match real‑world movement.
- Tuning radius settings and distance perception for accuracy that feels right.
- Designing onboarding so it’s immediately useful with minimal setup.
- Making directions handoff to map apps simple and consistent.
- Handling CloudKit merge conflicts and offline reconciliation gracefully. ## Accomplishments that we're proud of
- Privacy by design: All core logic runs on‑device; no developer‑run or third‑party servers. Sync is through iCloud CloudKit (Private Database) tied to the user’s Apple ID.
- Seamless directions handoff: Saved locations can be exported to maps and opened directly for turn‑by‑turn navigation in native or third‑party apps.
- Efficient location handling: Lightweight distance checks with a small, relevant candidate set—designed to feel responsive while conserving battery.
- Solid background behavior: Uses iOS BackgroundTasks responsibly to keep nearby places fresh without requiring the app to be open.
- Future‑proof monetization: RevenueCat integration groundwork laid for premium features while keeping the core experience simple.
- User‑centric UX: Focused on place‑first organization and a simple flow that’s useful from first run, with minimal setup. ## What we learned
- “Where” often drives action better than “when.”
- Thinking in places naturally groups tasks by context (home/work/store).
- For sync, privacy and trust matter most; CloudKit’s private database strikes a practical balance. ## What's next for hereDo
- Define a dedicated export format: Create a compact, app‑specific schema to export and re‑import saved places and tasks reliably across devices and versions.
- Support standard formats: Add export to common formats (e.g., KML/GPX/JSON) so data can be used with other tools and map apps.
- Build a sharing community: Enable privacy‑respecting sharing of place/task bundles (e.g., curated store lists, campus checklists), with simple import flows and basic moderation/versioning.
Built With
- backgroundtasks
- cloudkit-(private-db)
- combine
- core-location
- ios
- mapkit
- swift
- swiftdata
- swiftui
Log in or sign up for Devpost to join the conversation.