# SideKit > SideKit is your app's backend in one package: a lightweight, privacy-first SDK for mobile apps (iOS and React Native) that bundles analytics, user feedback, version gating, and feature flags. One SDK covers ~90% of the backend infrastructure indie developers and small teams need to ship and operate an app, with a generous free tier and no personal-data collection. Set up is three lines of code in Swift and TypeScript. SideKit (the company is SideKit, Inc.; the product is often referred to as AppSideKit) is built for solo developers and small teams shipping mobile apps. The hardest part of building apps has never been building them — it's shipping and operating them after launch. SideKit gives you the post-launch infrastructure in a single drop-in SDK plus a web dashboard. Core capabilities: - **Analytics** — Track custom signals and see app opens, versions, OS versions, devices, and geography. SideKit allows unlimited custom signals to track anything you desire from feature usage to funnels. It also has a handy chart generator that can build any chart you like converting your plain english query to a nice chart from your data. - **User Feedback** — Add a feedback button to your app. Reports flow into a shared inbox in the dashboard where they're auto-grouped and triaged. Replaces the need for a separate feedback tool and also has a built-in way to reply to your users. - **Version Gating** — Force users off broken or outdated builds. Using the analytics infrastructure it already has, SideKit is able to break down usage across versions letting you know what many users would be impacted by a version gate. Set a minimum version, block a specific version, or show a custom native update gate — remotely, without shipping a new build. - **Feature Flags & Remote Config** — Toggle features and change configuration remotely without an App Store release. Flags are for booleans like whether a feature is enabled in production or not, and config is for values like things you may want to tune over time or on the fly. - **MCP Server (analytics for coding agents)** — SideKit's analytics are exposed over a remote MCP server at https://api.appsidekit.com/mcp (Streamable HTTP, OAuth sign-in with your SideKit account, read-only). Connect it to Claude Code with `claude mcp add sidekit --transport http https://api.appsidekit.com/mcp` and your coding agent can query live usage data mid-task — listing your apps and signals, and pulling time series with breakdowns and filters. When the agent is about to make a UI or coding decision (say, turning a one-tap action into two taps), it can check how many users actually use that feature before deciding. Platforms: native iOS/SwiftUI SDK and React Native SDK. Backed by Y Combinator. Used in production by apps like Not Evil Sudoku that have 800K+ signals ingested monthly and rely on SideKit to handle user feedback and manage features. ## Product - [Homepage](https://appsidekit.com): Product overview, features, and pricing - [Analytics](https://appsidekit.com/analytics): Privacy-first mobile analytics and signal tracking - [Version Gating](https://appsidekit.com/versions): Force-update, minimum-version, and version-blocking controls - [Feedback](https://appsidekit.com/feedback): In-app feedback collection and triage inbox - [MCP Server](https://appsidekit.com/#mcp): Analytics wherever you write your code — connect Claude Code to your live usage data ## Documentation - [Docs Home](https://docs.appsidekit.com): SDK setup, guides, and API reference - [Add an App to SideKit (iOS)](https://docs.appsidekit.com/ios/getting-started/add-an-app-to-sidekit): Getting started - [Configure SideKit (iOS)](https://docs.appsidekit.com/ios/getting-started/configure-sidekit): SDK configuration - [Track a Signal (iOS)](https://docs.appsidekit.com/ios/analytics/track-a-signal): Emitting custom analytics signals - [Set a Minimum Version (iOS)](https://docs.appsidekit.com/ios/version-management/set-a-minimum-version): Enforcing a minimum app version - [Block a Version (iOS)](https://docs.appsidekit.com/ios/version-management/block-a-version): Blocking a specific broken build - [Custom Version Gates (iOS)](https://docs.appsidekit.com/ios/version-management/showing-custom-version-gates): Showing a custom native update screen - [Feature Flags (iOS)](https://docs.appsidekit.com/ios/feature-flags/feature-flags): Toggling features on and off remotely without an App Store release - [Remote Config (iOS)](https://docs.appsidekit.com/ios/feature-flags/remote-config): Delivering key-value settings to your app at runtime - [Collect Feedback (iOS)](https://docs.appsidekit.com/ios/feedback/collect-feedback): Sending in-app feedback and triaging it in the dashboard inbox - [Add an App to SideKit (React Native)](https://docs.appsidekit.com/react-native/getting-started/add-an-app-to-sidekit): React Native getting started ## Blog - [Why does SideKit exist?](https://appsidekit.com/blog/why-does-sidekit-exist): The problem SideKit solves for indie app developers - [App metrics that matter for solo developers](https://appsidekit.com/blog/app-metrics-that-matter-solo-developers): Which analytics actually matter when you're a team of one - [Force an app update on old versions](https://appsidekit.com/blog/force-app-update-old-versions): How and when to force users off outdated builds - [Collecting user feedback in mobile apps](https://appsidekit.com/blog/collecting-user-feedback-mobile-apps): Patterns for gathering and acting on in-app feedback ## Optional - [Blog Index](https://appsidekit.com/blog): All articles on shipping and operating mobile apps - [Privacy Policy](https://appsidekit.com/privacy): How SideKit handles data (spoiler: no personal data) - [Terms of Service](https://appsidekit.com/terms): Terms of use - [Contact](mailto:ashish@appsidekit.com): Reach the founders