Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Thymeflow is a Personal Information Management System, a system that loads your personal data (Contacts, Mails, Events, Location History) from different sources (CardDAV, CalDAV, IMAP, Google, Microsoft, Facebook) into an RDF store. It automatically infers alignments between contact and mail data (persons), calendar and location data (event locations).


Thymeflow is a Web application that provides the following features:

  • Loads personal information into an RDF store. The following sources of personal information are currently supported: Email (IMAP/RFC2822)
    • Calendar (CalDav/iCalendar)
    • Contact (CardDav/vCard)
    • Location data (Google Location History)
  • Provides easy to use configurators for Google/Microsoft accounts using OAuth.
  • Extracts Stays/Moves from Location data.
  • Automatically infers alignments between contact and mail data (persons), calendar and location data (event locations).
  • Provides a SPARQL endpoint for querying the RDF store, which features full-text search (Lucene SAIL).

For knowledge representation, Thymeflow uses the ontology where possible, and its custom ontology otherwise.

Thymeflow's code is split into two repositories:

Getting started

This repository makes it easy to deploy Thymeflow on your servers or personal computer. The suggested installation is based on a Docker Compose file. To get started, follow these instructions:

  • Install Docker:
  • Install Docker Compose if it was not included with the Docker installation for your system:
  • Create an conf/application.conf file from the template conf/sample.conf and provide the required client ids and API keys for authenticating with third-party services. Refer to the configuration section for more details.
  • Run docker-compose up.
  • Open your browser at http://localhost:4200.

To keep up-to-date with the latest version, run docker-compose pull then issue a docker-compose restart.


conf/application.conf's configurable properties are described in reference.conf.


At the moment, the distributed Docker images are optimized for development. Production-optimized images will be provided in the near future. A Docker Compose file that can be used to setup a full development environment will also be provided in the near future. By default, the front and back end services run on ports 4200 and 8080, respectively.


  • License: AGPL v3, as described in LICENSE.txt.
  • Copyright is described in a COPYRIGHT.txt file in each project.