Quantified Posture: A LumoBack Review

It haunted me. Like a weird posture peddler, the ad followed me everywhere I went online. Apparently one  visit to Lumo’s site a few months ago was enough for Google’s ad network to put a Lumo ad in front of me on what felt like every site I visited.

I probably wouldn’t even have noticed if I wasn’t already intrigued. I have wanted to fix my posture for years. When I see someone about to take a photo of me, I make a conscious effort to stand straighter. But when I see the resulting photos I still often feel like I’m not standing as tall as I would like.

And yet I hesitated. Realtime feedback aside, I like to know that I can analyze my data later and compare it with data from other sources in order to get a fuller picture and run experiments. I had read that the LumoBack API wasn’t ready, so despite promises, I was concerned that the data would be stuck in the device, not readily available for external analysis. Every now and then I would do a search for LumoBack API, and finally I found the droids I was looking for. I couldn’t get access to the API or its documentation without an account, but it was enough to make me take the plunge.

Initial Experience

Lumo is pretty good at detecting whether I’m sitting, standing, or walking, although it doesn’t always pick up on the transitions between them very quickly. I found that occasionally it would take up to 30 seconds to realize I had stood up from a sitting position. It is possible to force it to know that you’re sitting or standing with a simple swipe, which hopefully teaches it to be quicker in the future.

There are several levels of sensitivity, depending on how much you want to be able to slouch before Lumo corrects you. I went immediately to the most sensitive setting, which turns Lumo into an all-out posture Nazi. While you’re sitting, that is.

Lumo is much more strict when you are sitting than when you are standing or walking, even on the most sensitive setting. I have to lean quite a lot while I’m standing before Lumo reacts. There is likely a good reason for this; as I move through my daily life, there are times where it is certainly okay to be a little out of position. That said, it does give the perception that the realtime feedback is less useful for standing and walking posture than it is for sitting posture.

Further tests may help determine whether this perception is warranted.

Update: after another day with Lumo and some additional introspection, I’m finding that my posture concerns when sitting are primarily with my lower back, which is where the LumoBack excels. When standing, my problem is more often with the upper back/shoulders, which is outside of what Lumo primarily tracks. When walking or driving, Lumo seems to ignore posture.


Out of the box, the presentation is nicely done. The setup instructions are simple and straightforward. The calibration is easy. No problems connecting Bluetooth to my iPhone 5 running iOS 7.0. My LumoBack model is version 3.0.5.

Car Trouble

Wow. Apparently car seats are terrible for good posture. Maybe it’s just my car seat, although I did also have similar trouble in a rental car recently. Previously I thought I had my car seat set in a position that would help me to sit up better, but apparently I couldn’t have been more wrong. While I can very quickly find my good posture in a normal chair, in the car it was nearly impossible. I spent a good 5-10 minutes adjusting my car seat and my posture to get Lumo to stop burning a hole in my lower back and still couldn’t maintain a good position for more than about 30 seconds at a time.

I would have to lean forward against the seat belt and away from the back of the seat, which is curved in a way that doesn’t allow for a straight back. The whole experience was incredibly awkward and frustrating. I tried to maintain posture as best I could and adjust the seat to try to support it.

One of the more interesting and unique metrics the LumoBack has to offer is that it can automatically detect the amount of time you spend in the car. Presumably it determines this purely through accelerometer data. So before the car actually starts moving, Lumo doesn’t know you’re in a car and just assumes you’re sitting normally just like any chair.

Finally I decided to start the car and get on my way. It took the LumoBack about 90 seconds before it realized I was driving (it wasn’t until I hit a major road and got up to speed).

Update: I have now been able to test the LumoBack in stop and go Los Angeles local traffic as well. It seems that if a car trip only reaches maximum speeds of 15-20 mph, the LumoBack may never realize that you are in the car. It wasn’t until accelerating from 0 to about 25-30 mph in a few seconds (one of those opportunities where a lane freed up) that the device actually realized I was in a car. This happened more than half way through a 15 minute trip.

Once it knew I was driving, Lumo became a whole lot less picky about my posture. I stopped receiving any tactile feedback at all. The iPhone screen showed a somewhat humorous image of Lumo sitting in a little convertible, and although it would visually show whether I was leaning forward or back, it stopped all judgment.

I was simultaneously relieved and disappointed. I imagine Lumo is designed that way for safety reasons, as it could be pretty distracting to have it buzzing all the time while driving, especially because the car seat seemed to be so detrimental to my ability to find and maintain a good posture.

For that reason, the trouble I went through when I was first adjusting my seat now seemed more worth it. Lumo helped me to establish better car posture up front in the safety of my driveway, and then shut up to let me focus while the vehicle was in motion. Despite my initial reaction, I can see the value in this design.

Once it knew I was in the car, Lumo continued to detect it correctly even if I stopped at a light. It wasn’t until I got out of the car that it went back to regular standing mode (I actually had to help it the first time by swiping up to indicate I was standing).

Note: for safety reasons, make sure that if you are driving that you have someone else in the car check your LumoBack app for you.


At the end of my first day with the LumoBack, I seem to have been very successful. Their FAQ indicates that at the beginning it is reasonable to expect a Posture Score of 50, in other words 50% of daily sitting/standing time was in a good posture. Nearing the end of Day 1, my Posture Score is 83.

It didn’t seem that hard. And yet I know that the percentage would have been much lower without the device because it reminded me countless times (although buzz count shockingly doesn’t appear to be a metric it tracks!) throughout the day that I was starting to slouch.

I’m noticing that my back is definitely feeling sore after a long day of unusually good posture. So much so that once my Posture Score reached 91 for the day, I decided to turn off the tactile feedback for an hour to relax during dinner. My posture was still tracked, though, and so this had the predictable result of bringing my Posture Score back down a bit to 82.

Only now, at the end of the day, do I realize that it’s not supposed to be difficult to achieve a Posture Score higher than 50. It’s that they’re recommending to aim for that so that you give your back muscles some time to adjust and don’t burn yourself out immediately out of the gate. So I may have overdone it a bit on my first day…

Update: although my back was quite sore at the end of Day 1, I did not experience any soreness carrying over into Day 2. So I’d say that aiming for a very high Posture Score right away was probably fine.

This begs the question: what is the optimal long-term Posture Score? Lumo initially sets my “goal” to 50 and seems to indicate anything over 50 is fine. Presumably higher is better up to a certain point, but I’d be surprised if 100 were the truly optimal score.

One other thing I learned is that I stand up far fewer times throughout the day than I thought. I think Lumo counts them accurately, as each time I tested it, it counted the stand up correctly. But it just didn’t seem to increase very fast, even though I felt as though I was getting up a lot today. This is one of those things I didn’t know I didn’t know, and is part of the value of using this type of device.

Powerful realtime feedback, well-executed

LumoBack is a step in the right direction. What do I mean?

As Gary Wolf and Kevin Kelly mention in this fascinating discussion (starting at about 17:15 in the video), part of the next stage of the Quantified Self is that we don’t just measure and optimize a specific number or metric, but that we turn realtime data streams into a  new “sense” intended to be intuitively felt more than intellectually analyzed.

The example they discuss is a project where a compass was attached to a belt. The belt also had small buzzers along its length that could vibrate to indicate to the user which direction is North. After a while, the wearer developed an intuitive sense of which direction was North even when they weren’t wearing the belt. What a fascinating experiment! It’s one that I may try to replicate for myself.

The LumoBack’s ability to give realtime, tactile feedback to the wearer is something that sets it apart from many other activity trackers out there right now, and represents a step in the right direction. Granted, in this application it acts more as a reminder than a “sixth sense,” but there is something about the reminder emanating from the exact locus of the problem (i.e. it sits there vibrating against my lower back) that makes the feedback feel right in a way that is harder to ignore than if the reminder came from, say, my wrist.

Sleep vs. Lying Awake

According to the LumoBack iPhone app, it claims to track sleep time and position. What it really tracks is lying down time and position.

I laid down on my back for 6 minutes while having a conversation with someone and the Lumo later told me I slept 6 minutes on my back. This makes me wary of using the LumoBack on its own to track sleep duration.

I already use another device, the BodyMedia Fit, (and occasionally the Zeo Bedside) to track sleep duration. BodyMedia is an armband that uses an accelerometer to determine my movement. But presumably because it is located on my arm, which moves differently than my lower back when I’m lying down but awake, the BodyMedia device seems to have very few false positives for sleep.

And yet the Lumo gives me some great new sleep metrics (i.e. sleep position). So to get the best available overall picture of my sleep, I would want to use the duration data from BodyMedia or Zeo, and use that timeframe to filter the Lumo position data from the same period.  This is precisely why having access to the data through an API is so important.

Steps vs. Steps

Another comparison is steps. It has been well established by several members of the Quantified Self community that there are as many different definitions of what determines a “step” as there are devices out there.

At the end of Day 1, Lumo appears to be somewhat more generous about its steps (12,790) than the BodyMedia armband (11,415) though not tremendously so (approx. 10% discrepancy). Although this is only one day of data and others have found a very different discrepancy between these particular devices. Today was an above average day in terms of activity level.

About the LumoBack API

The data granularity appears to be 5 minutes, where it tells you either A) the percentage of time you spent doing x during that 5 minute period (e.g. the percentage of time you spent leaning forward in a bad way), or B) a count of how many times something happened in that time period (e.g. how many steps you took). Here are the fields that are currently available in JSON for each 5 minutes:

  • step count
  • get up count
  • car percentage
  • inactive sensor percentage (i.e. % of time the sensor thinks it wasn’t on a person)
  • lie on back percentage
  • lie on front percentage
  • lie on left side percentage
  • lie on right side percentage
  • sensor plugged into USB percentage
  • run percentage
  • sit bad forward percentage
  • sit bad left percentage
  • sit bad right percentage
  • sit bad straight (leaning back) percentage
  • sit good percentage
  • stand bad forward percentage
  • stand bad left percentage
  • stand bad right percentage
  • stand bad straight (leaning back) percentage
  • stand good percentage
  • walk percentage

Lumo also seems to have released code for a LumoKit which allows custom iPhone apps to be built that interact with the device in realtime. I am tempted to play with this in the future. Respect.

Leave a Reply