May 2026 release — 7 features across magazine, alerts, portfolio, and revenue
Apsity Monthly now renders instantly via full cache, every app shows its sync status with a manual Sync now button, the new Portfolio page compares all your apps in one sortable board, Keyword Health flags dead and overlapping trackers, and the Revenue page gains Calendar + Daily Detail tabs. Slack/Discord alerts and the ASC Conversion Funnel are in beta.
What we shipped this week.
Seven features rolled out across the dashboard, magazine, alerts, and revenue pages. Every one of them came out of running Apsity on twelve real apps and noticing what was missing or slow. This is a short tour of each, with the reason it exists and how to try it.
1. Apsity Monthly — instant, every time
Apsity Monthly is the four-page editorial magazine generated for each user once a month. Previously, every visit re-ran a full aggregation across all apps, countries, and reviews, then asked Claude to write the cover essay. That worked but took 5–30 seconds the first time and re-ran the aggregation on every refresh.
Now the entire issue — both the data and the AI copy — is cached in a single database row keyed on (user, year-month, language). A monthly pre-warm cron builds the cache for every paid user on the 1st, so by the time you open the magazine, every page is one DB read away. Cache hit renders in under 300 ms.
The magazine itself also got a sticky close button, a backdrop-blur modal that opens over whatever page you were on, and a magazine-tone loading screen with rotating status lines (“Asking the editor for a story…”, “Laying out the pages…”).
2. Per-app sync status
Every cron-driven App Store Connect sync now writes its result back to the app row: lastSyncAt, status (success / partial / error), duration in milliseconds, and an error message if anything failed. Settings now shows a live panel per app with that status plus a Sync now button (rate-limited to once per hour per app).
The point of this feature is trust. The most common support question we'd get is “why is yesterday's revenue missing?” — almost always because of a transient ASC 5xx or an expired private key. Now those failures are visible inline, with a clear next action.
3. Portfolio Board — twelve apps, one screen
For multi-app developers, the existing dashboards force you to flip between apps in the sidebar to compare them. The new Portfolio page lays every connected app in a sortable table — revenue, downloads, Δ% vs the prior window, active subscribers, and a Growing / Stable / Declining / Inactive / New health badge. Sort by any column, click a row to drill into that app's revenue page.
Health is computed from two-window comparison: anything down 20%+ on revenue or 30%+ on downloads becomes “declining”; anything growing on either becomes “growing”. Apps under 14 days old get the “new” label so we don't mark every brand new app as inactive.
4. Keyword Health — find dead trackers
Every tracked keyword now records not just rank but the iTunes search result count and an explicit status: ranked / not_ranked / empty_results / api_error. The keywords page now shows a Health card with a one-line summary (“30 tracked · 18 active · 12 dead · 5 niche · 7 overlapping”) and expandable issue blocks.
The card also catches a related problem: if multiple apps in your portfolio track the same keyword, they show up in the overlapping group with a one-click untrack action. For Starter accounts where the keyword slot is scarce, this usually frees up 20–30% of capacity.
5. Revenue page — Calendar + Daily Detail tabs
The revenue page now has three tabs: Overview (the existing charts and summary cards), Calendar, and Detail.
Calendar is a month-grid with each day's revenue rendered as a color-coded cell, navigable by month, with a month-over-month percentage at the bottom. Useful for spotting weekend dips, launch spikes, and holiday patterns at a glance.
Detail is a sortable daily table with revenue, Δ% vs the previous day, downloads, IAP, subs, and notes (peak day, no-activity day). 365-day window paginates 30 rows at a time, with a one-click CSV export. Missing days (no sales rows in DB) are filled with zeros so the timeline stays continuous.
Both tabs pre-load their data in the background as soon as you enter the revenue page, so switching tabs is instant.
6. (Beta) Slack & Discord notifications
The five existing alert types (rank, country surge, low-rating review, revenue drop, weekly digest) can now be forwarded to a Slack or Discord channel via Incoming Webhooks. The Settings page has fields for both URLs plus per-channel toggles and a Send test button.
This one is still owner-only while we test the deliverability and message formatting end to end. Once that's validated, it'll roll out to all Starter and Pro accounts. (If you'd like to try it early, let us know.)
7. (Foundation) ASC Conversion Funnel
The infrastructure for the Impressions → Product Page Views → Downloads funnel is now in place: a new AppAnalytics table, a daily cron that subscribes to the ASC Analytics API per app, and a dashboard page that renders the three-step funnel plus a per-country breakdown.
The piece still in progress is parsing Apple's segment CSVs — the cron runs but the payload parser is currently stubbed. Once we receive the first real Apple response and confirm the column shape, the page will start showing live funnel data. Listed here mainly to set expectations: the menu item will appear once the parser is wired up.
How to validate
Everything except items 6 and 7 is live for all Starter and Pro accounts now. Open your dashboard and the new features should be visible immediately — Portfolio in the nav, Sync Status & Notification Channels in Settings, Calendar / Detail tabs on Revenue, Keyword Health on the Keywords page, and the magazine launcher at the bottom-right.
If you spot anything wrong — a stale calendar number, a misleading health label, a slow page — the feedback widget at the bottom-right is the fastest channel.