Sitrus is a data-management tool useful for tasks relating to self-quantification; in particular, Sitrus excels at collecting, curating and analyzing user-generated data.

It features a set of tools which enable a user to easily collect and organize their data using "Variables" -- structures created by the user using Sitrus's simple, yet powerful interface. As an abstraction, Variables are incredibly powerful due to their customizability. As such, there is often a steep learning curve associated with first using Sitrus. However, if you follow the documentation, Sitrus will rapidly become a tool which is easy to use for otherwise complicated tasks. After mastering the platform, users will find that many tasks which would not be otherwise possible become easy and routine.

Further, our team is tirelessly seeking to improve the self-quantification experience for everyone, so if you have any feedback please do not hesitate to reach out to us at

Tools for Analysis and Integrations

For the 1.0.0 release, the Sitrus team decided that the first official release would focus very heavily on making data collection through the site's tools as painless as possible. Slated for the 1.1.0 release, the Sitrus team has been rapidly improving a collection of analysis tools which will enable the user to perform sophisticated manipulation of their data. Because of the nature of the Sitrus interfaces currently implemented, it is very easy to import data from a supported integration like "Moves" or "Github". As Sitrus grows, the numbers of supported integrations will increase, with the additions of popular social media sites, wearables and other user data sources. Integrations automatically take data from a service and create "datapoints" for the connected Variable, without need on the user-end to manually input anything. With the 1.1.0 release of the full analysis toolset, it will become very simple to move the data from these datapoints through an analysis stage using a sophisticated, yet-easy-to-use query language based in SQL. Although we currently have built-in data visualization performed automatically on user data, we hope to improve visualization on two fronts: first, making a powerful API available to power users, allowing detailed customization. Second, we hope to improve the quality behind the algorithms which decide automatically how user data could be most informatively visualized: currently these algorithms are sufficient only for the most basic types of Variables, and we hope to extend the usefulness of automatic visualization to Variables of intermediate complexity. This will be of significant benefit to both beginner users and those in the intermediate-proficiency range, who may not want to learn how to use the query language or a complex visualization API on their own, but whose analysis of their data could be greatly improved in quality by better automatically-generated graphs.


The Variable is a concept central to Sitrus. It is a user-defined structure composed of zero or more "fields", each of which may be a string, a truth-value, a number or a time. A single Variable may contain several fields of different types or contain no fields at all. For example, if a user wished to track the time each day which they woke up, a Variable with no fields would suffice, as entering a datapoint would tag the time of creation automatically: they would merely need to open Sitrus upon waking up and click on the record button of this Variable. If a user wanted to record how much fluid they drink and what it was they were drinking, a variable could be created with two fields -- 1) a text or string field, where they would enter what type of drink they were having (e.g. "Coke" or "Tea" or "Water", etc.) 2) a number field used to record how much they drank in the desired units ("mL" or "glasses", etc.) The time that a datapoint is created is attached to it automatically, without the need for the user to request it. Thus, the Variable used to record a users drinking habits contains three pieces of information for each datapoint associated with it: the drink consumed, the amount consumed, and the time that this was recorded.

In priciple, Variables are intended as a means of tracking data on a particular subject or an aspect of a user's life. If, for example, a user was interested in tracking their weight over time, they could create a Variable called "Weight", which contains a single number field. Each time they weigh themselves, they record the result in their weight Variable. Upon doing so, Sitrus will create a datapoint which contains their weight as a number and a time stamp, adding this datapoint to a list of datapoints associated with the "Weight" Variable. Number fields are unique in that they optionally allow units: if a user desires, they can define any arbitrary unit as the unit of the numbers entered into the particular field. Note that units are set at the time of Variable creation, not at datapoint creation, and once set cannot be changed.

Fields have the option built-in to have a default value, allowing a user to instantly record a datapoint (even one with several fields), without having to manually enter any information, if the field(s) are the default value. For example, if a user has a Variable which records the number of cups of coffee they drink daily, and they usual drink 2 cups per day, it would be useful to give the number of cups field a default value of 2: then whenever they create a datapoint, it will be set to 2 automatically, and they will only need to enter information into the site when they drink a greater or smaller number of cups.

Using the Site

The main view of site shows a logged-in user the full collection of their existing Variables. The appearance of each Variable is customized by the user, allowing them to set the color and icon for their Variables, making it possible to visually tag and organize them (or to just make their Variables look nice!). When the user clicks on a single Variable, the user will be prompted to create a datapoint for that Variable. If the mouse is moved over the Variable title, three icons will appear. The top most icon (which looks visually like three white lines on a grey square) will open the Datapoint view, which displays the list of existing datapoints for a Variable. If there are several datapoints, the list will become paginated, in order to make finding a particular datapoint in the whole list much easier. To find a particular datapoint, navigate through the pages using the numbered buttons at the bottom of the list, (or use the "next" button to navigate to the next page of datapoints). Beneath lists for Variables with a numeric field, there is a simple line graph generated automatically from the first numeric field in your Variable graph against time. This feature is extremely experimental and is very likely to change drastically as Sitrus develops more tools for data visualization. As our tool set for analysis and visualization grows, we anticipate both smarter automatic generation for graph in this view and far more power given to the user to enable the creation of custom visualizations. The next icon (on the right of a Variable file) opens the "run query" prompt. From this view it is possible to run commands to retrieve or alter data, called queries. Queries are written in a language very similar to a flavor of SQL, which was developed at Sitrus explicitly for this task. The documentation on how to use the query language is coming soon!.

The third and final icon opens the "settings" tab. From this tab it is possible to customize the Variables appearance, change the display name of the Variable, archive the Variable (so it no longer appears on your dashboard but can still be retrieved), and delete the Variable. As a safety precaution against accidental deletion, the user must type out the full Variable name in order to delete it. Changing the title icon or color is a simple process of clicking the desired color and icon and then clicking the large "save" button at the bottom of the tab. To change the display name of the Variable alter the text in the "name" box until it fits your desired Variable name and click "save" to preserve your edits. All actions taken on the settings tab are reversible except deletion: as such, we have added additional safeguards surrounding it, to prevent the frustrating loss of data.


Groups allow the user to collect sets of their Variables in a single convenient location, removing the visual noise of other unrelated variables. Suppose a user has three different Variables which each represent a type of exercise, say "cycling," "pull-ups", and "tennis". A Group, perhaps named "exercise" could be created, to group them together so that it is possible to view only "exercise" Variables at the same time. To access the Group view, click on the folder icon in the top left next the sidebar. A drop down menu will appear, listing your current Groups and giving you option to create another. TO get back to the usual view, you can click on the top most Group (called "record") or click on the record view in the sidebar.