What I Learned from automating Domestic Chores

From an unruly robot vacuum cleaner to the creation of my app, discover the productivity hacks I learned along the way.

Ahmed Men
12 min readOct 16, 2019

I can literally spend hours on creating an automation that will save me a fraction of a second a day.

I concede, it is not the most efficient use of my time but anyone who’s obsessed with productivity tools like me will understand. It’s not so much about saving time that it is about the gratifying pleasure of knowing that everything works as you set out to do.

Only this time though, the process I set out to create didn’t take a few hours but several months. It got to a point where I think I have some explaining to do. Those around me are starting to wonder where I disappeared. I need to share with the world my latest obsession.

An afternoon almost like any other

It started with an Amazon package. Inside, a robot vacuum cleaner. It is time to disrupt the house cleaning industry with this charming robot.

Without even reading the user’s guide, too impatient to play with my toy, I send Gandalf (don’t mock me, iRobot forced me to name it) to do his magic around my bedroom.

Not bad, I think I’m falling for him.

So much so that I’m starting to worry for him. What if he falls down the stairs? I’m surprised by the strength of my feelings this early in the relationship.

Establishing a better communication with my robot

Another Amazon package. This time, a couple of door sensors. I’m aware some random Chinese manufacturer is now collecting the data of my comings and goings. If my privacy is the price to pay then, enjoy guys, it’s on me!

The logic is simple: IF my bedroom door is open THEN Gandalf stays on stand-by. This means the poor thing has no chance to fall down the stairs.

Humans and Robots are not compatible

I’ve read somewhere that love between humans lasts 3 years. Well, let me tell you something, I don’t see the same kind of longevity with my robot. Him and I, it lasted about 3 days. Yes, he is efficient but good God, he is loud!

We need a mediator. Gandalf and I, we don’t speak the same language.

I am recommended IFTTT (If This Then That) which allows a better communication with — among other thing — robots of his kind. Thanks to the mediation in Javascript, he finally shuts up.

If you are experiencing similar domestic rows, here is the message created by IFTTT that I threw in his cute face:

var time = Meta.currentUserTime.hour();
if (time > 21 || time < 9) {
Irobot.startRobot.skip();
IfNotifications.sendNotification.skip();
}
else {
//Continue running as usual
}

That keeps him quiet between 9pm and 9am. Good but not good enough. Gandalf still acts like I’m not there. I decide to set a security perimeter. As soon as I leave the 5km radius around my house, Gandalf switches on and can be as loud as he wants, I’m not there to hear it anymore.

With the help of our IFTTT mediator, we laid our agreement in writing. If any of you want the same protocol, you can follow these steps:

After all that, I discovered that Gandalf was equipped with cliff sensors which are designed to stop him from falling down the stairs… A reminder to always read the user’s guide first.

And now, what do I do with my door sensors?

There’s no reason to share my bedroom door data with China anymore. Time to throw them off the scent. I need to recycle my door sensors but what could I do with them?

I have a lightbulb moment. Why don’t I fit one on my letterbox? It makes sense to be notified every time you receive a letter, in the era of the email. It seems so natural and still every day we keep opening mostly empty letterboxes.

I suspect some of us carry on doing so because ‘no news is good news’ and we bask in the relief of seeing no bills.

All I can see now is a process to optimise and beyond that, the gratifying pleasure rearing its head on the horizon.

The Amazon package is back. This time, it is a letterbox. Yes, I got a letterbox delivered… in my letterbox.

I thought my postman would find it equally amusing but he is visibly unmoved.

Awkward.

I fit the sensor to my new letterbox, and it works:

“The Boîte aux lettres was opened!”

Added bonus, I now know the exact time when the postman comes. 🕵️

If you, too, think that we can disrupt the parcel tracking and registered mail industry with this embryo of an idea, get in touch! If you don’t and turn this idea into a unicorn… fair play to you. We probably agree on the fact that ideas are not worth anything.

Anyways, here I am stuck with another app for my letterbox, in addition to the one for my vacuum cleaner robot.

It comes in threes

I thought Gandalf and I were now tight like this. But one day, I came home and… he was attacking my curtains. Vacuum cleaner robots of his kind tend to tangle themselves in curtains if those hang too low.

I needed a solution to keep the curtains open whenever Gandalf was on a tidying mission. And to kill two birds with one stone, they needed to be scheduled to be open in the morning and close at night. A few seconds to optimise and gratifying pleasure as an added bonus.

An Amazon package. Hello Darkness, my old friend. Inside, a curtain sensor device. Yes, it exists and it works quite well.

The curtains are connected through an API to sync with the times of sunrise and sunset. With this, I discover the simple joy of softly waking up with the sun.

That’s how I found myself with yet another app, for my curtains.

One app per device

My phone is starting to feel crowded with all these apps that control all these devices. Every time I want to trigger an action, I have to search for the appropriate app.

‘iRobot’ for Gandalf, ‘Smart Life’ for the curtains, ‘Lifx’ and ‘Phillips Hue’ for the connected lightbulbs. ‘Kasa’ for the connected plugs of the fan, the coffee machine or the lamp. ‘Nuki’ to open the door. ‘Sonos’ to play music through the speaker, etc.

You open the wrong app once, twice you grunt a little, third time… hey, what if there was a way to save a few seconds here?

I first moved all the main actions on the Shortcut app, which comes with the iPhone:

The idea is to connect all your objects via IFTTT and assign them a webhook — an URL the Shortcut app will call in the background.

So bourgeois

If you are on Iphone, the Shortcut app does the job, but I quickly realise that with it, comes a new issue.

When you are for instance, coding, writing an email, or generally working on something important: you don’t want to reach for your smartphone to turn on a lamp.
I mean, you might as well go back to the Stone Age and directly flip the switch, why don’t you.
Besides, I don’t know about you, but I tend to keep my smartphone as far away as possible from me while I work, to avoid any distractions.

What I want is to be able to hit a shortcut straight from my keyboard to turn the lamp on and keep on working without interrupting my workflow.

I was sure that I could find the equivalent of the ‘Shortcut’ app for Mac… Much to my surprise, I could not.

It becomes clear that this time, the process I want to optimise is going to take a lot more time than anticipated.

Another side project

The best way to get new ideas is to not actively look for them. A side project is the perfect compromise to test things, identify needs, develop an almost esoteric expertise and in short, organically sprout good ideas.

It might sound counter-intuitive but I am convinced that if you don’t have a big long term vision and you are solely focused on problem solving, the field of possibilities then widens.

Constraints stimulate creativity. Stressing over making your great vision come true, kills it. Between the two, the side project is the ideal space to experiment.

I stopped counting the side projects I have on the go and those which were aborted. But this one has survived because it has been carried on without any ulterior motives. I see it as a problem that only I wish to solve for myself. Whether it works or not, after all, it does not matter.

The idea generation that I break down in this post, I would have never been able to kickstart it had I not approached each step with a bit of naivety.

I like comparing the world of ideas to Taleb’s Black Swan theory

“We live in an uncertain world and our Platonic tendency for reasonings and pure and well-defined “forms” leads us to believe that we know more than we actually do. In the case of an extraordinary event, as soon as it happens, it becomes ordinary, retrospectively predictable. The human mind will immediately look for the causes of such event, how it happened, and why it wasn’t predicted.
It will become obvious that the event was predictable, at least a posteriori, as no-one thought of it a priori.”

As soon as we have integrated the fact that we live in an unpredictable chaos and that no one is “a priori” right, we can then focus on making and trying. Rather than thinking of great strategical designs on what the future could be for an idea and how visionary it is as criteria to select a side project.

What do we start with?

We start by learning Swift to build a menubar.

I add 4 or 5 actions to it, and it works well. A keyboard shortcut and it turns my desk lamp on. What’s next? I add about ten more actions, and it still works great! After a long session, quite chuffed with myself, I hit a keyboard shortcut to turn my desk lamp off before going to bed, and it fires… Gandalf. Him again.

On the difficulty of memorising too many shortcuts

Initially, my problem was that the actions to control my devices were scattered among several apps. I always ended up opening to wrong app. I realised I had just moved my problem to keyboard shortcuts. They were too numerous to memorise. I needed to rethink the experience, the menubar app in this incarnation was unsatisfactory.

But then, I stumbled upon a post by Paul Graham:

When you have an idea, ask yourself: who wants this right now? Who wants this so much that they’ll use it even when it’s a crappy version one made by a two-person startup they’ve never heard of? If you can’t answer that, the idea is probably bad.

I come to the conclusion that

  1. The crappy version: been there, done that.
  2. I still don’t know who would want to use this tool as it is now, nevertheless it is time that I confront it to reality.

Rite of passage in the depth of Reddit

I spend my days reading threads in the Reddit IoT community. I want to understand their needs and test my hypothesises. I find out, much to my relief, that obsessives like me are legions there. But more importantly, I find out that the problem I was trying to solve for myself also existed for others.

The only thing left to do is to do it

A Figma mock-up, a landing page and we’re good to receive the first feedback from potential users as well as from friends and family. It felt good to let my nearest and dearest in on the project I’ve been working on the last few months. But I don’t let their feedback sway me too much as the only feedback I’m interested in is from the target of my product.

Still, I cautiously give a demo to a few mates whom I think are relevant. Optimistic friends are often too polite to bluntly tell you that it is a terrible idea while sceptical ones can be dangerously demotivating. But sometimes they can hit you with a brainwave:

“You need a cmd+k! You really need a ⌘K before the launch!”

hammers Mehdi Boudoukhane, like a cruel reminder of my rejection by Superhuman a week earlier.

Yes, they can totally refuse that you send them $30/month if you don’t fit their persona.

The ⌘K is the Email Client’s keyboard shortcut to access all the actions that you need to reach inbox zero.

Mehdi explains in this brilliant post why it is important to take inspiration from Superhuman and how to go further than the ⌘K to develop your own superpowers.

Superhuman launcher

Cmd+k seems to be the perfect way to overcome my problem of forgetting and confusing too many keyboard shortcuts.

Being as obsessed with Alfred as Jonathan Lefèvre, I use a similar launcher to ⌘K, sometimes up to 120 times a day (for instance, I use it to launch a Trello board with the control ’t’). And still… the penny hadn’t dropped.

Alfred Launcher

The solution is often right under your nose, luckily feedback from friends can be a great way to make things click into place.

I dive back in the code, impatient to put this new feature to the test and after this update, I am determined to launch this version as is.

Lazy Launcher, one shortcut to rule them all

Introducing Lazy

“I will always choose a lazy person to do a difficult job because a lazy person will find an easy way to do it.” — Bill Gates

Even though there are conflicting reports on whether this quote is even from Bill Gates, I think those words are inspiring all the same. The app will be named Lazy as it vows to find easy means to achieve difficult tasks.

A video is worth a thousand words.

The app is far from perfect, I see it as an MVP and I wanted to keep it minimal for the three following reasons:

  1. The solution fixes my problem well enough. Now, I experience gratifying moments several times a day with Lazy — without ever needing my smartphone, without any distraction and without getting any shortcut wrong — whether it is to activate a connected device at home or at the office. The same way, I will even be able to deploy www.lazy-app.com into production via Netlify.
  2. Just like a white and empty apartment, this version gives me the canvas to project and I can ‘decorate’ with the users feedback in mind until it feels cosy.
  3. I learned a lot around Swift/Objective-c but I am still technically too limited to build something more ambitious in a reasonable time frame.
    If you have already identified the next steps for Lazy and you’re excited by the perspective, let’s get a coffee! I’m mainly in Brussels but I go to Paris once a month.

The time is now!

We can discuss whether one should launch on Product Hunt, whether it is relevant or not. We’ve witnessed amazing products totally flop and vice versa, useless products go through the charts.

But I still want to have this experience, to form my own opinion. I have a very positive outlook and if you got this far, reading this post: I’m going to need your support!

Lazy is available in early access and the launch on Product Hunt will take place this Monday. Subscribe so you can watch the take-off 🚀

--

--