Skedpal: Forget About Todos & Calendar Apps, Meet Your Personal Assistant

Hedia Rached
13 min readSep 3, 2022

--

In my quest for the perfect productivity system, I tried many todo/calendar apps in the past. Yet, I’ve never been satisfied with the way I was handling my tasks — until recently.

A few months ago, I discovered an absolute gem of an app, Skedpal. This is the least known app I’m using but also the most essential app when it comes to my productivity system.

What am I expecting from my to-do/calendar app?

Let’s put aside the features lists and marketing mumbo jumbo for a moment. If I describe exactly why I’m using a todo app and/or a calendar app, it comes down to this:

I want an app that tells me what I should be doing at every moment of the day. It should optimize the way I use my time while allowing me to meet my deadlines and achieve my most important goals.

While being very simple, achieving that is very difficult because:

  • The list of tasks keeps growing
  • The task priorities keep shifting and competing
  • We’re very bad at estimating how much time we need to complete a task
  • Most of the tasks need a very specific context to be executable

Why regular todo/calendar apps don’t work

With a simple to-do app, it’s very easy to see why it falls short:

to-do apps are not capable of telling you what you should be doing at a given time — to-do apps are essentially apps that keep lists.

It doesn’t consider the context you’re in, nor does it consider the time it takes to complete a task. Also, it doesn’t consider your other obligations/fixed appointments.

You’re provided with a list of tasks and it’s up to you to decide which one to start working on.

Also, you have to make that decision many times a day. For me, it’s not working.

As for calendars, they’re very good to keep track of fixed appointments. Yet it’s not very useful when it comes to scheduling work that doesn’t have a fixed schedule. Also, when you have to reshuffle the priorities for your tasks, it’s a no-go.

Also, you have no way of ensuring you’re spending enough time on important but not urgent tasks (your long-term goals).

Let’s see how Skedpal gets rid of these limitations.

What is Skedpal?

The best way to describe Skedpal is as a personal assistant. You tell him for each task:

  • what do you want to be doing
  • what is the due date if any
  • how long do you think it’ll take
  • what is the priority
  • Are there specific timeslots where you can work on it

Based on that (plus a few extra parameters), Skedpal will build the schedule automatically for you.

The built schedule will be optimized to ensure you’re working on the most relevant task and you’re meeting all your deadlines.

Most importantly, the schedule will get updated throughout your day to reflect your progress/changes in your tasks/priorities.

Key features

There are a lot of functionalities offered by Skedpal. When using it for the first time, it’s less straightforward to use than your basic to-do application.

Yet, the tool has been designed in a way that doesn’t force you to use all its functionalities right from the start. You can learn to use more and more advanced features as you go ( the knowledge base is extremely well made).

Let’s go through the main features.

Task capture

The first thing you’ll want to do with a to-do application is to enter new tasks.

It supports natural language processing, meaning that’ll interpret what you’re writing to extract task properties like the expected completion date, the expected duration, the priority, the associated project, and the targeted time map, …

It’s very easy to enter new tasks.

With Skedpal it’s very easy. There are many ways to do it. The easiest one is to click on the big plus button that you can find when you open the application. You then enter your task details in the title.

On top of entering a new task, you can also see all your tasks, reorganize them or change them. The tasks are presented in a Workflowy/LogSeq way (list of nested bullets). It’s very visual and very easy to manipulate.

Fixed vs flexible schedule

The tool makes the distinction between tasks with a fixed or flexible schedule. This is very clever.

For your fixed schedule tasks, you are specifying exactly when you want to be doing it, Monday, July 2nd at 2 pm. That’s a fixed schedule.

But you’ll find that for most tasks you enter, you don’t have to do it at a very specific time. In that case, you’ll be using the fixed schedule — that’s where Skedpal shines. In that case, the task will be automatically scheduled based on its priority, duration, and time maps (see below for more details).

On top of this distinction, you can also specify due dates. This allows you to ensure that your task will be scheduled before a given deadline.

Blocked time vs bundled

This is yet another clever distinction introduced by the tool. It differentiates between:

  • tasks where you need to allocate a block of time to be able to focus on the tasks for a fixed amount of time (to get in the zone if you will)
  • tasks that you have to do without having to spend so much mental effort. These easy-on-the-brain tasks are called bundled tasks. In a given time slot, you can group them to execute them in one go.

This will typically represent the tasks like booking an appointment with the doctor, going to grab some food for dinner, …

On the other hand, you have blocked time tasks. These tasks are the ones where you want to be able to focus and get in the zone.

These will be mostly used for deep work (creative work, programming, …).

There are a lot of customizations you can introduce here, like the minimum time block size(let’s say I estimate it’ll take 4h to finish writing a document, I’ll create a new Blocked time task with a minimum block size of 1h — I don’t want to have the tool allocate multiple 10 minutes block, it’ll be too short for me to get in the zone).

Time maps

This one’s also very clever.

You can define time maps as a block of time you define from Monday to Sunday.

Then, when you define a task, you can specify on which specific time map you want to work on it.

Let’s take an example: I can create a work time map, starting from Monday to Friday, 8 am to 7 pm. Then all the tasks that I want to tackle during my work hours, I’ll assign the “Work” time map.

I can define other time maps for weekends or leisure or evening. I can then use these time maps to ensure tasks are scheduled in the relevant time slots.

I can even do more advanced things: I can assign a task on the intersection or union of two-time maps (i.e. — I want to do work on this task either in the evenings or on the weekends, I want to work on this task during the weekend during the afternoon, …).

This is super powerful. By cleverly designing your time maps, you can also create time slots by subtraction: I want to work on these tasks during weekends anytime except during the evenings.

There are even more advanced options with this feature to tailor the scheduling to your exact needs.

Priority

I like the previous feature a lot, but I like this one even more.

As I said earlier, the thing I missed with the GTD system was a correct prioritization system. Quite often, I felt not in line with my goals. This was due to the prioritization system not being clever enough. With GTD, you take the task that you CAN execute at one moment — because you’re at the right place and you have enough time for it. You’re not building your schedule to make room for important tasks.

Here’s how it works with Skedpal:

  • You can assign a priority to each one of your tasks when entering it
  • Then, once you triggered the scheduling of your tasks (check below for details), you’re able to get a view of your tasks scheduled for the next week
  • You can then play around and reorder your tasks to be even more specific on the priority. For instance, you can reorder tasks that have you entered with the same priority

With this tool, you don’t have to mess with artificial deadlines. You know that by assigning the right priority to a task, it’ll be scheduled the best way possible based on your constraints (appointments and hard deadlines).

For instance, you can set an artificial deadline for a task to today at 2 pm and at the same time enter a task with no deadline but a high-level priority. In that case, it’s possible to have your task with no deadline scheduled before your task at 2 pm.

You should trust the tool and play with the rules. If you specify your constraints, it’ll come up with the best plan possible. If you want to tweak it, tweak the right parameter. You’ll end up with the best schedule possible based on all your constraints.

Calendar integration

This one’s a big one. Most to-do applications do not care about your constraints. It keeps track of your tasks, at best you can specify a priority, and then it’s up to you to decide when to tackle it. You often have to cross-check with appointments on your calendar to see when you can start working on which task.

With Skedpal you can forget about manually scheduling your tasks on your calendar or organizing your tasks to account for unexpected changes in your schedule.

You have tasks or events at fixed dates (events do not appear in your tasks list, just in your calendar at fixed times).

These you theoretically cannot move (e.g.: you have an appointment at the doctor). What you want is to have the tasks that are not attached to a particular schedule to be organized around your fixed schedule events. Also, you want these tasks to be scheduled based on their priority.

Auto scheduling

I kept the best for the end, this is THE killer feature. It’s what’s been missing in most to-do applications if you ask me. With this feature, Skedpal will create the perfect schedule for you in a calendar view. It’ll do that based on all the information you provided for your tasks (priority, time map, duration, …) and your calendar appointments.

Each time you click the Schedule button, it’ll compute the best schedule to match all your constraints.

When’s even better, if in case of an unexpected event dropping during the day. You enter the new event as a fixed-time event with the right duration and ask Skedpal to reschedule. It’ll then recreate a schedule that matches your new constraints!

You can do this as many times as you want. You know that, as soon as a task is in Skedpal, with the right information:

  • you’ll tackle it before its due date
  • you’ll tackle the tasks with the highest priority first.

When you start to realize that you can remove everything from your head, dump it in Skedpal and be sure it’ll remind you to work on it, it feels amazing.

Advanced features

I won’t go too deep into the advanced features proposed by Skedpal but just mention them.

Project planning and dependencies

You can handle projects in Skedpal thanks to its dependencies management. You can among other things:

  • make tasks depend one on another
  • define tasks as executable in parallel
  • put some time between the execution of two tasks

There’s much more to say about that one, but it gives the idea.

Zones and budget

This is another advanced feature of the tool. You can sort your tasks by category (work, family, workout, personal project, …). You can then tell Skepal how much time you want to spend on each category each week:

  • half your time on work-related tasks
  • 20% on personal projects
  • 30% with family

This ensures you’re allocating enough time to areas of your life where you may otherwise forget to spend time.

The budget functionality comes in very handy to set out habits (hit the gym e.g.) by setting a weekly budget combined with time maps, it’ll ensure that you’re going to the gym at least 3 hours a week on dedicated time slots.

How do I use it

I use the app to track ALL my tasks: work, personal projects, habits, family, …

The first thing I did was to define my time maps:

I define all the relevant time maps that I use to schedule my tasks. The ones I use the most:

  • Work hours: when I’m at work
  • Lunch: speaks for itself
  • Sannois/Paris: these time maps map to my on-site and remote workdays
  • Zack: this maps to the time my son is home

The next thing I did was to create my two main projects, work and personal:

For each one of these projects, I’ve assigned default values for the tasks I enter:

  • what time map the tasks are assigned to
  • should it be scheduled as blocked time or bundled
  • what’s the default duration for a task?

For instance, when I enter tasks in the work project, it associates it with the work & not lunchtime maps. That way I make sure Skedpal will schedule the task during my work hours outside of lunch break.

Now how do I interact with Skepal daily? I have to way of interacting with it, either while I’m at work or on the go.

At work workflow

The first thing I do when I get to work in the morning is open Skedpal. I then go through my Outlook mailbox. For each mail that requires follow-up, I create a task in Skedpal. I assign it with the work project, add the estimated completion time and priority, and add a link to the mail in the task note. In this first step, I don’t take any other action than creating the tasks.

Once done, I then open the Skedpal priority board. I reshuffle the tasks based on their priority. I then click the Update schedule button.

At this stage, I’ll generate my planning for the day and I’m confident nothing slips through the crack.

My workflow for the rest of the day is as follows:

  • Each time I receive a new meeting invite, I create a new event in Skedpal to account for that. I then click Update schedule right after.
  • Each time I come up with something I want to be working on or I get a list of actions following a meeting, I add a task in Skedpal. I then click the Update schedule button and keep following my agenda.
  • Once I’m done working on a task, I’ll simply mark it as done in my calendar.

That’s pretty simple, yet it covers everything, nothing slips through the cracks.

On-the-go workflow

Now when I’m on the go, I use Skedpal on my phone as a capture tool. Creating new tasks in the mobile app is pretty straightforward, and the NLP works pretty well.

The only thing I’m missing is the priority board. It’s not possible to adapt the priority of a newly entered task: I have three levels of priority, P1, P2, and P3. When I’m using Skedpal on my laptop and I enter a P1 task, thanks to the priority board, I can order my P1 tasks and increase the priority in that category. It’s not possible with the mobile app. Hence, if I have multiple P1 tasks but I want Skedpal to schedule this P1 tasks ASAP, it’s not possible with the phone app. It’ll be the least the tasks with the lower P1 priority associated.

I hope this will be fixed sometime in the future.

What could be improved

As good as the app is, there are a few things I wish could be improved.

  • First on the list is to be able to adjust the priority of a task using the mobile app as explained above.
  • Next, I wish it was possible to have the app automatically trigger a schedule every time I add a new task or I reach the end of a scheduled task. Today, I click many times a day the update schedule button to make sure my schedule is up to date.
  • Finally, I wish there was a REST API available to ease the automation — e.g. creating a new task from Raycast. Currently, the only integrations available are via email or Zapier. I find both options inconvenient and expensive in the case of Zapier.
  • Last but not least, the interface would benefit from a UI refresh. It’s one of the rare apps that doesn’t look so good but that is amazing. Most of the time it’s the other way around 😄.

Closing words

If it’s not clear by now, I’m a huge fan of Skedpal.

There’s not any other app that offers this kind of service with this level of control.

The slack community is quite active and the creator of the app is extremely responsive. I hope it gets the visibility and success it deserves!

Note: this is not a sponsored article, just my honest feedback as a several-month happy customer.

Originally published at https://rachedhedia.com on September 3, 2022.

--

--