How can I make Penpot work offline?

I think it’s clear we want an offline-mode but we have different uses cases under that same label. So far we have identified:

  • offline mode as in “desktop app”. This is typically a solo-user use case where you want a “native app” experience the likes of other tools like The GIMP or Inkscape. This requires encapsulating Penpot using some technology like Electron.
  • Offline mode as in “unreliable internet connection protected mode”: This could use Service workers or anything similar in different browsers to keep an async consistent state. This would mostly benefit solo-user scenarios since real-time collaboration feature within Penpot could easily lead to destructive actions. You could be on a plane or just having intermittent network issues while other users keep updating that same artboard so how is Penpot going to manage a “visual merge” of all that?
  • Offline mode as in “no third party tools are involved”. This is more to with integrations and the role that some third party plugin could play. This is fine with solo-user and multiple users collaborating. I would call this “incognito mode Penpot”.

I think you’re referring to scenario #2 here and I believe this is the trickiest of all due to inherent collaborative nature of Penpot. Actually, Penpot can handle some intermittent network issues already but I wouldn’t be comfortable if those go too far in time.

Is your use case compatible with approach #1? That is, a non-networked deployment of Penpot that runs locally in your laptop? Or would you absolutely need to share such Penpot instance AND have this offline-mode? Could you please elaborate a bit more your use case? THANK YOU!

3 Likes