5
4 Comments

Setting up backend and web dashboard

Switched my focused a bit to the backend and website for the last couple of weeks. I used TailwindCSS (with TailwindUI) for both. First time I use Tailwind but I love it already. Speeds up the styling a lot and has many good looking defaults.

I'm using Plausible for the analytics, seems so much easier to use than Google Analytics and I like their open dashboards.

Syncing from the watch to the web is done via http-requests directly from the watch to the server. I'm using websockets to keep the dashboard in sync with the watch at all time. Probably an unnecessary since most people don't look at their laptops while working out... But hey, why not over engineer when you can.

My approach for connecting a watch to the web app is via a 6-digit code generated on the server. When setting up an account, the user is prompted to enter this code on the watch so that I can connect a watch to a specific account.

The new version of the watch app with sign-in och syncing functionality is currently in review for app store and should hopefully be out this week.

I decided to keep the web dashboard in closed beta for now, but just sign up for the beta on the website and I'll set up an account if anyone is curious to try it out.

My next step is to implement some kind of payments/subscriptions for getting access to the web dashboard. I would preferrably like to sell the it via subscriptions in the app, but that doesn't seem to be available for watch-only apps yet.

, Founder of Icon for Watch Routine
Watch Routine
on June 30, 2021
  1. 1

    Pretty cool ,like the way the Design of the app looks. I was wondering how do you solve the basic problem that people like I have: I'm still relying on paper. I haven't found a single app that is faster and more flexible than my notebook. What stack do you use for backend?

    1. 1

      Hi, thanks! Yes I've been struggling with the same problem. Good old pen and paper is really hard to beat in the long run. The area where it fails me is when I want to go back and see how I'm progressing over time. Too easy to lose an old notebook, and it's too time-consuming to transfer the data manually to a spreadsheet for example.

      My backend stack is pretty simple, using Node with Express for the web server. My own auth-system based on JWT and cookies. I'm currently just doing sign-in via that I send through email, but I'm considering implementing password login as well. Database is Postgres (without any ORM layer). And web sockets with SocketIO for the real-time features (the dashboard automatically updates when a user adds an exercise/set/rep).

      Happy to set up an account for you if you'd like to give it a try and judge for yourself? There are still some rough edges but the core functionality is there.

      1. 2

        Yeah man would like to try it out, can also give you some feedback in return!
        arne ("attt") ahsoft (dottidot) tech

        1. 1

          Awesome, just added the account, you should have received an email with a sign-in link by now. Appreciate it!