Skip to content
Alleviate your back pain using Haskell and a webcam
Branch: develop
Clone or download
Latest commit ff59050 Oct 20, 2017
Type Name Latest commit message Commit time
Failed to load latest commit information.
Setup.hs Switches to standard compilation May 8, 2017
TRANSLATIONS Adds current version of keera-posture Mar 14, 2012
keera-posture.cabal move readme to markdown, closes #8 Oct 20, 2017

Welcome to Keera Posture

This application tries to detect your posture while you sit and warns you when it deviates too much from a reference posture given during configuration. It may be used, among other things, to help you detect when you are sitting in a straining position.

WARNING: No promises are made about this program. If you use it, you'll do so under your own risk. This program might make your computer explode, kill your cat, or make your back pain problems worse. Use it with care and under medical supervision only. Report any issues with the program to Keera Studios by email, facebook, linkedin or google plus. It is best used in combination with programs that force you to take regular breaks, stretch, etc. By continuing to use keera-posture, you are agreeing not to sue us or Keera Studios Ltd.


Keera Posture is available on hackage. Unless you need the latest development version, the recommended way is to install the version there.

Install C/C++ development headers. That includes gtk, sdl, opengl, opencv.


$ cabal sandbox init
$ cabal update
$ cabal install gtk2hs-buildtools
$ export PATH=$PWD/.cabal-sandbox/bin:$PATH
$ cabal install keera-posture

INSTALLATION ON DEBIAN (the not-so-easy way; but still quite easy)

You need to have git, cabal and ghc installed. Everything else will be installed for you. You also need to run sudo (at least once) so that the script can sudo without a password whenever it needs to.

All you need is:

$ mkdir -p keera-posture && cd keera-posture && (wget -O- | bash)

This will create all the necessary directories, check out all sources, prompt to install dependencies, compile the whole program, and create a DEB file for your architecture and version of debian/ubuntu. If it works, install that.


Again, you need to have ghc, cabal, cabal-dev and git. You also need some libraries installed (GL, SDL, SDL-mixer, FTGL, OpenCV, Gtk2, Glade2). The list for debian systems is:

  • libopencv-dev libglade2-dev libgl-dev libglu1-mesa-dev libftgl-dev libsdl1.2-dev libsdl-mixer1.2-dev

I don't use Fedora, so you have to find which ones are yours. Then, run the following:

$ mkdir -p keera-posture && cd keera-posture && (wget -O- | bash)

This will check out, compile and install everything you need.

DOING EVERYTHING BY HAND (only for developers)

Dependencies (tools):

  • alex (gtk2hs-buildtools), happy (gtk2hs-buildtools), gtk2hs-buildtools.

Dependencies (libraries):

  • libopencv-dev libglade2-dev libgl-dev libglu1-mesa-dev libftgl-dev libsdl1.2-dev libsdl-mixer1.2-dev

(If you use debian/ubuntu, you can install all of those with apt-get)

Installation instructions (for ubuntu, but the program is known to work on Windows):

    $ apt-get install cabal-install ghc libopencv-dev libglade2-dev libgl-dev libglu1-mesa-dev libftgl-dev libsdl1.2-dev libsdl-mixer1.2-dev
    $ cabal sandbox init
    $ cabal update
    $ export PATH=$PWD/.cabal-sandbox/bin:$PATH
    $ cabal install alex happy gtk2hs-buildtools
    $ cabal install keera-posture

Keera posture will be installed in keera-posture/cabal-dev/bin/keera-posture. If you want to create a desktop launcher, can make a good icon.

Please, go to your preferred social network and like Keera Studios, share our posts, follow us, tell all your friends about it. Record a video of you using the program, and upload it to youtube.


The first time you run the program, you have to calibrate it. Just sit how you think you should sit (and consult a physician if you don't know how to sit properly) and right-click on its icon, and click on "Calibrate". Follow the assistant, and the program will detect you and record your position.

After that, the position will be saved in a config file and the program will warn you (using sound, a window and/or changing the tray icon) when your posture is too different from what it was when you calibrated the program.

Test the program. The placement of your webcam and the amount of light in the room can influence the accuracy of this system, so feel free to experiment and find out how to get better results. Also, if you can think of new features that might be useful, go online and open a ticket on the program's github page.


Keera Hails - Reactive Values:

You can’t perform that action at this time.