AppToolkit SDK for Developers

All about the AppToolkit SDK and Super User tracking, technically speaking.


The AppToolkit is built on the original Launchkit SDK open-sourced last year. We’ve update it, tested it and have some great plans for the future. We've been using it at GoLocalApps since 2016 and have scaled it to millions of users. We're now comfortable letting you use it as well..

If you have any questions, please contact us directly at Suggestions and partnership? Same email.

About the AppToolkit iOS SDK

A simple, lightweight, open source project

The full iOS project is available on GitHub, and the project can be easily added to your app through CocoaPods or Carthage. We are building the Android version now, and will update everyone as it becomes ready for beta testing.

We have tried to keep the project extremely resource efficient, and only occasionally send data to AppToolkit servers in a minimal format.

So What Can You Do With the AppToolkit SDK?

Here’s a list of exactly, exclusively what the SDK does in your iOS app:

  • On app startup, the SDK sends an initial request to get AppToolkit configuration
  • In the background, we periodically inspect the app’s UIViewController hierarchy, in order to determine the current screen visible to the user.
  • The SDK also adds a listener for taps, so we can tell how many times the user has tapped on the screen while using the app.
  • Later, using a low-priority NSURLSession, the SDK periodically sends these events up to AppToolkit servers in a minimal, batched JSON representation.

That’s it. See the code here.

How does tracking work?

Tracking is based exclusively on a random identifier. AppToolkit servers generate this identifer the first time the app starts, and the SDK persists the identifer across requests to our API.

We don’t ’fingerprint” users for tracking, or attempt to do any advertising-related targeting at all. We just make a random ID and store it in a .plist file.

Identifying the same user across devices

If your app has logged in user accounts, and you want to find Super Users who use your service across multiple devices, that’s fully supported!

In that case, you can provide us a unique ID when calling setUserInfo: when the user logs in. No need to include any other information — name and email address are optional.

Providing a unique ID in this way will associate multiple end-user sessions with the same unique “user” in AppToolkit’s Super User database.

Reliable & Production-Ready

We adopted AppToolkit because we needed it ourselves. We we're early beta testers of the original Launchkit service we needed to replace it for our own use. Now that it's production-ready, we're opening it to the public.

We now have AppToolkit SDK running in dozens of our own apps and our client apps and with millions of users combined. We’re confident that this version is stable and won’t impact your apps in any adverse way.

That being said…

In the event of catastrophe — or a canceled user account — the SDK will not crash or degrade your app’s performance. If the AppToolkit API is unreachable, the SDK will just stop sending us data, silently.

(In this case, the app might generate a failing web request per app session, but that should be the extent of the impact.)


Try it for free.

  • AppToolkit SDK
    1,000 Users Free
    Then $0.001/mo for every active user
    Up to 100K Active Users
    Affordable People Analytics
    Nothing to Configure
    Identify Your Best Users
    Target Super Users In-App