Pro overkill · indie Mac app Reduced visual set Wave 1/2 · cluster 4 PRD v1.0 · May 2026

Calendar Widget for Mac
— menu bar & Notification Center

Native macOS menu-bar + Notification Center calendar widget showing three months simultaneously, with event integration from Apple Calendar.app. Free in the Mac App Store, $4.99 one-time Pro upgrade. NOT a Hatchstacks Pro deployment — see §02 for why. Strategic value is portfolio breadth, Mac native dev reps, and modest passive income.

MVP timeline
2 weeks
Swift + SwiftUI to App Store
Pro upgrade
$4.99 once
Not subscription · StoreKit IAP
Downloads · 6mo
25k+
App Store + Setapp combined
Revenue · Y1
$2,500 – $5k
$2.5k IAP + Setapp passive
Read §02 first if you're a Build Lead. The PRD explicitly flags this as not a Hatchstacks Pro deployment. There is no per-customer Mac mini. There is no agent fleet. There is no backend. This is a single-developer indie Mac app pattern. Apply discipline, not infrastructure.
02Discipline vs Pro tierWhat we use · what we don't

The most important table in this dashboard. The Pro tier infrastructure does NOT apply to this project — there's no client to serve. But Hatchstacks-aligned discipline (Notion, 1Password, Tailnet, Cursor) still applies. Don't try to fit Pro tier patterns onto a Mac App Store utility.

🔴 Pro tier infrastructure · NOT used
🟢 Hatchstacks-aligned discipline · USED
Per-client Mac mini. No clients to serve. Each user runs the app on their own Mac.
Notion for PRD, project tracking, this dashboard, marketing site copy.
5-agent fleet (CEO/CTO/Engineer/QA/Marketer). One developer + Cursor is enough.
1Password for Apple Developer signing keys, App Store Connect credentials, Setapp partner login.
OpenClaw + Paperclip runtime. No agent fleet to run on. No risk policy needed for a calendar widget.
Tailnet for source repo access if private (otherwise GitHub).
4-channel client contact model. No clients. Users contact us via App Store reviews or email.
Cursor or Claude Code for development, following the Hatchstacks Build Guide patterns for model-bound LLM usage.
Off-boarding ownership transfer. Nothing to transfer. Users don't get a Mac mini.
Git history as the audit log. Standard indie dev practice.
Per-customer billing isolation. StoreKit handles all transactions through Apple.
Sentry for crash reporting (opt-in only). Plausible for marketing site analytics (privacy-friendly).
Why this matters. Build Leads coming from 🟢 projects (Cold Outbound, Website Landlord) will default to provisioning a Mac mini and configuring agents. Don't. The two-week MVP timeline only works if you stay in the indie-dev lane: Xcode, Swift, App Store Connect. Pro tier infrastructure would add weeks for zero customer benefit.
03Distribution architectureNOT a Hatchstacks agent fleet

App Store as primary distribution. Setapp as secondary recurring revenue (Mac subscription bundle, ~250k subscribers). StoreKit handles all $4.99 IAP transactions. Everything runs on the user's own Mac — no backend.

BUILD SIDE · ONE DEVELOPER Xcode + Swift SwiftUI · MenuBarExtra · WidgetKit Cursor / Claude Code Hatchstacks Build Guide patterns Apple Developer Program $99/yr · signing + notarization App Store Connect Build submission · review · release Source repo · 1Password vault · Tailnet · Notion PRD DISTRIBUTION · USERS PAY APPLE / SETAPP Mac App Store Primary · free + $4.99 IAP Setapp Secondary · subscription revenue share StoreKit IAP In-app Pro upgrade ($4.99) Direct DMG (optional) Lemon Squeezy / Stripe Marketing site (Astro / Vercel) · 1 page · Plausible analytics build → submit → review → live USER'S MAC · WHERE THE APP RUNS · NO BACKEND User's Mac macOS 13 (Ventura)+ App runs entirely on-device <30 MB RAM · <0.5% CPU idle MENU BAR Persistent icon Click → 3-month dropdown Arrow keys navigate Click date → Calendar.app WIDGET (WIDGETKIT) Notification Center Small · Medium · Large Tap → opens menu bar EVENTKIT Calendar.app read-only Event dots on dates Color-coded to source cal Permission opt-in STOREKIT Pro upgrade IAP $4.99 one-time Receipt on-device only Privacy posture: no data leaves the user's device. No analytics tracked without consent. Sentry crash reports are opt-in.
04Free vs Pro

The $4.99 Pro upgrade is a one-time IAP, not a subscription. Pro is for users who care about aesthetics and personalization. Free is fully functional as a menu-bar calendar — the upgrade is convenience and polish, not gating core utility.

Feature
Free
Pro · $4.99
Menu-bar 3-month dropdown
Arrow / scroll navigation
Click date → opens Calendar.app
Notification Center widget (S/M/L)
EventKit · event dots on dates
Basic theming (system light/dark)
Theme presets · Solarized · Nord · Dracula · custom
Font customization · system / SF Mono / user-selected
Week start day (Sun / Mon)
Holiday calendar overlay · US · UK · JP
Mini event preview on date hover
05Phase timeline12 weeks to sustainable

Ship the MVP in 2 weeks. Add EventKit + Pro tier in weeks 2–6. Distribution push (Product Hunt + Reddit + Setapp) in weeks 6–12. Iterate months 4–6 toward 25k+ downloads.

W1W2W6W12M6 PHASE 1MVP shipped to App Store PHASE 2EventKit + Pro tier + Setapp app PHASE 3Distribution push · PH · Reddit · MPU PHASE 4Iterate · 25k+ DLs DOWNLOADS First 100 1k organic 5k after PH + community 25k+ total PRO CONVERSIONS 20 ($100) 100 ($500) 500 ($2.5k) SETAPP Setapp live · $200–$2k/mo passive App Store live Pro tier · Setapp submitted 5k DLs · PH launch 25k+ DLs · sustainable
06Risk heatmap

Five risks. R4 (tiny revenue ceiling) is High/High and intentional — this is a portfolio play, not a primary revenue stream. Manage time investment accordingly. R1 (Apple sherlocks the feature) is always lurking for Mac utilities.

Low
Medium
High
Critical
High
R1
R4
Medium
R2
R5
Low
R3
— Likelihood →
Risk register
R1Apple sherlocks the featureDifferentiate on customization + speed · accept that one OS update could end this
R2Mac App Store rejectionFollow guidelines · sandbox + entitlements clean · notarized
R3Setapp rejectionSubmit clean v1.0 · resubmit on reject
R4Tiny revenue ceiling overallPortfolio play · expected <$5k/yr passive · manage time investment
R5EventKit permission UX scares usersClear privacy messaging · permission requested only when event-dots feature first enabled
07Cross-project map

Paired with Simple Odds Calculator as the two 🔴 indie apps in the portfolio. Together they build the indie-distribution playbook and Mac native dev reps. No shared infrastructure — only shared discipline.

THIS PROJECTCalendar Widget 🔴 SIBLING INDIESimple Odds CalculatorSame distribution playbook SHARED DISCIPLINEIndie pattern FUTUREMore Mac appsReps transfer · Watch/iOS port PORTFOLIO BREADTHAll other 🟢🟡 projectsNo direct sharing · case studies only Black dashed bold = shared indie discipline. Dotted = future / portfolio breadth only.
Shared with Odds Calculator (the other 🔴): App Store distribution playbook · StoreKit / RevenueCat pattern · Apple Developer Program admin · marketing-site approach (Astro/Vercel) · Hatchstacks-aligned discipline framework. Build leads who work on Calendar Widget can apply learnings to Odds Calculator and vice versa.
08Glossary
MenuBarExtra
SwiftUI API (macOS 13+) for menu bar apps. The native primitive this project is built on.
WidgetKit
Apple framework for building Notification Center / Desktop widgets.
EventKit
Apple framework for reading Calendar.app events. Requires user permission (privacy-friendly opt-in).
StoreKit
Apple framework for in-app purchases. Handles the $4.99 Pro upgrade.
Setapp
Mac app subscription bundle (~250k subscribers). Secondary distribution. Revenue share with developers.
Notarization
Apple's required code-signing process for distributed Mac apps. Required even for direct DMG distribution.
Sandbox
App Store requirement: app runs in isolated environment with declared entitlements.
Sherlocked
When Apple adds your app's functionality to macOS, instantly killing your differentiator. The existential risk (R1) for any Mac utility.
Hatchstacks-aligned
Using the discipline (Notion · 1Password · Tailnet · Cursor) without the Pro tier infrastructure (Mac mini · agent fleet · OpenClaw).
IAP
In-app purchase. The $4.99 Pro upgrade. One-time, not subscription. Receipt stored on-device only.
← Portfolio