I’ve discovered RemoteStorage.js in June 2025 since then I invested a lot of time building a couple of apps with it and here they are:
Leptum is for people who want to get a better idea of where their time goes and how certain activities impact them emotionally. It also contains features to establish habits, routines and goals.
It’s also interoperable with my other app, vif.
Both of them are also compatible with todonna.
I suggest changing the media query parameters so that the grid items here get splatted into a single column (like they do on mobile right now) for even wider viewports than currently. Maybe even get rid of the grid entirely and just have a single column even on fullscreen windows on desktop.
The “About” section at the bottom of the page says it’s open source and links to GitHub, but https://github.com/m5x5/leptum is a 404. Browsing around your profile, I don’t see it under a repo with a different name. Did you make sure to set the repo public?
Looks good. There are several functionality issues:
It doesn’t seem to actually be actually storing the data when not connecting to a remoteStorage account. If I visit the site and start trying to use it, it works, and I can see that it’s tracking something because data export to JSON works, but if I revisit the site, I have no user data.
Expected behavior: user data persists even
Also, it looks like it’s not handling auth failures correctly. If I go to the settings page, click the button to connect to my storage, type in my 5apps.com account name, and then click “Deny” at App authorization, then it dumps (an uncaught?) auth exception to the console:
Side note: It looks like some debugging console.log statement snuck into production, too. When first visiting the site, it prints standaloneTasks to the console 7 times, plus some other object.
And some other feedback (bugs not remoteStorage-related):
Adding a task is broken.
From the Dashboard, click “Add Task”
Click the first text field
Start typing “foo”
Expected behavior: It works like an ordinary text field.
Actual behavior: After the first keystroke, the text field loses focus, and the first “o” doesn’t land. Clicking back into the text field and trying to complete it again reveals that it loses focus every time the text field’s value changes.
Tasks don’t start if there are no Goals.
After adding a task on the Dashboard, click the “Start tracking” button.
In the Start Activity dialog that warns “No goals available”, click the “Start” button
Expected results: It starts the task.
Actual results: It never starts (Start works just like Cancel).
Thanks again for the report! I’ve just deployed an update addressing most of these points.
Fixes:
Auth Handling: The exception when clicking “Deny” is fixed.
UI Inputs: The text field focus issue is resolved.
Console Logs: I’ve cleaned up the ones you mentioned (though you might still catch a stray log here or there as I’m still actively working on the project).
Regarding Local Persistence: I actually wasn’t able to reproduce the issue where data isn’t stored when not connected to a remoteStorage account. It seems to persist fine on my end.
Could you let me know which browser and OS you are using?
Is it possible you are in Incognito/Private mode? (This sometimes restricts how local data/IndexedDB is handled, I tried to reproduce it on MacOS with Chrome and Firefox and on Android with Chrome and also in form of a PWA).
I guess this is like a quick-use dashboard for more frequent use, while Leptum is more for longer-term goal-setting and tracking?
Exactly, I saw someone build this at https://vif.today/. So I cloned it and added RemoteStorage to it and an option to bring your own LLM API token and Endpoint.
The system is pretty neat, I built a component that accesses an ai-wallet folder where you can then store your api tokens to use your rs.js apps with.
Vif offers a quick view to enter and manage your todo list, even with the options to edit it with voice commands.