Campaign Cookbook
6/7 done
▸
The Campaign Cauldron
0/6 done
▸
Character Maker
7/7 done
▸
NotePassing
20/21 done
▸
-
iPad polish: keyboard shortcuts, Stage Manager, Pencil scribble
Todo
-
RevenueCat billing
Done
-
Sign in with Apple + Google
Done
-
QR code for downloading the app
Done
-
Verify migrations against a real Supabase project
Done
-
Numbered lists need real ordinals
Done
-
Presence cursors
Done
-
Group deletion purge job
Done
-
E2EE: wire the key layer into signup, group creation and open
Done
-
E2EE: seal note content and drop the plaintext columns
Done
-
E2EE: rotate the group key when a member is removed
Done
-
Compaction has never run in production
Done
-
Attachments: schema exists, no UI
Done
-
Push notifications: schema exists, no client
Done
-
Analytics: taxonomy written, nothing instrumented
Done
-
Search across notes and groups
Done
-
Nested notes
Done
-
@mentions
Done
-
Notification preferences: edits, mentions, or neither
Done
-
Note templates
Done
-
Apply the brand: palette, typography, app icon
Done
Recipe Reception
13/30 done
▸
Home Rhythm
76/97 done
▸
-
Reminders have never been tested on physical hardware
Todo
-
iOS widgets: WidgetKit extension and App Group
Todo
-
Versioning and tags were never set up, so release.yml has never run
Todo
-
Attachments are images only, but v1.5 is called "Documents & photos"
Todo
-
v1.3 promised to add profile-specific tasks; only suppression was built
Todo
-
Done/Snooze from the notification shade leaves the widgets stale
Todo
-
The backdating anchor can be forged through a backup
Todo
-
Keep the toolchain current on purpose, not by accident
Todo
-
Notification controls: off switch, holiday pause, per-task mute
Todo
-
Household visibility without sync: .ics schedule export and share Up Next
Todo
-
Order filters: a disclosed, switchable affiliate link on filter reminders
Todo
-
On-device capture: read nameplates and invoices into records
Todo
-
Open export for other tools, and an honest import from old records
Todo
-
Recall watch: match CPSC recalls against equipment on the device
Todo
-
App Intents and AppFunctions, so assistants can read the record
Todo
-
Household sharing and multiple homes: decide after launch, on evidence
Todo
-
iOS: Don't Allow at the notification prompt leaves the app stuck on its launch screen
Todo
-
In-app purchases are not wired up — "Unlock Pro" grants Pro without charging
Todo
Blocked
-
Release signing not configured — release.yml skips both jobs
Todo
Blocked
-
Store listings: App Store and Google Play
Todo
Blocked
-
CI cannot run — GitHub Actions blocked by account billing
Todo
Blocked
-
Ads are a placeholder — no ad SDK is installed
Done
-
No app icon or splash screen — still Flutter defaults
Done
-
No test suite
Done
-
Iconography: Material outlined stands in for the mockup's geometric marks
Done
-
Tag pills use a lilac outside the navy/cream/brass palette
Done
-
Bulk rescheduling fires a burst of notifications at once
Done
-
Deleting a tag crashes in the first session after install
Done
-
Schema versioning and an ordered migration runner
Done
-
Add a ServiceRecord model
Done
-
Give MaintenanceTask an append-only history
Done
-
markComplete should append a record instead of overwriting notes
Done
-
Migration v1 to v2: seed a record from the existing lastCompleted
Done
-
Service history section on the task detail screen
Done
-
Attach a task id payload to scheduled reminders
Done
-
Handle notification responses, foreground and background
Done
-
Route a tapped reminder to its task
Done
-
Route correctly on a cold start from a notification
Done
-
Notification action buttons: Done and Snooze
Done
-
Snooze moves the due date without recording a completion
Done
-
Add a Vendor model and VendorService
Done
-
Link a vendor to a task and to its service records
Done
-
Vendor book screen
Done
-
Deleting a vendor must not leave dangling references
Done
-
Call, text and email a vendor from a task
Done
-
Schedule a visit: write a calendar event and move the due date
Done
-
Call action button on reminders for tasks with a vendor
Done
-
Prompt to log what happened after a scheduled visit
Done
-
Add a supplies checklist to tasks
Done
-
Reset supplies on completion but keep the item names
Done
-
Aggregated shopping list across everything coming due
Done
-
Export a versioned backup bundle
Done
-
Optional passphrase encryption for backups
Done
-
Restore a backup, replacing local data
Done
-
Plan gates for vendors and the shopping list
Done
-
Add a HomeProfile model
Done
-
Tag the seeded library with applicability metadata
Done
-
Onboarding flow that tailors the seeded list
Done
-
Tailor my tasks panel for existing users
Done
-
Add an Equipment model and EquipmentService
Done
-
Link equipment to tasks
Done
-
Warranty expiry reminders on their own channel
Done
-
Equipment detail with linked tasks and combined history
Done
-
Pro gate for the equipment registry
Done
-
Adopt drift and define the schema
Done
-
Migrate off the SharedPreferences blobs
Done
-
Store attachments as files on disk
Done
-
Photo capture and import with downscaling
Done
-
Attach photos to records, equipment and projects
Done
-
Generate the Home Report PDF
Done
-
Report contents and sections
Done
-
Report options: date range and cost visibility
Done
-
Free preview, Pro export
Done
-
Aggregate costs by year and category
Done
-
Split planned from unplanned spend
Done
-
Draw the cost charts with CustomPainter
Done
-
Headline cost figure on the dashboard
Done
-
Service records can be backdated to any date, so the history proves nothing
Done
-
Publish a widget snapshot the native side can render without Flutter
Done
-
Android widget: Up Next
Done
-
Android widget: Project Budget
Done
-
Widget taps route to the right screen, including from cold start
Done
-
Restoring a backup permanently destroys every photo
Done
-
A service record never records who did the work
Done
-
Equipment's linked vendor can never be set
Done
-
The Home Report lists vendors that never touched the house
Done
-
iOS: the app would crash on first photo, and cannot be built here
Done
-
The 3-project free limit has no test
Done
-
The widget snapshot's privacy comment is not true of the project widget
Done
-
Three small truth gaps: dead PlanLimits flag, stale About version, fictional SDK floor
Done
-
flutter_local_notifications is five majors behind, on the one feature never tested on hardware
Done
-
The app has no tablet layout: prose runs the full 2560px
Done
-
iOS: tapping Done or Snooze on a reminder crashes the app
Done
-
iOS deep links need FlutterDeepLinkingEnabled=false, or routing breaks
Done
-
Booking a calendar event reports failure whenever the user cancels
Done
-
Reprice Pro to $29.99 once, and redraw the free tier as feature walls
Done
-
Backups carry photos, so a new phone gets the whole record
Done
-
Blocking: ConScribeGlassDeckGameShelf
-
Blocking: GlassDeckGameShelf
-
Blocking: ConScribeGameShelf
-
Blocking: Campaign CookbookThe Campaign Cauldron
-
Blocking: Sunderwake