4min. read

Developer Case Study: Ben Mahr / Octologs

We were joined by Ben Mahr to dive into Octologs, his scuba diving experiences logging app. We spoke about what he sees as the benefits of local-first, the importance of offline capability and data security, and why he decided to use PowerSync.

Featured image for "Developer Case Study: Ben Mahr / Octologs"

Background

We were joined by Ben Mahr to dive into Octologs, his scuba diving experiences logging app. We spoke about what he sees as the benefits of local-first, the importance of offline capability and data security, and why he decided to use PowerSync.

TL;DR

  • Ben chose offline-first architecture because his diving log app’s users often lack internet access in remote locations.
  • Local-first architecture was appealing due to user concerns about data privacy and storage, particularly in Europe.
  • PowerSync was the only solution that met both technical and user needs, offering ease of implementation and strong support.
  • Ben values PowerSync’s reliability, as it runs smoothly without crashes or issues.
  • Ben highlighted challenges with local database debugging, but PowerSync’s new diagnostics app and CLI help to address those concerns.

App details

App nameOctologs
Platform(s)Mobile (iOS and Android)
App frameworkFlutter
Backend APISupabase (PostgREST)
Backend databaseSupabase (Postgres)

Illustration in this article

Interview

**PowerSync
** First question — why did you want to implement an offline-first or local-first architecture? You’ve mentioned using Supabase, and that they don’t have offline mode. What other factors, like speed or latency, played into this decision?

**Ben
** Honestly, it was purely about offline capability. For a diving log app, users are often on boats or in remote locations without internet. If it weren't for that, I wouldn't have bothered with offline mode at all.

**PowerSync
** That makes sense. Offline-first architecture has been gaining traction, but local-first is also emerging as important, especially for data ownership and protection. Was the appeal of local-first a factor for you at all?

**Ben
** Yes, particularly in Europe, where data protection is a big deal. Some users don’t like their data being stored on any server, even if it's in Europe. So, I’ve considered a pure offline mode version.

**PowerSync
** What options did you evaluate before settling on PowerSync? You mentioned previously looking into some solutions in a Supabase GitHub thread.

**Ben
** Yeah, I looked into a few but didn’t dig deep. PowerSync was the only one that fit my needs from both a technical and user perspective. The others seemed like too much work or didn't align well with what I needed.

**PowerSync
** When you say it fit your needs, are you referring to the ease of implementation?

**Ben
** Exactly. PowerSync had a company behind it, which meant I could get support. With other solutions, I would have been relying on online forums, and I didn’t want that.

**PowerSync
** From your experience so far, what stands out as the most valuable aspect of PowerSync?

**Ben
** Since launching Octologs with PowerSync in production, I don’t have to think about it. It just works, stays in the background, and gives me no issues.

**PowerSync
** So, stability and low maintenance are key for you?

**Ben
** Exactly. No crashes or weird error logs popping up — just smooth functionality.

**PowerSync
** Last question: Our vision is to make local-first and offline-first architectures easier to implement than cloud-first. Do you have any suggestions to help us achieve that?

**Ben
** Debugging the local database was tricky for me at first, especially on a Mac. There’s no straightforward way to inspect the local database. That’s an area where better documentation or tools would help.

**PowerSync
** We’ve since introduced a diagnostics app. It helps you view what’s being synced in real time. Have you heard of it?

**Ben
** No, I’ll have to check it out.

**PowerSync
** You also mentioned in the past that you wanted a local CLI for PowerSync. We’ve released that, as well as a self-hosted Open Edition.

**Ben
** Yes, that was my main request. Developing on a staging or production server was a big issue for me. Glad to see the CLI is now available.

**PowerSync
** Are you planning to try it out soon?

**Ben
** Definitely. I’ll give it a shot before I have to, just to be prepared.

**PowerSync
** That’s all from us. Any other feedback or questions?

**Ben
** Just want to shout out the support, especially from your team on Discord. It was really helpful.

**PowerSync
** Thanks, Ben! We appreciate your feedback and support.

**Ben
** Thank you. Have a great weekend!