Work & Projects

  |  Thor Galle

Hi! I'm Slowby's Chief Technologist

Slowby is a social enterprise from Belgium that makes slow travel more accessible. We mainly work on the hospitality platform Welcome To My Garden, but we also have several other projects:

Welcome To My Garden

Welcome To My Garden is a community of slow travellers, where travelling members can stay for free in the gardens of WTMG hosts. WTMG has an intuitive map to find hosts along bicycle or hiking paths (it integrates with [Waymarked Trails](https://waymarkedtrails.org/)), and a simple chat system to contact hosts.

WTMG is [member-supported](https://welcometomygarden.org/about-membership). Aside from being able to send stay requests, members get access to extra tools like uploading `.gpx` files to find gardens along a planned trail, a community space with likeminded travellers, a railway transportation map, and more!
Founded during the corona summer of 2020, WTMG is a community platform where slow travellers can find a camping spot in people's gardens.

Slow Travel Pass

Slow Travel Pass is a collection of complete trip plans for 25+ slow travel trips in Belgium. These trips were hand-crafted by my colleagues Dries and Manon, building on the experience of having planned 600+ custom trips for slow travellers in Belgium (with great reviews!).

Slow Travel Pass takes travellers across Belgium's varied natural, cultural and architectural features, in formats to fit any slow traveller's available time and effort level.
A website with complete trip plans for 25+ slow travel trips in Belgium.

Women Don't Cycle (documentary)

_Women Don't Cycle_ is a 2022 documentary by my colleague and Slowby co-founder [Manon Brulard](https://www.linkedin.com/in/manon-brulard). It is a film about what it means to be a woman cycling in different countries around the world.

The documentary was shot during an eleven-month bicycle touring trip from Brussels to Tokio, with Slowby's other co-founder [Dries](https://www.linkedin.com/in/driesvanransbeeck) (more about their trip at [Road to the Rising Sun](https://roadtotherisingsun.be/)).
A documentary about what it means to be a woman cycling in different countries around the world.

Previously...

I have worked in consulting at Columbia Road & front-end & more at Readup.

Read more about my past work →

I also hack on projects for fun 👀

I've recently worked on...

And, here's a selection of past projects, both recent and older.

Mealime/Siri integration 2022 → 2023

In September 2022, I built a simple HTTP API that wraps the internal grocery list API of the meal planning app [Mealime](https://www.mealime.com/). It abstracts away cookie-based authentication into a simple fixed token, so the API can be used from an iOS Shortcut and other simple HTTP clients.

Amongst others, I used this Shortcut to build a grocery list integration with Siri: I can now add items to my grocery list without picking up my phone, and I often do!

In February/March 2023, I rewrote the Node.js app into Deno, extended its functionality, and released it publicly on GitHub.
An unofficial Mealime API wrapper for usage with Siri via Apple Shortcuts.

Dash 2020

Dash is a browser extension that adds a "new tab" dashboard with widgets driven by personal data from various sources. 

This project started as a design exploration in time management in October 2018. When trying to learn a new skill, or reach certain outcomes in a project, consistency is key. _"Practice a little every day"_, _"Write a little every day"_. But reaching consistency is difficult, it relies on balance. Overspending time on one project takes it away from other projects, a situation I often found myself in (and I still do).

What if you could, ahead of time, plan **timeboxes** for all the projects you wanted to work on in a week, or in a month? And crucially, what if you could also nudge yourself into respecting those timeboxes by geting frequent and instant feedback on your overall progress?

At the outbreak of COVID-19, and while procrastinating on my thesis work, I experienced a surge in interest to work on this again, and I started implementing a proof-of-concept. Iterating on the above idea, I first built the **"Time Goals"** widget. Later, I built two more related widgets: a "streaks" widget, and an (audio)book-specific time goals widget.

## The Time Goals Widget

 The Time Goals widget consisted of two parts:
- Live time tracking data for my projects, which came from two sources; the [Toggl Track API](https://developers.track.toggl.com/) for my personal projects at the time, and the [Harvest API](https://help.getharvest.com/api-v2/) for my Columbia Road work projects at the time.
- Time goals, which I set in the dashboard, for projects I wanted to commit to at the time. For example, "I want to learn Swedish for 6 hours per week" would be a goal.

The widget then showed my progress towards the goal of each project in a progress bar, dividing the time goal equally over each weekday. With colors, it visually represented how much I was on- or off-balance:
- <span style="color: blue;">Blue</span> meant: completed according to schedule
-  <span style="color: red;">Red</span> meant: overdue, should have been done.
-  <span style="color: gold;">Yellow</span> meant: to be done today.
-  <span style="color: green;">Green</span> meant I "overshot" the goal, or did more than planned given this distribution (can be a bad thing!).

I used this for about two months, and I felt it did help me to achieve a better balance. A new tab page is one you see often, so I would get reminded of my undershooting and overshooting all the time, which would steer my behavior.

I wanted to take this step further, according to my original designs: what if you didn't just set a fixed number of hours as a project goal for a week/month, but would also integrate it with your digital calendar?

Then the tool would help you in more ways:
- When planning, you could add, rescale and reshuffle calendar events for each project, until each project reached the desired quota of time: _"Is your calendar sound? Does it match your intentions?"_
- Your expectations for a day would be more fine-tuned: the dashboard wouldn't nudge you to work on a project on Tuesday or Wednesday if you wanted to complete it all Thursday.
- When your calendar changed, as it often does, you would see the impact it had on your overall distribution of time for a week/month, and you'd be better informed to make resulting changes.

But while getting somewhere, I had not finished this part of the implementation. Along the way though, I saw more opportunities for this Dashboard that I did try out.

## The "Streaks" Widget

Not everying ought to take a distinguishable number of hours in a weekly plan. A habit can be a small thing, like practicing on Duolingo for a few minutes each day. For these types of commitments, I added a "streaks" widget.

I picked two external services that I wanted to use daily at the time. Both had a "streaks" concept of their own.
- First, there was Vocabulary.com, the object of my [Vocabulary.com Enhancer tools](/projects/vocabulary-com-tools/). The entry would also link to my last-practiced list, so I could directly jump into the next session. 
- Next, there was Readup.com (for which I didn't work yet at the time). Similarly, it showed my last Starred article.

Neither of these had a public API, however. This sparked some creative web engineering to retrieve arbitrary authenticated web app HTML from these srouces. I used a web extension to proxy privileged requests with my cookies/credentials to my "new tab" page, which inconveniently was a regular web page. It needed to be a regular web page, because I relied on the Service Worker's Cache API to cache requests for quick loads, and that was not supported in extension pages at the time.

## The book widget

The last widget I added was the book widget. I didn't only want to track time spent on my computer, but also time spent learning otherwise: through books, or audiobooks, and bring it fairly into consideration along with the rest.

Using the same proxy extension, I could parse my progress on audiobooks with Audible's web app  (see [this post](/articles/regex-puzzle-either-and/) on a regex challenge therein). I could then set a time goal to finish my book by a certain date. I also worked on fetching progress from Kindle's web app, but if I remember correctly, couldn't sufficiently reverse-engineer the web app to extract my progress.

## Conclusion & legacy

I used a development build of this project for some months as my daily-driver new tab, and enjoyed it! I thought it did help me. However, I got stability problems with some widgets. For scraped "APIs", it counts that if the HTML changes, the app likely breaks, which lead to annoying errors on my new tab. Other work encroached: I submitted my thesis, I became a full-time employee at Columbia Road, and I didn't feel like spending time to maintain and upgrade it to keep it working. Who knows, maybe this will change some day. But not today.

A big year later though, just after my professional stint at Readup ended, I got excited when I learned about Potential. Their idea of a habit _forming_ app aligned well with what I had dreamed of here. When I introduced myself to [CEO Welf](https://www.welf.co/), I presented this project too. I like to think that that helped me get hired, when I eventually also applied totheir open Software Engineer role.
A "new tab" dashboard with widgets driven by personal data from various sources, to keep track of your commitments & habits.

Vocabulary.com Tools 2018 → 2020

Voc Enhancer is a set of features hacked on top of the English vocabulary learning platform & dictionary Vocabulary.com. Its Chrome and Firefox extensions have nearly 1000 users. I also built an API wrapper and use it to synchronize dictionary lookups in an Amazon Kindle to a Vocabulary.com list.
A suite of tools to enhance English language learning on vocabulary.com.

Movie Visualization 2018 → 2019

This project is an interactive and chronological visualization of the movies I've watched between ~2015 and 2020.

Tracking movies I watched is something I started doing in 2015, as part of a general move to track many things I do. In early 2018, a idea germinated to also do something with that data. 

I made a small proof-of-concept visualization to prove a theory to myself: I thought I watched movies in intermittent sprees, and then didn't watch any for a long time in between. The visualization answered my question positively. In 2019, I believed more could be done with this data: a full-fledged visualization with movie posters, together with a recommendation form.

You can read the full story of the creation of this visualization in [the article from 2019](/articles/movieviz/).
An interactive visualization of movies I watched during 2015-2018, with some commentary.
More personal projects →
Licensed CC-BY-NC-ND 4.0 · 2024 · Contact