Open source

It has now been over a year since I have posted any updates to the blog and almost as long since I have pushed any updates to the site. So I think it's about time I make an update post regarding the state of the site and the plans for the future. WeightRoom started as a side project for me while I was studying at medical school, I have since I graduated and I'm now working full time as a doctor. Unfortunately, this now takes up most of my time which is the main reason updates have been essentially non-existent. I just don't have the time anymore to work on the big features I was hoping to add. I have been keeping an eye on the site and ensure no breaking bugs have popped up, although, for the most part, I don't have enough time to for-fill my plans for the site. This is why I have decided to make the site open source, a small handful of developers have contacted me since starting WeightRoom asking if they could help with the code, but, I was always hesitant as the site turned into a bit of a passion project. However now I think this would be the perfect time to make the changes and open up the source so this website can hopefully keep running for many years to come.

You can find the source on github at

Read More

Update post #10 (August 2018)

I have been quite busy with life recently so development has been on the slow side.

I have realised that more and more users use weightroom on mobile devices and I know it doesn't have the best mobile experience. So my main goal is to geteither a mobile app or a PWA so users have a better experience on their phone when entering logs at the gym or without an internet connection. The obstacle have been struggling with for months now is getting an API up and running but I'm struggling to get Passport to work properly. So if anyone has any experience creating API's or using passport and are willing to help out let me know via the contact page or via reddit @ /u/racken

Here's the changes since the last update post. A lot of the changes have been uninteresting backend stuff which haven't been included. The biggest update is that templates have finally been released so anyone can create their own to use for themselves or to share with others.

  • [Fixed] Minor text errors

  • [Fixed] Reports now use date range correctly

  • [Fixed] A number of bugs related to the Importer tool

  • [Changed] Templates page now only shows 5 of each type of template. These are the 5 templates with the highest "template score". This score just shows how much each template is getting used, it is currently very simple but will get expanded upon when the template library increases in size

  • [Changed] Blog home now shows an extract from the post instead of an unhelpful tag line

  • [Changed] In an attempt to make the site at least cost neutral Export logs and Private logs are now premium features which is set at $5 a month but that might change depending on feedback

  • [Added] All users now have the ability to create and save their own templates

  • [Added] At a request from a user the ability to delete all logs has been added to the settings page

  • [Added] Added auto-complete when entering groups in the log

#overhead squat #squats
  • [Added] The ability to tag users in workouts and in comments like @renlok
Read More

Update post #9 (December 2017)

It has been a long time since my last update post (8 months in fact!). So I felt that it was about time I give an update on what has been going on, and don't worry the project has definatly not been forgotten. The number of users is slowly creeping up so I have been receiving some very useful bug reports and sugestions from you all which is awesome. So the site as a whole is more now stable and more user-friendly than ever. As for the features under the 'Beta' tag import and export are stable as far as I'm aware, and will be moved soon to reflect that. The workout templates which really is the final big feature I wanted to get finished is around 80-90% complete. There only a handful of things that need doing for the templates, then I will be happy to release the template tools for everyone to use.

  • [Fixed] Bug where trying to view logs as a guest would throw an error

  • [Fixed] A number of issues with the importer, it now matches the columns automatically much better, and no longer fails

  • [Fixed] A number of issues with the exporter

  • [Fixed] Notification counter is updated correctly when they are deleted

  • [Fixed] Log search now searches for different units correctly instead of always defaulting to kg

  • [Fixed] Generated templates calculate 1RM based values correctly

  • [Fixed] Edit exercise name

  • [Fixed] A number of issues caused by exercises with non-alphanumeric characters

  • [Changed] Hidden logs posted in the future from the dashboard

  • [Changed] Date ranges can be used to show more specific reports

  • [Changed] On completion of import users receive email notification

  • [Added] A support us page

  • [Added] Can now delete single notifications (if you don't want to delete them all)

  • [Added] Save and print buttons to generated templates

  • [Added] Exercise groups. These can be added via either the exercise groups page, the individual edit exercise page or through the tracker by adding it after the exercise name (i.e. #squat #group1)

  • [Added] Reports can be limited to show exercise groups

  • [Added] Templates can be set as active which allows users to quickly generate their next workout log

Read More

Update post #8 (April 2017)

This was another period of mostly behind the scenes work and I have been putting more effort into trying to increase the user count which happily is still slowly going up. I have also added a user feedback button in the bottom right and I love hearing from you guys, if you have any problems or ideas let me know.

  • [Fixed] Bugs with moving average in volume graph

  • [Fixed] Exercise history graph tooltip works correctly again

  • [Fixed] Tracking on mobile has been improved although still not perfect, this is a known bug with the js package we use still

  • [Fixed] PRs show correctly on the view exercise page again

  • [Fixed] Bodyweight exercises with no weight modifier are fixed

  • [Fixed] Fixed password reset

  • [Changed] Logs in the dashboard now show the date they where created as well as the log date

  • [Changed] Log exercises comments are no longer limited in length

  • [Added] Added dates to all graph tooltips

  • [Added] Total time, total distance and intensity have been added to the volume graph

  • [Added] Added view followed users page

  • [Added] Compare option on reports

  • [Added] Blog comments!

Read More

Update post #7 (January 2017)

It has been far too long since I last posted an update, part of that has been due the blogs being missing but it's mostly just due to me putting it off. Since last time I have done quite a lot although it might not seem like much. I have recently shifted my focus onto trying to improve the user experience as this is one area a lot of new users have complained about. It still has a fair way to go before I will be completely happy with it but it is getting better and the learning curve hopefully is a little less steep now.

  • [Fixed] Bodyweight input when using lbs, now stored the value correctly

  • [Fixed] Guests no longer get error message when trying to view public logs

  • [Fixed] Total sets are counted correctly

  • [Fixed] (PRE max calculator)[] now no longer throws error when 6.5 is selected

  • [Fixed] Issue with multi-set lines 50 kg x 5,6,7 where using BW would throw an error

  • [Fixed] Deleting a log no longer breaks exercise record history

  • [Fixed] If no weight/distance/time entered into search it no longer breaks the form

  • [Fixed] Some spelling mistakes

  • [Fixed] Emails - can receive password reminders again

  • [Changed] Redesigned login/register pages so they now look beautiful

  • [Changed] Minor changes to dashboard so its hopefully less confusing as to what you are seeing

  • [Added] Explanation as to what PRE is to the (PRE max calculator)[] page

  • [Added] Compare all option added to (Rep max calculator)[]

  • [Added] A javascript intro to the tracking page for new users which explains how it works

  • [Added] Blogs no longer using an external script

  • [Added] Site wide SSL encrption

I have also moved the weightroom from a fairly crappy shared hosting account to its own VPS. This gives me a lot more freedom so the issues I was having before with making a decent import/export functions are no longer issues so my next task is to put more work into these.

Read More

Update post #6 (October 2016)

I have been quite busy over the last few months so haven't manged to do as much as I would of liked but here is what has been done.

  • [Fixed] A few bugs with the comments: can no longer post blank messages, poster name is now correct, reply button no longer shows for deleted comments

  • [Fixed] Show extra reps now works correctly (shows higher reps on PR graphs)

  • [Fixed] Report page correctly shows weights in kg or lb

  • [Fixed] Bodyweight graph displays correctly (Was not loading some values)

  • [Fixed] Comma values i.e. 70 kg x 5,4,4,3 will be group into sets where they can be

  • [Changed] New users now get a warning message if no exercises are detected in their logs

  • [Changed] Users will be given a warning message if they try to add an empty log

  • [Changed] The default time unit is now minutes instead of seconds

  • [Added] More content to the F.A.Q. with more information about logging

  • [Added] PRs are now tracked up to 100 rep max

  • [Added] PR history page now fills out blank cells with estimate values

  • [Added] A new landing page & opened registration

  • [Added] Users now have option to keep their profile private

  • [Added] Can now use which will take you straight to adding a log for today

Read More

Update post #5 (August 2016)

I have finally laid the foundations for all of the major features I wanted to see in weightroom when I started out. The importer is functional finally and the workout templates are working. Although at the moment the tools to add templates suck so bad they are limited to my eyes only, But hopefully soon enough they will be good enough to release so everyone can add templates :)

In terms of functionality of the templates they are fairly bear bones right now. If anyone has any suggestions for them it would be greatly appreciated.

  • [Fixed] Estimated 1rm now calculated correctly again, I''m not sure how long this was broken for but it broke the estimated 1rm graphs which should also be fixed

  • [Fixed] Clear notifications

  • [Fixed] Last character in log is no longer ignored

  • [Fixed] History graph now shows volume label correctly

  • [Change] Log search is now limited to show a maximum of 50 logs

  • [Change] Updated demo page with up-to-date screen shots

  • [Added] Can choose what unit to use in log search

  • [Added] Logs can now accept × and * characters as alternatives to x

  • [Added] Percent max table to exercise view

  • [Added] Wrote up a simple F.A.Q. page

  • [Added] Import workouts via csv This needs more testing if anyone has some big workout export files could you send them to me to test the system

  • [Added] Workout templates bare bones at the moment will become more bulked out over next few months

Read More

Update post #4 (June 2016)

It has been a fairly slow few months as I have had exams to deal with but no the less here is a list of changes since the last update post.

  • [Fixed] Goals page is now completely working, will full functionality

  • [Fixed] Goal completion check is working correctly now, and will notify you when you hit a goal

  • [Fixed] 1.5km x2 no longer flagged as invalid

  • [Fixed] Volume graph no longer throws an error if you haven''t posted a log yet

  • [Fixed] Edit goals from edit exercise page

  • [Fixed] Estimated 1RM graph on view exercise page

  • [Change] Some of the are now available to guests

  • [Change] Made some changes to the view/edit log pages to make them look a bit better

  • [Added] Reports page so you see changes of volume/intensity and number of workout over time

  • [Added] Users who follow noone will see a random list of users rather than a blank dashboard

  • [Added] INoL to view logs, see option to enable it under advanced settings

  • [Added] Option to remove warmup sets from volume calculation

  • [Added] Option to show extra reps, reps over 10, currently only works for compare exercise page

  • [Added] Dashboard now shows log text instead of just a list of when they were posted

  • [Added] Daily max graph to view exercise page

  • [Added] Max rep calculator

Have done more work to importer, bit stumped of how to make it both quick and secure I have found LOAD DATA LOCAL INFILE to be very quick but this server doesn't allow it. So I will probably have to change server when I want the import/export to be available.

Read More

Update post #3 (April 2016)

So it has been a while since I made an update post so to keep people better updated of how the development is going I am going to make one of these update posts at least every two months.

Since last update:

  • [Fixed] Parser used to not like comments that started with a b, though it was a bodyweight exercise then deleted the rest

  • [Fixed] Rounding bugs so converting between pounds and kilos is more accurate

  • [Fixed] wilks, sinlciar and compare exercise graphs (Now show correct data)

  • [Fixed] Multiple pages now show time/distance exercises units correctly

  • [Fixed] the mile unit now works correctly in log parser

  • [Fixed] Monthly/Weekly Graphs now show data points correctly and scales have been fixed

  • [Fixed] Multiple minor bug fixes

  • [Change] Calendar data is loaded faster now, no longer a time lag between page loading and the calendar being filled

  • [Change] Rewrote large parts of the log parser so can now handle set type flags (can use w: warmup, s: for speed, d: distance, e: endurance and can be together like w|e meaning warming distance or w|e, w|s, etc) 50kg x 5 w meaning its a warmup

  • [Change] Improved log submission messages so they are more helpful

  • [Change] For time based exercises if the first entry is over 30 minutes it will assume its an endurance exercise for those under 30 minutes it will assume its done for speed (This can be changed under edit exercise)

  • [Added] RPE based RM max estimator

  • [Added] Distance options for parser

  • [Added] Accessory lifts to WL ratio calculator

  • [Added] Prilepins Table to each exercise

  • [Added] Estimate 1RM is now visible on weekly/monthly graphs

  • [Added] Exercise Goals, can be edit/added via edit exercise screen and will display a message when you hit them

  • [Added] PR History Table, so you can see a list of every PR you have every hit for each exercise

  • [Added] Log search can now search time/distances instead of just by weight

Still needs work: planning a goals page where you can see progress of every goal for every exercise\n\nStarted work on CSV workout importer/exporter mostly complete just needs more testing to make sure it wont break anything

Read More

Beta 2

So after far more time than I thought I have managed to convert weightroom to use a framework so hopefully working on it in the future will be much easier (new stuff will come quicker!) so I guess I can say we are into Beta 2.

Along with this I have also made to following upgrades/additions:

  • Parser 2 is now the default
  • Work on making the site look less crappy (I am defiantly not a designer but its slowly getting less fugly)
  • Bodyweight exercises finally work correctly
  • Added weightlifting ratios calculator
  • Added notifications
  • Added option to view total volume graph as a moving average (as it can become very messy)
  • Added option to set a log item to be a warm up just add w after it
20kg x 5 x 2 w
160kg x 1

The first line is now a warmup, the second is a work set

Read More