Skip to content

Instantly share code, notes, and snippets.

@thillsman
Last active April 16, 2026 12:01
Show Gist options
  • Select an option

  • Save thillsman/ae36151267496c286dcb25914caed4ea to your computer and use it in GitHub Desktop.

Select an option

Save thillsman/ae36151267496c286dcb25914caed4ea to your computer and use it in GitHub Desktop.
StatusReport project status data
{
"lastUpdated": "2026-04-16T00:00:00Z",
"projects": [
{
"id": "stickies",
"name": "Sticky Widgets",
"bundleId": "com.tylerhillsman.Stickies",
"appStoreId": "1533254320",
"githubRepo": "thillsman/Stickies",
"status": "paused",
"summary": "No new commits this week; 10 UX/discoverability issues remain open, uncommitted changes to ModernCustomizationForm and localization still sitting on codex/v5.0.7, and lock screen friction continues to drive 1-star reviews.",
"whereILeftOff": "Uncommitted changes in Localizable.xcstrings, project.pbxproj, Package.resolved, and ModernCustomizationForm.swift on codex/v5.0.7 branch",
"whatsNext": "Ship the What's New view and split it into its own package, then work on the pattern setting UI and address lock screen discoverability to reduce 1-star reviews",
"recentChanges": [
{
"date": "2026-04-16",
"description": "10 UX/discoverability issues open: archive clarity, lock screen wording, restore entrypoint, status rename, import/export, search, customize label, editor close button, home style toggle, shortcuts exposure"
}
],
"blockers": [],
"latestRelease": null,
"metrics": null,
"feedbackHighlights": "1-star review (Apr 12) from user who deleted the app after being unable to get lock screen widget to show text; 5-star review (Apr 12) requesting reminders",
"lastActivity": "2026-04-16T09:03:26Z"
},
{
"id": "keepcount",
"name": "KeepCount",
"bundleId": "com.tylerhillsman.KeepCount",
"appStoreId": "6758891370",
"githubRepo": "thillsman/KeepCount",
"status": "paused",
"summary": "v1.2 shipped, uncommitted changes in ContentView.swift; waiting on the What's New view to be split out from Stickies before adding it here.",
"whereILeftOff": "Uncommitted changes in ContentView.swift and project files on main; last committed work was integrating Mostly Good Metrics",
"whatsNext": "Add What's New view once it's split into a standalone package, then review analytics data and pick next feature from the 5 open issues",
"recentChanges": [
{
"date": "2026-02-27",
"description": "Integrate Mostly Good Metrics and track core app events"
},
{
"date": "2026-02-24",
"description": "Release v1.2"
}
],
"blockers": [],
"latestRelease": {
"version": "1.2",
"date": "2026-02-24",
"notes": "Full changelog from v1.1 to v1.2"
},
"metrics": null,
"feedbackHighlights": null,
"lastActivity": "2026-02-27T17:06:04Z"
},
{
"id": "pennant",
"name": "Pennant Universe",
"bundleId": "com.tylerhillsman.race",
"appStoreId": null,
"githubRepo": "thillsman/Pennant-Universe",
"status": "paused",
"summary": "UserData split refactor merged to main, no activity since; significant UI work, CLI migration, and Guild integration still ahead before shipping.",
"whereILeftOff": "Merged refactor/userdata-split-phase1 into main; untracked .xcodebuildmcp.yml in working tree",
"whatsNext": "Complete the UI overhaul, run the updated Pennant CLI instead of PHP (verify no regressions for NHL and MLS), add Guild integration, then ship",
"recentChanges": [
{
"date": "2026-03-26",
"description": "Merge UserData split phase 1 refactor into main"
}
],
"blockers": [],
"latestRelease": {
"version": "CLI v1.0.1",
"date": "2026-02-25",
"notes": "Pennant CLI patch release"
},
"metrics": null,
"feedbackHighlights": null,
"lastActivity": "2026-03-26T00:00:00Z"
},
{
"id": "guild-ads",
"name": "Guild Ads",
"bundleId": null,
"appStoreId": null,
"githubRepo": "thillsman/Guild-Ads",
"status": "active",
"summary": "MailerLite subscriber sync specced and planned, nonce validation and unique-view deduplication added to impressions, and admin email previews wired up; making earnings and spend crystal clear for each account is the top priority next.",
"whereILeftOff": "Added MailerLite subscriber sync design spec and implementation plan, enforced nonce validation and unique-view deduplication on impressions, and added visible admin email preview with secure route",
"whatsNext": "Make it ridiculously clear what each account has earned and/or spent",
"recentChanges": [
{
"date": "2026-04-15",
"description": "Enforce nonce validation and unique-view deduplication on impressions"
},
{
"date": "2026-04-15",
"description": "Add MailerLite subscriber sync design spec and implementation plan"
},
{
"date": "2026-04-15",
"description": "Add visible admin email preview navigation and secure preview route"
},
{
"date": "2026-04-14",
"description": "Send weekly advertiser live emails at rollover"
},
{
"date": "2026-04-13",
"description": "Add next-week recurring plan projection to admin"
},
{
"date": "2026-04-13",
"description": "Fix SDK token modal dismissing before user can copy token"
},
{
"date": "2026-04-13",
"description": "Improve support touchpoints and social sharing"
},
{
"date": "2026-04-12",
"description": "Refine homepage copy, fix dark mode backgrounds, and add announcement blog post link"
},
{
"date": "2026-04-11",
"description": "Harden billing endpoints, stream app dashboards, and improve SDK integration docs"
},
{
"date": "2026-04-11",
"description": "Fix pre-launch audit issues: atomicity, admin ID, middleware cookie, cancel reason, webhook guard"
}
],
"blockers": [],
"latestRelease": null,
"metrics": null,
"feedbackHighlights": null,
"lastActivity": "2026-04-15T00:00:00Z"
},
{
"id": "guild-ads-sdk",
"name": "Guild Ads SDK",
"bundleId": null,
"appStoreId": null,
"githubRepo": "Guild-Ads/guild-ads-ios",
"status": "active",
"summary": "SDK hardened with HTTPS enforcement, endpoint validation, and token redaction; README expanded with full integration guide \u2014 UI cleanup and background color customization are next.",
"whereILeftOff": "Hardened SDK security (HTTPS enforcement, endpoint validation, queued token redaction), expanded README with UIKit hosting, lifecycle, and debug docs",
"whatsNext": "Clean up UI and add customization for background colors, then test SDK integration in partner apps alongside Guild Ads beta launch",
"recentChanges": [
{
"date": "2026-04-11",
"description": "Expand README with integration guide, UIKit hosting, lifecycle, and debug docs"
},
{
"date": "2026-04-11",
"description": "Update API documentation in README"
},
{
"date": "2026-04-11",
"description": "Harden SDK: enforce HTTPS, validate endpoints, redact queued tokens"
},
{
"date": "2026-04-10",
"description": "Add banner style variants and rewrite README for 1.0"
},
{
"date": "2026-04-10",
"description": "Reduce banner card fill opacity across themes"
}
],
"blockers": [],
"latestRelease": null,
"metrics": null,
"feedbackHighlights": null,
"lastActivity": "2026-04-11T00:00:00Z"
},
{
"id": "website",
"name": "tylerhillsman.com",
"bundleId": null,
"appStoreId": null,
"githubRepo": "thillsman/tylerhillsman-dot-com",
"status": "active",
"summary": "Published the Guild Ads announcement blog post and renamed it to 'Introducing Guild Ads' to align with launch tone.",
"whereILeftOff": "Added and renamed the Guild Ads announcement post on main; modern style redesign branches still unmerged",
"whatsNext": "Finalize and merge the modern style redesign",
"recentChanges": [
{
"date": "2026-04-12",
"description": "Add Guild Ads blog post and rename to 'Introducing Guild Ads'"
}
],
"blockers": [],
"latestRelease": null,
"metrics": null,
"feedbackHighlights": null,
"lastActivity": "2026-04-12T00:00:00Z"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment