Project Checklist guides · 3 of 4

Setting up your first project

Download this page: PDF · Markdown

From a marked job to a working board. Build it by hand, write the whole thing as plain text, or save a finished project as a template for next time.

You've marked a job as a project. This page gets you from there to something you can work with.

Five minutes by hand. Thirty seconds with a template. And once you've run one project properly, you can turn it into a template with two clicks, so every job like it after that starts already planned.

What you're looking at

Any checklists already on that job are sitting there as lists, and the items on them are tasks. If the job had no checklists, you'll see an empty board. That's normal.

Every list is a column. Every task sits in one list. That's the whole structure.

Adding a list

Choose + Add checklist, give it a name, save.

Name lists for the state the work is in, or the stage it belongs to. That's the Board-or-Timeline decision showing up in your list names:

  • By state — In Progress, Up Next, On Hold, Done. Work moves left to right as it progresses.
  • By stage — Site Assessment, Approvals, Install, Commissioning. Work belongs to a stage and stays there.

Solar installs and renovations usually want stages. Defect lists and maintenance work usually want states. If you're not sure, start with states — it's easier to read at a glance, and you can rename later.

Adding tasks

Choose Add task on any list, type the name, save.

Write task names the way you'd say them out loud. Book crane. Chase approval. Waterproofing inspection. If you're writing a paragraph, that's two tasks.

Don't use the same task name twice in one project. Two tasks both called Site inspection get confusing fast, for you and for anyone recording time against them. Make them specific — Site inspection (pre-install) and Site inspection (final).

Colouring your lists

Every list can have a colour, and it's not decoration — colour is how you read a busy board without stopping to think.

Available colours: sky, mint, sun, rose, lavender, sand, stone.

Cool · work that is moving
Sky
[list colour: sky]
Mint
[list colour: mint]
Lavender
[list colour: lavender]
Warm · work that needs attention
Sun
[list colour: sun]
Rose
[list colour: rose]
Sand
[list colour: sand]
Grey · work that is finished
Stone
[list colour: stone]
The seven list colours, exactly as the app draws them. One pattern that works: cool for moving, warm for attention, grey for done.

A pattern that works: cool colours for work that's moving, warm for work that needs attention, grey for work that's finished. After two or three projects you'll read the shape of a board before you read any of the words.

Tidying a long board

Once a project has a dozen lists, the board gets wide. Two things help.

Nest a list under another. Open a list's menu and choose Nest under…, then pick the list it belongs beneath. It tucks in under its host and you can fold the whole group away. Good for grouping Bathroom, Kitchen and Laundry under Second fix.

You can un-nest at any time from the same menu. Nesting goes one level deep — a nested list can't itself host others, and the menu will tell you when that's why it isn't offering.

Turn a list into its own job. If a list has grown into work that deserves its own booking, materials or invoice, open its menu and choose Convert to child job… — the list becomes a child job of this project, keeping its tasks.

That's the same child job idea from Is this a job or a project?, reached from the other direction: instead of adding a job and filling it, you build the work first and split it off when it's clearly its own thing.


The fast way: write the project as text

Go to the three-dot menu → Manage templates and create a template. You write the project as plain text and it builds every list and every task in one go.

The basic format is two rules:

List name:
- A task
- Another task

Second list name:
- A task in the second list

Lists end with a colon. Tasks start with a dash.

Template text on the left builds the board on the right: a line ending in a colon is a list, a dash line is a task, tokens add colour and notes. TEMPLATE TEXT Install:[list colour: sky]- Book the crane [note] Confirm access first- Deliver panels [action note] Chase by Friday Install 0 of 2 completed (0%) + Book the crane Confirm access first Deliver panels Needs attention · Chase by Friday + Add task WHAT IT BUILDS
Colon makes a list, dash makes a task. The bracketed tokens are extras: the list colour, shown as the line under the list name, and a note or an action note on the task.

That's the same format ServiceM8 uses for its own checklist templates, so anything you've already built in ServiceM8 pastes straight in and works. Everything below is extra — ServiceM8 ignores it, Project Checklist picks it up.

Colours and notes

Install:
[list colour: sky]
- Book the crane
  [note] Confirm access with the site supervisor first
- Deliver panels
  [action note] Chase the supplier if not confirmed by Friday
  • [list colour: sky] goes on its own line straight after the list name. [colour: sky] works too.
  • [note] adds a normal note under a task.
  • [action note] adds a note that flags the task as needing attention, so it appears in Needs attention until someone deals with it.

Nesting a list

If you want a list tucked under another one, say so under its title:

Second Fix:

Bathroom:
[nest under: Second Fix]
- Waterproof
- Tile

Kitchen:
[nest under: Second Fix]
- Install cabinetry

It goes on its own line under the list title, in the same place as the colour line, and you can use both. The host name is just the list's name, spelled as you wrote it — capitals don't matter.

If the host doesn't work out, the list simply stays flat and you're told why. Nothing is refused, and the rest of the template still builds. You'll get a warning naming the line if the host isn't a list in the template, if you've nested a list under itself, or if the host is already nested under something else — lists nest one level only.


Planning the work in the template

If the order matters, you can build the schedule at the same time.

Give a task an id, so other tasks can wait for it

- Dig trench [id: dig]

The id goes on the task line itself, after the name. Keep it short. It's only used inside the template — you'll never see it again once the project is built.

Say how long it takes, and how much work it is

On the line underneath the task:

- Dig trench [id: dig]
  [duration: 3d] [effort: 6h]
  • [duration: 3d] — how many working days the task occupies on the calendar. The d is optional; duration is always in days.
  • [effort: 6h] — how many hours of actual work it involves. Always give a unit, h or m. A bare number is refused, because six could mean six hours or six minutes and guessing wrong would quietly wreck every total on your board.

These are two different things, and the difference matters.

Pour a slab and it might tie up three days but only involve six hours of labour, because most of that time is curing. A grid connection approval might sit there for three weeks with no work at all. Duration is how long it blocks the calendar. Effort is how long someone is actually on the tools.

Duration is how long a task blocks the calendar. Effort is how much work it holds. Pour a slab: three days, six hours of work. Approval received: fifteen days, no work at all. MonTueWedThuFriMonTueWedThuFriMonTueWedThuFri Pour a slab [duration: 3d] [effort: 6h] 6h 3 days on the calendar, mostly curing. Nobody on site. Approval received [duration: 15d] 0h of work. Fifteen days blocking everything behind it. Duration: blocks the calendar, draws the bar Effort: hours on the tools, adds up in the totals
Two different things. Duration is calendar time and draws the Timeline bar. Effort is work time and feeds the project's totals. A task can have one, both, or neither.

Duration draws the bar on your Timeline. Effort tells you how much work is really in the project. A task can have one, both, or neither.

Say what has to happen first

- Lay conduit [id: conduit]
  [after: dig] [duration: 2d]
- Backfill
  [after: conduit] [duration: 1d]

[after: dig] means this task starts once Dig trench is finished.

To wait on more than one thing, list them:

- Install and mount
  [after: delivery, approval] [duration: 2d]

That task starts once both are finished — whichever lands last. Real jobs fork and rejoin constantly, so this comes up quickly.

A chain: lay conduit starts the working day after dig trench finishes, backfill after that. A fan-in: install waits for both delivery and approval, and starts after whichever finishes last. A CHAIN Dig trench[id: dig] Lay conduit[after: dig] Backfill[after: conduit] Each one starts the next working day after the one it waits for. A FAN-IN Delivery[id: delivery] Approval[id: approval] Install[after: delivery, approval] Waits for both. Starts after whichever lands last, here the approval.
Give a task an id only when something waits for it. To wait on more than one thing, list them: the task starts once all of them are finished.

Choosing when the project starts

By default, dates are worked out from the day you apply the template. That's what you want for a reusable template — apply it in March and it plans from March.

For a project with a known start date, put it on its own line at the top:

[start: 2026-10-05]

Site Assessment:
- Site visit and measure [id: visit]

Your working week

Dates skip non-working days. By default that's Saturday and Sunday, but plenty of trades work Saturdays — solar crews especially.

Set yours in Settings → Working Week. Tick the days your team works. If you don't, a task marked [duration: 3d] starting Thursday will finish on Tuesday, when for you it should finish on Monday.

Worth doing once, before you build your first planned template.

A worked example

A solar install, start to finish:

Site Assessment:
[list colour: sky]
- Site visit and measure [id: visit]
  [duration: 1d] [effort: 3h]
- Prepare design and quote [id: design]
  [after: visit] [duration: 2d] [effort: 4h]

Approvals:
[list colour: sun]
- Submit grid connection application [id: gridapp]
  [after: design] [duration: 1d] [effort: 1h]
  [action note] Chase if nothing back within 10 working days
- Approval received [id: approval]
  [after: gridapp] [duration: 15d]

Install:
[list colour: mint]
- Deliver panels and inverter [id: delivery]
  [after: approval] [duration: 1d]
- Install and mount [id: install]
  [after: delivery] [duration: 2d] [effort: 14h]

Commissioning:
[list colour: lavender]
- Electrical inspection [id: inspection]
  [after: install] [duration: 1d] [effort: 2h]
- Grid connection and meter change
  [after: inspection] [duration: 5d]

Apply that and you have a planned project with dates on the Timeline.

Look at Approval received — fifteen days of duration and no effort at all. Nobody works on it. It just sits there blocking everything behind it. That's usually the task that decides when a solar job actually finishes, and it's exactly the sort of thing that never makes it onto a checklist.

If something's wrong with the template

You'll be told which line, and nothing will be applied. A half-built project is worse than none, so a template with a problem in it is refused whole rather than partly created. Fix the line, apply again.


The fastest way of all: save a finished project as a template

You don't have to write a template from scratch. The best template is a project you've already run.

When a project has worked — the lists are right, the order is right, the durations turned out about right — go to the three-dot menu → Board → Save board as template.

It reads the board and writes the template text for you: lists, colours, tasks, notes, durations, effort and dependencies, all in the format above. The template editor opens with it filled in, so you can read it over, tidy anything up and give it a name before saving.

It writes the nesting too, as [nest under:] lines, so a board you've tidied comes back tidy.

It deliberately leaves out the real dates, who was assigned, materials, time entries, stars and archived tasks. A template is the shape of a job, not a copy of one.

One thing it can't carry: a child job nested into the board doesn't come across, because a template builds lists and tasks, not jobs. The save tells you when that's happened, so you know what you're getting.

This is the route most people should take. Run your next solar install or bathroom reno properly, fix things as you go, and when it's done save the whole thing as a template. Every job like it after that starts already built and already planned.


Two examples built in

Under three-dot menu → Manage templates you'll find two ready-made templates:

  • Get Started — a five-list board (In Progress, Up Next, Maybe, On Hold, Done) with tasks explaining what each list is for. A good shape for state-based work.
  • Solar Install (example) — a staged project with dependencies, durations and effort already filled in. Worth opening even if you don't do solar, because it shows what a planned template looks like.

Deleted them? Restore built-in templates puts back whichever are missing.

What next

  • Move tasks between lists by dragging, on the Board.
  • Switch to the Timeline to see the shape of a planned project.
  • Assign people so everyone knows what's theirs.