u/16GB_of_ram

Built my own session replay tool after getting priced out at 4K users and now at 1.7M replays across 100 teams. Open source + self-hostable.

My app hit 4.5K users, and because users were opening it multiple times a day from push notifications, I was at 10K daily sessions. PostHog was charging me about $85 dollars if I wanted that volume in pure session replays and events.

For my indie app, that was not worth spending this much on analytics. So I looked for alternatives but LogRocket, FullStory, and Sentry were all pretty expensive. They also all were "enterprisey" by focus.

So I built my own. First for React Native, and now in open beta for Swift as we got more users.

Feats:

  • Session Replay (100% sampling, up to 3FPS, BENCHMARKED)
  • Crashes, ANRs, and Error tracking
  • Business Analytics & custom events
  • Console logs captured in session replays
  • Geo analytics and Regional Sentiment
  • GDPR compliance (EU hosted on Hetzner) & privacy API interface for the SDK

Progress in 3 months:

  • 1.7 million session replays recorded globally
  • ~17x cheaper than PostHog at equivalent usage
  • Generous free tier specifically designed so indie devs with large DAUs don't get punished for their own growth
  • NEW swift open beta

Rejourney is fully open source including the server side so you can self-host the entire thing if you want zero vendor lock in and zero monthly cost (and also I don't do that enterprise self hosting mentality to charge if you grow per seat).

GitHub: github.com/rejourneyco/rejourney

Website: rejourney.co

u/16GB_of_ram — 10 hours ago

Session Replay Now Swift Open Beta - 17x Cheaper than Posthog

After nearly 3 months of battle testing our React Native package, and recording over 1.5 million session replays from users all over the world, we now have public open beta for our Swift Package.

The package targets iOS 15.1+, requires Swift tools 5.9, and links only libz. There is no CocoaPods podspec, no JavaScript runtime, and no React Native dependency.

The Swift package follows a lot of the design decisions for React Native iOS as that was also built in Native Swift for performance.

Features include:
- Pixel Perfect Session Replay
- General Analytics (Like Firebase & Posthog do)

- Logs & API Analytics

- Crashes/ANRS/Errors (Like Sentry)

- SOON: MCP/CLI

The recorder, the ingest protocol, the session lifecycle semantics, and the privacy defaults are production-quality. They have been exercised through the React Native SDK at scale of the 1.5 million session replays we have recorded already. So this is why we are in beta for iOS:

  • SwiftPM resolution behavior across real Xcode versions and enterprise CI caches.
  • App extension edge cases, the shared UserDefaults, and Keychain access groups behave differently under extension sandboxing.
  • SwiftUI navigation since SwiftUI has no UIKit viewDidAppear equivalent, we want to understand how teams prefer to wire trackScreen, .onAppear, NavigationStack path observation, or a custom modifier.
  • Whether the PrivacyInfo.xcprivacy manifest is being picked up correctly by App Store submission pipelines.

Performance Benchmarks:
https://github.com/rejourneyco/rejourney#benchmarks

Website: https://rejourney.co/

Swift Docs: https://rejourney.co/docs/swift/overview

Github/SELFHOST: https://github.com/rejourneyco/rejourney

Let me know if you would like to test out our paid tiers for free I can give you a code, just promise to report bugs :)

AI disclosure: AI used in frontend UI Dashboard development. The dashboard's user interface was created by Claude Code.

u/16GB_of_ram — 5 days ago

Session Replay Now Swift Open Beta - 17x Cheaper than Posthog

After nearly 3 months of battle testing our React Native package, and recording over 1.5 million session replays from users all over the world, we now have public open beta for our Swift Package.

The package targets iOS 15.1+, requires Swift tools 5.9, and links only libz. There is no CocoaPods podspec, no JavaScript runtime, and no React Native dependency.

The Swift package follows a lot of the design decisions for React Native iOS as that was also built in Native Swift for performance.

Features include:
- Pixel Perfect Session Replay
- General Analytics (Like Firebase & Posthog)

- Crashes/ANRS/Errors (Like Sentry)

- SOON: MCP/CLI

The recorder, the ingest protocol, the session lifecycle semantics, and the privacy defaults are production-quality. They have been exercised through the React Native SDK at scale. What we are collecting signal on in this beta:

  • SwiftPM resolution behavior across real Xcode versions and enterprise CI caches.
  • App extension edge cases — the shared UserDefaults and Keychain access groups behave differently under extension sandboxing.
  • SwiftUI navigation patterns: since SwiftUI has no UIKit viewDidAppear equivalent, we want to understand how teams prefer to wire trackScreen.onAppear, NavigationStack path observation, or a custom modifier.
  • Whether the PrivacyInfo.xcprivacy manifest is being picked up correctly by App Store submission pipelines.

Performance Benchmarks:
https://github.com/rejourneyco/rejourney#benchmarks

Website: https://rejourney.co/

Swift Docs: https://rejourney.co/docs/swift/overview

Github: https://github.com/rejourneyco/rejourney

Let me know if you would like to test out our paid tiers for free I can give you a code, just promise to report bugs :)

u/16GB_of_ram — 6 days ago
▲ 4 r/iOSAppsMarketing+2 crossposts

I had the problem with top funnel and important functions in my app causing users to lurk more than post and contribute, so I built a custom replay tool to help solve these issues:

  1. Directly ask AI in the dashboard to build a query to find certain experiences user went through (try many prompts for different behaviors such as churn, failed to post, raged on post page, never came back more than 5 times, etc).

  2. Look at the details -- what was the API response time? Did the app not respond in a certain area, were there OS quirks, dead taps, rage taps, etc.

  3. Based on these, I would export the console logs, event timeline, and ask Claude Code to fix these issues, along with screenshotting areas of the Session Replay where users rage tapped and asked Claude to make it more accessible (MCP/CLI tool coming soon to make this part faster).

  4. After shipping the update, within a week, we had 15% more posters. The small tweaks with not just the replays, but taking everything holistically softened and made the entire app easier to use and smoother for the user. It was the classic death by a thousand cuts -- PostHog couldn't really help me figure that out from their replay interface.

Website: https://rejourney.co/

Self Host: github.com/rejourneyco/rejourney

u/16GB_of_ram — 7 days ago