|
min. read

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 name Octologs
Platform(s) Mobile (iOS and Android)
App framework Flutter
Backend API Supabase (PostgREST)
Backend database Supabase (Postgres)

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!

Subscribe to receive updates

Thank you! Your submission has been received.
Oops! Something went wrong while submitting the form. Please try again.