Future idea: Optional server-based mode (offline-first with optional sync & multi-device support) #1013
Replies: 2 comments
-
|
Hello @MarcinSachs, first of all, thank you for the initiative and the very thoughtful write‑up – and a wonderful New Year to you as well! Long‑term vision Yes, it definitely aligns with the long‑term vision. There are two perspectives here:
So the way it looks from today’s standpoint:
Money and sustainability Running a central BeanConqueror instance with user accounts, storage for databases, images, and shot profiles, plus monitoring, backups, and support is ongoing work and real cost (servers, storage, domains, legal/compliance overhead, etc.). Self‑hosted instances would of course be under the control and responsibility of their operators. -> Clear terms around copyright (+code) and branding, so the “BeanConqueror” name and core components remain protected while still being open source where feasible, anyway there will be a point of having things open or closed - But thats a far vision right now. Regarding “Are there architectural or philosophical concerns I might be missing?”, a few important ones:
Thought: If something is unclear, please feel free to ask, else I'm happy for a further discussion here, or also via Discord or a direct call. Have a great cup of coffee |
Beta Was this translation helpful? Give feedback.
-
|
Hi Lars, thank you very much for the detailed and thoughtful response — and happy New Year to you as well ☕ I’m really glad to hear that the idea of an optional server / sync layer aligns with the long-term vision of BeanConqueror, especially with the strong emphasis on keeping it offline-first. Your point about core vs extension makes a lot of sense. A clearly defined, official reference implementation (with governance staying within the BeanConqueror project), combined with optional self-hosted instances and community tooling around it, feels like a very healthy and sustainable model. I also fully agree that sync is more than “just database rows” — handling files (images, graphs), migrations, and conflict resolution will be the real hard parts, and those need careful, conservative design to avoid data loss or user confusion. Regarding Visualizer: I see it as a great complementary project. As far as I understand, it focuses mainly on visualization and analysis of existing data, whereas a sync/server component would act as a stateful backend for the app itself (ownership of data, multi-device consistency, backups). I think both approaches could coexist nicely in the ecosystem. For my part, I’m happy to keep experimenting on the technical side (e.g. offline-first sync models, data contracts, server architecture) and share findings or prototypes if that’s useful — without assuming that anything should immediately become “official”. I’d be very happy to continue the discussion here, on Discord, or in a more technical format if that helps. Thanks again for the openness and encouragement — and for building such a great app. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi everyone 👋
I’d like to start a discussion around a possible future direction for Beanconqueror and get some thoughts from maintainers and the community.
This is not a proposal to change the current architecture, but rather an exploration of an optional extension that could coexist with the existing offline-first design.
💡 Background / motivation
Beanconqueror works extremely well as a standalone, offline-first app, and that should absolutely remain its core strength.
At the same time, some recurring feature ideas and use cases (e.g. richer metadata for brews, sharing data across devices, long-term aggregation or analytics) naturally raise the question of whether an optional server layer could help in the future — without breaking or replacing the current workflow.
🧠 The idea (high level)
In short:
one app, two modes — standalone or client–server, chosen by the user
🏗️ Conceptual outline
This keeps complexity away from users who don’t need these features.
🔬 Related experiment
I’ve started a small, separate experimental project to explore this idea:
👉 https://github.com/MarcinSachs/beanconqueror-server
Right now it’s only a very simple HTTP server that serves the existing Beanconqueror frontend.
The long-term goal is to experiment with optional synchronization and central storage, while keeping the offline-first behavior intact.
This is not a fork and not intended to replace anything — just a sandbox to test ideas.
🤔 Why I think this might be worth discussing
❓Open questions for discussion
I’m very open to feedback — including reasons why this might not be a good fit.
The main goal here is to start a thoughtful discussion, not to push a specific solution.
Thanks for reading 🙏
Beta Was this translation helpful? Give feedback.
All reactions