Free forever: 5 resume reviews + 10 AI actions every month. Claim your free spot →
ReachRole

iOS project

Build an offline task app with correctly scheduled local notifications

A to-do app persisted with SwiftData, where deleting or editing a task correctly cancels and reschedules its notification — the actual edge case that breaks junior submissions.

9-12 hoursEstimated time
IntermediateDifficulty
5Graded criteria
RepoWhat you submit

The brief

Build a task/to-do app using SwiftData (or CoreData) for full offline persistence: create, edit, delete, and complete tasks, with due dates and local notifications. Data must survive app relaunch, and editing or deleting a task must correctly reschedule or cancel its associated notification.

Suggested stack

Swift SwiftUI SwiftData or CoreData UserNotifications framework

What you hand in

  • A public GitHub repository with the app and a README
  • The README explains the notification scheduling/cancellation logic
  • A short note describing how persistence across relaunch and notification cancellation on delete were tested

Grading happens against the rubric below, so read it before you start — not after.

How this is graded

Published in advance and weighted out of 100. Nothing here is a surprise.

Persistence correctness 30 pts

Data survives an app relaunch with no loss, and edits are actually committed to the persistent store, not just held in memory.

Notification scheduling correctness 25 pts

Notifications fire at the correct time, and editing a due date reschedules the existing notification rather than leaving a stale one active.

CRUD completeness 20 pts

Create, edit, delete, and complete all work, and deleting a task with a pending notification cancels that notification.

Data model design 15 pts

The SwiftData model is sensible and not overloaded with unrelated responsibilities.

Finish 10 pts

No console errors or crashes, no broken layout, no leftover placeholder text or commented-out code.

Why this project is worth your weekend

  • Local persistence plus notifications is a genuinely common real feature set (reminders, task apps, habit apps), and the scheduling edge cases are where junior submissions usually break.
  • Deleting a task should also cancel its notification, and this is an easy thing for an interviewer to check live.
  • SwiftData is Apple's current direction, so building with it signals the candidate isn't stuck on an older CoreData-only mental model.

Where people lose points

  • A local notification that still fires after its task was deleted or completed, because the notification wasn't cancelled.
  • Editing a task's due date without rescheduling its existing notification, so the old time still fires.
  • Data loss on relaunch because changes were only held in memory and never actually saved to the persistent store.

Built it? Get it scored against this rubric.

Submit your work and get a score on every criterion above, written feedback, and three resume bullets you can use straight away.

Submit for grading Free to start. Grading uses one AI action.