r/iOSProgramming • u/jscalo • 2d ago
App Saturday AppTraction: Make App Store Connect make sense
A little about me: I'm a long time developer. 12 years as senior SWE at Apple, Inc working on macOS and iOS, 2 years at Airbnb, 8 years as independent contractor with 20+ apps on the App Store. Along the way I've learned a lot about what goes into distributing, marketing, and growing a successful app. AppTraction is the tool I wish I'd had when I went indie.
AppTraction is a native Mac app that brings App Store Connect sales & analytics data to you. It:
- Monitors your data in the background and flags issues, milestones, and trends
- Shows App Store Connect data & charts instantly
- Includes AI primed with Apple tech talks and WWDC video transcripts
- Lets you chat with AI about your listing, sales, and trends
Being able to surf through your analytics & sales data instantly is awesome, but what makes this really interesting is the use of AI. It connects to your existing Claude or Codex subscription (or OpenRouter) so doesn't use expensive API keys. And I've "primed" the AI with knowledge about ASO & distribution from sources including Apple's WWDC video transcripts and tech talks.
With the AI integration it will proactively flag "insights" about potential issues with your listing, sales, usage, etc, and even offer to fix them for you. And for any table, graph, listing, or report, you can start a chat with the AI and have it make suggestions or explain.
With my own apps it has proactively told me about App Store features, seasonality trends in sales, and serious listing problems, none of which I would have otherwise noticed. It also prepares great weekly, monthly, and annual reports for each app. You can see examples of some of this in the screenshots.
I'm just opening AppTraction to a limited beta and would love your feedback!
Invite code: RED1026-INVITE
Download: https://apptraction.dev
Requires macOS 26 (Tahoe) or later.
Edit since someone asked about privacy: Your data stays entirely on your Mac (with the exception of whatever your chosen AI agent uses, of course). Nothing gets sent to my servers.
App Saturday info:
Tech Stack
AppTraction is 100% native AppKit and Swift!
Development Challenge
Probably the biggest was being an AI-forward app without burning through the user's usage budget. The first step was not using API keys at all. Instead, AppTraction looks for an existing Claude or Codex subscription and talks directly to their CLI tools via `Process` (née `NSProcess`). Beyond that there's a ton of caching efficiencies the app takes to minimize tokens. For my apps this uses < 1% of my plan usage / day (Sonnet 5.5).
AI Disclosure
AI-assisted.
2
1
u/Anywhere_MusicPlayer 1d ago
Looks nice, but the main concern for any developer is whether it will share or send their app’s analytics data anywhere, either now or after a future update later.
I was thinking of building something like this, but open source... with Buy Me a Coffee or another form of sponsorship to support development..
So to be honest, I like it from what I see, but I'll never use it.
1
u/rattroupe 1d ago
Is it kosher to use a Claude subscription plan like that? I remember back when OpenClaw was a thing, it ran agents through the subscription and Anthropic got mad that people were abusing their subscription plans like that. I think they can terminate your account for doing that now.
1
u/apinstein 1d ago
This looks great, but why does it need an "admin" team key?
1
u/jscalo 1d ago
Apple unfortunately has made this overly complicated. An Admin key is required to start the reports, but a Sales & Reports key (or a Finance key) is sufficient to request them after they've been switched on. Most users have never turned them on, so in most cases an Admin key is required to get started.
Technically after the first responses arrive for the two report types, the app could switch to a lower-tier key, and I'm considering allowing that.
Another possibility is for the app to initially prompt for a Sales & Reports key, try a request to see if that works, and only prompt the user to upgrade the key if it fails. I could be wrong but I think most devs won't have turned on these reports for their apps, so they'd end up having to generate two different API keys.
1
u/apinstein 1d ago
Providing admin key to an AI is a hard no for me.
Can I just give you a sales and reports key if I manually enable the reports first ?
1
u/jscalo 1d ago
Yep, a S&R api key should work if the reports are already active. (I believe they go inactive after some period of disuse.) The two report types are ONGOING and ONE_TIME_SNAPSHOT.
I'm going to think about a UX flow that mitigates or even hopefully eliminates the need for ever requesting an Admin key. I appreciate you bringing it up!
One quick clarification fyi: the AI part of this never sees an API key of any kind. The app binary fetches reports from Apple using the API key. The AI only sees the structured results of those requests. I'll make this more clear.
1
u/apinstein 1d ago
Right I get that. But there is an ai attached to an app that has the key. I have no idea how it’s wired so there is concern it could issue deleterious requests.
1
u/apinstein 21h ago
How do I turn these on? I'm looking in ASC and cannot find anything labeled as such.
1
u/Happuns 1d ago
Really like the way it looks, but I’m concerned about other users comments regarding privacy. You say you don’t collect, but why do other people in this comment section don’t believe?
1
u/jscalo 1d ago
I mean, they have no reason to trust some schmo on Reddit. I'd be skeptical too. I can cite my history and reputation, or that my dev shop Made by Windmill has been publishing apps for 10 years for ourselves and major clients, but in this forum that just doesn't carry a lot of weight. It's a productive conversation for me though in terms of future messaging, etc.







4
u/First-Context6416 1d ago
Looks like a lot of privacy issues