Perthro

Roadmap

Updated June 3, 2026

Perthro's path from TestFlight beta to public launch.

Shipped

140

Core platform

Sign in with Apple

Sign in with email + password

Password-reset deep-link to in-app sheet

Email confirm-signup deep link

Age gate on first launch (16+)

3-step onboarding (display name, taste prefs, suggested follows)

Following feed

Public ranked feed

Feed source toggle (Following / Public)

New-post badge counts on feed tabs

Pull-to-refresh on feed

Bookmarked-reviews feed

Single-entry feed RPC (deep links)

Profile view

Editorial profile header

Profile activity heatmap (365-day grid)

Recent-reviews carousel on profile

Recently-played section on profile

Owned-platforms badges on profile

Favorites section on profile

Profile visibility (Public / Followers / Private)

Edit profile (avatar, banner, display name, bio)

Animated GIF avatars (Hero tier)

Profile font picker (Hero tier)

Profile accent color picker (Pro tier)

Hidden + muted view (users / games / posts)

Connected-accounts management page

Settings hub (Account, Privacy & feed, Notifications, Appearance, Connections)

Sign out

Account deletion (reauth + email OTP + rate-limit)

Five-star ratings

Written reviews (short or long-form)

Spoiler tag on reviews

NSFW / mature tag on reviews

“Played on” platform + date per log entry

Edit / delete own log entries

Search all-time logs

Game search (IGDB)

Game detail: cover, summary, releases

Game detail: trailer (YouTube embed)

Game detail: screenshots viewer

Game detail: time-to-beat (3 styles)

Game detail: rating distribution chart

Game detail: community reviews list

Game detail: “you might also like”

Game detail page (IGDB-sourced metadata)

18+ gating on adult-rated games

Lists: create / edit / delete

Lists: add + remove games via picker

Lists: grid / list layout toggle

Library tabs: Reviews / Backlog / Wishlist / Lists / Studios

Library sort: recent / A–Z / release year

Library: grid + list views

Backlog + Wishlist add from game detail

Studios tab (publishers / devs you follow)

Studio page (catalog + follow)

IGDB game catalog + full data-dump mirror

IGDB response cache + rate-limit governor

Local trigram search across IGDB mirror

IGDB game-detail RPC

Game-name normalization for matching

Platform integrations

Steam — link, library sync, owned-games stats, achievements, play dates, Steam level

Xbox — OAuth (XBL + XSTS), library + achievements sync, IGDB resolution

PSN — link + library sync

Verified-ownership review badges

Per-platform stats card (Steam / Xbox / PSN)

Unified Recently Played across platforms

Disconnect account (cascade cleanup)

OAuth via ASWebAuthenticationSession

Core platform

Play-status taxonomy (Playing / Completed / Mastered / Retired / Shelved / Abandoned)

Social & XP

Follow / unfollow players

Core platform

Log vs review entry-kind split, per-log playtime minutes, started / finished dates

Social & XP

Block / unblock

Mute users (silent)

Mute games (filter from feed)

Hide individual posts

Like reviews

Comment on reviews

Comment likes + votes

Review votes

Bookmark reviews

Report users / content

Find People view (search + suggested)

Recommended people (taste-based)

View other users’ profiles

Floating follow button on profiles

Share-profile sheet

Copy username action

Owner-only edit/delete on feed rows

XP system (server-authoritative ledger)

XP awarded across 20+ player actions (logs, ratings, reviews, follows, comments, lists, daily check-in, weekly/monthly active, profile setup, account connections, verified reviews, streak milestones, etc.)

Daily-XP cap (anti-grind)

Login-streak tracking + milestones

Level-up sheet + XP toast

Level + XP bar on profile

Recommendations engine (game suggestions)

Taste preferences

Taste-affinity ranking wired into public feed + people recommender (Jaccard over shared taste picks)

Notifications & subscriptions

In-app notifications feed

Mark-all-seen action

APNs push notifications

Push triggers (follower, like, comment, vote)

Release-day local push reminders for wishlisted games (UNUserNotifications, 9am local, auto-sync on launch)

Per-channel push preferences (master + 4 channels)

Per-device APNs token routing (sandbox vs production)

StoreKit 2 subscriptions

App Store server-notifications webhook

Subscription state hardening (refunds, expirations)

Server-side entitlement verification

Free tier

Perthro Pro (monthly + yearly)

Perthro Hero (monthly + yearly)

Tier-gated feature modifier

Paywall view

Alternate app icons (5 styles — Hero tier)

Hero badge on profile

Trust & telemetry

Telemetry stack (Sentry, PostHog, AdServices, SKAN, OSLog, PrivacyInfo)

Apple ATT prompt coordinator

Age-gate enforcement (16+ globally)

18+ NSFW review tier RLS

Reports / moderation pipeline

AdMob native-ad cards on feed surfaces

Security hardening pass (token leases, query validation, OpenID, install_id, RLS, etc.)

Profile + follow-graph access control

OAuth refresh tokens encrypted at rest via Supabase Vault (PSN + Xbox credentials)

Branded auth email templates

Audit security advisor pass (medium + high closed)

Polish

SwiftData on-device cache (games, logs, backlog)

Image pipeline (memory + disk cache + prefetch)

Custom tab bar + back bar

Apple Glass blur surfaces

Skeleton + shimmer loading states

Centered loading + empty states

Smooth empty + reveal transitions

Profile snapshot caching across sessions

Haptic feedback hooks

Public feed v2 (clean schema, score clamping, single-entry RPC)

Brand rename + icon-asset refresh

Editorial header refinement (rounding, softened logo)

Game detail + community reviews polish

In Progress

8

AdMob unit setup (profile + gameDetail)

Production verification of ownership badges

Push-notification delivery verification

ATT prompt analytics

Supabase RLS audit

Enable leaked-password protection

Deployment-target reconciliation (iOS 16+ vs 17)

Weekly TestFlight feedback triage

Up Next

11

App Store-ready screenshots and listing copy drafted, with library-import featured early in the carousel — it's the single feature competitors can't match in the short term

Marketing landing page on the website (live at perthro.io; refine post-feedback)

Discord (or similar) channel for tester feedback plus a bug-bash schedule per build

Tester feedback intake process — in-app channel triaged weekly into Notion / Linear

Subscription pricing finalized — Pro and Hero, monthly + yearly

Email confirmation + signup flow validated end-to-end with non-technical users (form-wipe + delete-account verify both fixed during recent debug session; regression-test before opening up)

Library-import friction test — record Steam / Xbox / PSN OAuth flows on a fresh account, identify drop-off steps, instrument analytics events at each step

ATT prompt copy iteration — measure consent rate via PostHog; ship a second variant if first under-performs

Push-notification permission ask — defer past first session if dropped, re-prompt after first meaningful action

Crash-free rate target set per build (>99.5% sessions, >99.9% users) before invite-list expansion

Onboarding A/B — measure where users drop off in the 3-step flow, tighten copy on the weakest step

Planned

19

Quality gates

Crash-free rate target met across last 2 TestFlight builds (>99.5% sessions)

Onboarding tested with non-technical users — full path from email signup → confirmation deep link → first log

Library-import success rate >90% across Steam / Xbox / PSN on a clean install

StoreKit verified on physical devices — purchase, restore, cancel, refund across regions

Day-1 monitoring playbook documented — Sentry alerts, PostHog funnels, push delivery, subscription state

Rollback / hotfix plan documented — known-good build pinned, force-update mechanism rehearsed

Listing & legal

Privacy policy and Terms of Service published, linked from settings + signup

App Store age rating finalized + ATT disclosure approved

App Store listing copy emphasizes library import (the moat) and "iPhone-first journal" positioning

App Store screenshots cover the journey — log → review → friend feed → library imports — not just hero shots

ASO keyword research done — "iPhone game tracker", "game journal", platform-connect terms

Subscription pricing confirmed in App Store Connect (Pro + Hero, monthly + yearly)

Apple App Review pre-submission checklist passed — Sign in with Apple priority, no broken links, demo account ready

Content & community

Initial content seeded — popular games covers / editorial picks / curated launch lists

Editorial launch lists drafted (e.g. "Top 100 games of 2026 so far", "hidden gems", studio retrospectives)

Launch announcement assets ready — landing-page hero, social tiles, press one-pager

Press / influencer outreach list ready, embargo dates set

Launch-day Discord coverage scheduled — ≥2 mods online for the first 24 hours

Launch communication template for the waitlist + TestFlight cohort

Later

57

Library & journal

Year-in-Review / Wrapped recap — target shipping before holiday 2026. Table stakes for tracker apps now.

Multi-playthrough log support — each playthrough as its own entry with dates, notes, rating. Differentiator territory: every tracker is bad at replays.

CSV / JSON export of full library + logs — frequently requested; cheap to ship; strong privacy / portability story.

Game bundles + base/extras stat split — table stakes for serious tracking now. Once the IGDB dump surfaces bundle data, we layer cross-platform ownership (Steam / PSN / Xbox) on top, so users see which expansions they already own where.

Tags on logs and reviews — user-defined tags (e.g. "couch co-op", "rainy day", "100%"); library filter by tag.

Storefront field on logs — where it was bought (Steam / GOG / Itch / disc), separate from played-on platform.

Photo / screenshot attachment — single image per log entry to capture the moment.

Bulk-edit logs — multi-select for retag, remove, reschedule.

Game editions consolidation — regional / special-edition dedup using IGDB editions data.

Long-form review tooling — markdown preview, autosave drafts, draft inbox.

Discovery & recommendations

Trending / new releases tab — release calendar + pre-launch trending. Distinct from the existing public ranked feed (which is review-driven).

Friends-of-friends recommendations — low effort given existing follow graph + taste prefs.

Editorial / curated lists feature expansion — useful onboarding surface for users with empty libraries.

Wishlist deal alerts — push when a wishlist game drops in price on a connected platform.

Pre-order + offset release reminders — extends the shipped release-day local push (9am wishlist alert) with configurable T-24h / T-1h pre-release reminders and pre-order purchase tracking.

"Played by people you follow recently" — surface on game detail page.

iOS-platform opportunities

Home screen widgets — now-playing, activity grid, today's streak.

Lock screen widgets — streak counter, today's logged game, next-up wishlist.

Live Activities — "currently playing" pinned in Dynamic Island; auto-syncs to Apple Watch via Smart Stack on iOS 18+ / watchOS 11+.

Apple Watch companion — quick-log, streak nudge, complication.

Share sheet extension — paste a Steam / Xbox / PlayStation Store URL to add the game to backlog or wishlist.

Library & journal

Achievement / trophy gallery — surface the per-game and per-profile unlock data we're already syncing from Steam, Xbox, and PSN (names, descriptions, rarity, unlock timestamps); add a "Platinum / 100%" feed entry kind for social signal.

iOS-platform opportunities

Siri Shortcuts + App Intents — "Log [game] as completed"; Spotlight results for owned games.

Library & journal

Annual gaming challenge — yearly target (games, hours, platinums, achievements, unique devs) with pace tracking, milestone pushes, and friend visibility. Pairs with the Wrapped recap as the January reactivation hook.

iOS-platform opportunities

Focus filter — Gaming Focus profile that surfaces feed and hides notifications.

Library & journal

Mood, pace & vibe tags + mood graph — multi-select at log time (cozy / punishing / atmospheric / chaotic / thinky / slow-burn / fast-action…) aggregated into a profile mood-graph viz. Feeds Wrapped identity tags and recommendation signal.

iOS-platform opportunities

StandBy support — night-mode dashboard view.

Customization (Pro / Hero expansion)

Animated game covers — Hero tier; visually distinctive in-feed and on profile.

Custom themes — expand beyond accent color (full color schemes, dark/light variants).

Profile cover GIFs — animated banners for Hero.

Additional alt app icons — expand beyond the current 5.

Custom log entry fonts — ride existing Pro-tier font picker.

Social

Library comparison — "games we both have", overlap percentage with a friend's library.

Comment threads on lists — lists currently feel one-way; opening them up for discussion is overdue.

Quote / repost a review — light social mechanic that surfaces good writing.

Game club mechanic — time-boxed group play with structured show-and-tell.

DMs between mutual follows — opt-in, rate-limited.

Verified studio / press profiles — self-serve verification flow.

Followers list visibility controls — hide your follower list as a privacy lever.

Data & power-user

Import from Steam / GOG / generic CSV — accept a widely-used CSV schema so users coming from other trackers can move their data over.

RSS feed of diary entries — auto-publish to a personal blog or IFTTT.

Public read-only API — gated by plan; surfaces the journal externally without cookie scraping.

Webhook on review publish / status change — power-user automation.

Multi-platform

iPad-optimized layout — after iOS 1.0 ships and stabilizes.

Android version scoping — revisit when iOS feature surface stabilizes; mobile cross-platform parity is a moat extension in this category.

macOS via Mac Catalyst — once iPad layout exists.

Public web profiles — intentionally omitted at launch (private journal positioning); commonly requested by users coming from desktop-first trackers. Revisit once the journal voice is consistent.

Moderation

Moderator queue dashboard — sort + claim; needed before community scale.

In-app community guidelines — surface the rules where users post.

Discovery & recommendations

Subscription-catalog awareness — Game Pass, PS Plus Extra/Premium, EA Play, Ubisoft+ catalog scraped nightly; "On Game Pass" badges on game pages; filter library and wishlist by "available in my subscriptions"; "leaving soon" countdown.

Moderation

Block-list import / export — privacy lever.

Discovery & recommendations

Wishlist arrival pushes for subscription services — Pro feature. Notify when a wishlisted game enters one of the user's linked subscriptions (distinct from the existing price-deal alerts). Mirrors Letterboxd Pro's per-day streaming-arrival push, the highest-loved Pro feature in that space.

Moderation

Adult-content profile toggle — distinct from the global age gate; user-facing show/hide for adult-tagged games.

Discovery & recommendations

Recommendations v2 — augments the shipped recommendations engine with pgvector embeddings over IGDB metadata blended with the existing taste-affinity signal, followed-user signal, and anti-redundancy filter (Last.fm-style suppression of games >85% tag-overlapping recent logs). Unlocks a richer "More like this" and a "find a game by mood" natural-language entry.

Internationalization

App Store localization — minimum ES, FR, DE, JA, KO, pt-BR. Defer until usage signals demand.

Right-to-left layout audit — pre-requisite to AR / HE expansion.

Social

Biweekly community list-prompt — themed prompt every other Sunday (Letterboxd Showdown pattern); end-of-week editorial summary published as a Journal-style entry. Cheap engagement engine; requires editorial voice to run.

This roadmap is honest about what we're working on, but not a promise on dates. Things shift as we learn from TestFlight feedback. Have a question or want to push for something? Email contact@rune.art or read the latest build notes on the blog.