Services
Setup the various services that AppKickstarter leverages.
AppKickstarter relies on different SaaS products for various functionality, such as analytics, error monitoring, releases, etc. Don't worry, these services have very generous free tiers, so you don't pay anything until you actually get a lot of users.
Once you create your accounts, we have a environment variable initialization script that will be used in the next step, which will prompt for each of these keys and configure your app with everything.
So for this step, just create your accounts and projects, and we'll ask for the information later!
You will need to create accounts with the following services:
Expo Application Services (EAS)
We use the EAS platform to streamline releasing the application. It handles signing the app builds, submitting to the app stores, and optionally building the app executable. If you run into issues building the app locally on your machine, building it on EAS is often a good alternative.
Go to https://expo.dev/signup and sign up for an account.
Log into your EAS account in your terminal:
eas loginPostHog
We use PostHog for product analytics, such as capturing how many users progress through the onboarding funnel, the screens they view, events, etc.
Go to https://posthog.com and sign up for an account.
Create a project.
If you get to a setup step, and you can Copy API Key, then this is as far as you need to go for now! Just copy the API key and save it.
Otherwise, you can continue finishing the setup. Once completed, go to your project settings. You can find this by clicking on your project, and then the gear icon beside it.
Go to Project > General, and then scroll down to the Project API key.
We need the Project API key. Make note of this.
(Optional, but recommended) Reverse Proxy
We recommend setting up a reverse proxy in front of your PostHog instance. The reason is because most ad-blockers will block requests to PostHog, as they view it as a tracker. A reverse proxy is just a computer that you send the requests to, and it forwards the request to PostHog.
- So instead of the PostHog sending requests to
https://us.i.posthog.com, you send it tohttps://\{your domain\}instead, so ad-blockers see it as a clean request, and then the reverse proxy forwards it to PostHog.
CloudFlare is a very good platform for hosting the reverse proxy. It has an insane free tier. We will use CloudFlare Workers to do this.
To make this super easy, we've provided everything you need to set this up! All you have to do is run:
cd apps/workers/posthog-proxy
npx wrangler deploy --minifyThis will create a new CloudFlare Worker called posthog-proxy (customizable via apps/workers/posthog-proxy/src/index.js) to your CloudFlare account. It contains the official code provided by PostHog to simply forward all requests to PostHog.
Once it's deployed via the command above, you can create a custom domain for it, or use the default *.workers.dev domain. This will be your POSTHOG_HOST value.
If you would like to do this manually, follow the following steps to configure a reverse proxy using CloudFlare Workers via the official guide from PostHog: https://posthog.com/docs/advanced/proxy/cloudflare
When you follow our environment variable initialization script in the next step, it will ask for your POSTHOG_HOST.
Sentry
We use Sentry for error monitoring, which is crucial in giving us visibility into issues or errors that users run into.
Go to https://sentry.io/signup/ and sign up for an account.
Create a project via your Dashboard
Keep note of the following 3 items:
organization slug is available in your Organization settings tab
project name is available in your project's Settings > Projects tab (find it in the list)
DSN is available in your project's Settings > Projects > Project name > Under SDK Setup section > Client Keys (DSN) tab
RevenueCat
We use RevenueCat to create paywalls, as well as handle payments for subscriptions, in-app purchases, etc.
Go to https://app.revenuecat.com and sign up for an account.
Create a project via your Dashboard
Once completed, we will need the SDK API Key (Public API key) for your iOS and/or Android projects.
Public API Key is available in API Keys > SDK API Keys