Skip to content

Coming to macOS

Stop paying three subscriptions to run your agency.

nokko is a native Mac app for projects, time tracking and invoices — and your data is plain Markdown files on your own disk, working offline.

We'll only use this to tell you nokko is out. Privacy

See what it does

macOS 26 · Apple silicon · Windows in development · Built by a two-person agency, for itself first — not for a corporation.

Timeline — Clients
Bakehouse Website
Aurelia Mobile App
Northwind Rebrand
Studio
JULAUGSEP

順 — jun · order · sequence · flow

No account. No telemetry. No service in the middle. No seats. No lock-in.

The mark is the kanji 順 — jun: order, sequence, things proceeding smoothly. We read its two components as the product. 川, a river: workflow lanes, movement. 頁, a page: structured rows on a leaf of paper. Ordered flow, drawn as one character.

Project management. In Markdown. On your terms.

1
Markdown file per project
0
subscriptions required
6
views on the same file
100%
of your bytes preserved

Everything in one

Three subscriptions. One app.

Projects, timeline, calendar, time tracking and invoices in one place. No paying for ClickUp, then Toggl on top, then copying hours into an invoice by hand. Track the time, draft the invoice from it. One app.

What you probably pay for now

  • A project tool, per seat, per month
  • A separate time tracker, per month
  • Something else again for invoices
  • And the copying between all three

What nokko is

  • Projects, boards, calendar and Gantt
  • A timer and Pomodoro, logged into your files
  • Invoices drafted from the hours you tracked
  • One app, on your Mac, offline

8h30m

this week

Bakehouse WebsiteBakehouse Ltd2h50m
Aurelia Mobile AppAurelia40m
Northwind RebrandNorthwind5h

Your files, your disk

It only ever changes the characters you changed.

Every project is one Markdown file on your Mac. Not a database, not a cloud, not a locked format. Move a due date in the app and it rewrites that date — not the file. Your line endings, your indentation, your blank lines, your own notes, even the emoji it doesn't recognise: all of it survives, byte for byte.

Clients/Bakehouse/Website.md
---
type: project
status: active
client: Bakehouse Ltd
start: 2026-07-20
due: 2026-09-04
color: "#5A82D6"
columns:
- "Budget: number"
tags: [web, nextjs]
---
 
# Bakehouse Website
 
Freeform notes. nokko never rewrites this prose.
 
## Milestones
 
- [ ] Design sign-off 🎯 📅 2026-08-12
- [ ] Staging deploy 🎯 📅 2026-09-01
 
## Build
 
- [/] Build the homepage hero [Budget:: 900] [est:: 3h] 🛫 2026-08-03 📅 2026-08-14 #frontend
- Client wants the oven photo above the fold.
- [x] Pick the type scale
- [ ] Cut the mobile breakpoint
- ⏱ 2026-08-11 09:20–10:55 (1h35m) — hero layout
- [ ] Wire the contact form [est:: 2h] 📅 2026-08-10 #backend
- [>] Send the menu copy for review [Assignee:: Rasa] 📅 2026-08-07
- [x] Set up the repo #ops
 

The file as it sits on disk. Pick a date above and only the highlighted characters will move.

Build the homepage hero

Bakehouse Website

Due
Fri
Start
2026-08-03
Priority
High
Estimate
3h
Budget
900
Logged
2h50m
Subtasks
1 of 2

Change the due date and watch what moves.

If you ever stop using nokko, nothing happens to your work. It was never anywhere else.

One file, six ways

Six views. The same file underneath.

Headings in the file are the groups you see. An indented task is a subtask. Nothing here is app state — change a view and you have changed the text on disk.

One lane per state. Drag a card between lanes — the file's checkbox character changes, nothing else.

Bakehouse Website — Board
Open3

Wire the contact form

2h est#backend10 Aug

Design sign-off

Today

Staging deploy

1 Sep
+ Add card
In progress1

Build the homepage hero

3h est2h50m logged#frontendFri
1 of 2
+ Add card
Waiting1

Send the menu copy for review

7 Aug
+ Add card
Done1

Set up the repo

#ops
+ Add card

The morning screen

A plan, in the order you decided.

The day's sequence is arranged by hand, because the order to tackle things in is a decision. A list that re-sorts itself under the hand that arranged it is not a plan. Drag it once and it stays; a task that arrives at eleven joins the end rather than jumping the queue.

Today

Today

Wed 12 August · 5 in the plan

The planin the order you set
1
Onboarding flow, second passToday
2
Build the homepage heroFri
3
Design sign-offToday
4
Fix the crash on cold launchTomorrow
5
Invoice Bakehouse for JulyTomorrow
Overdue2
Wire the contact form10 Aug
Send the stationery to print6 Aug
Waiting1handed off — never counted as overdue
Send the menu copy for reviewRasa7 Aug

The week ahead

Wed

2

Thu

2

Fri

2

Sat

Sun

Mon

Tue

1

Overdue you can act on

Anything more than a fortnight past due drops out of the count and goes grey. Nothing here escalates on its own — a task that survived two weeks has proven it wasn't urgent.

Waiting is not late

Tasks handed to someone else sit in their own place and are never counted as overdue while they wait.

Capture from anywhere

⌥Space opens a capture box over whatever you were doing. Type a tag, a priority, a project and a date in one line; it files itself and gets out of the way.

Send the stationery proof #print !high >Northwind fri

Clients/Northwind/Rebrand.md — - [ ] Send the stationery proof ⏫ 📅 2026-08-14 #print
#tag
a tag, anywhere in the line
!high
priority
>project
which file it lands in
fri · 3d · 2w
a date, in words

Hours become invoices

Track the time. Draft the invoice from it.

A timer on any task, a Pomodoro if you want one, and every session logged as a line in the same Markdown file the task lives in. When the month ends, the invoice is drafted from those hours — rates, VAT, totals — as another file you own.

Clients/Bakehouse/Website.md
## Build
 
- [/] Build the homepage hero [Budget:: 900] [est:: 3h] 🛫 2026-08-03 📅 2026-08-14 #frontend
- ⏱ 2026-08-11 09:20–10:55 (1h35m) — hero layout
- ⏱ 2026-08-12 14:05–15:20 (1h15m)
 

Logged where the work is

A session becomes a ⏱ line under its task. Open the file in a text editor in ten years and it still reads.

Totals that can't lie

An invoice recomputes its numbers on every read rather than trusting what's written. A hand-edited figure can drift; a total can't.

Reports by client

Where the hours went, grouped by client and project, exportable. Hours stay hours — money appears only inside an invoice.

Invoice

2026-014

Issued 2026-08-12

Due 2026-08-26

To

Bakehouse Ltd

DescriptionHoursRateAmount
Homepage hero, build2.83€65.00€183.95
Logo lockups5.00€65.00€325.00
Cold-launch crash, fix0.67€65.00€43.55
Net€552.50
VAT 21%€116.03
Total€668.53

Native Mac

Not a web app in a window.

A real Mac app — SwiftUI, built against macOS 26, with desktop widgets, a menu bar popover, a global hotkey and full keyboard control. It works with no internet at all. Your work doesn't stop when the connection does.

Up next

Onboarding flow, second passToday
Build the homepage heroFri
Design sign-offToday

This month

31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27

Timeline

TodayWed 12 Aug
Build the homepage hero24:18
Onboarding flow, second passToday
Build the homepage heroFri
Design sign-offToday
Quick Add⌥Space

Widgets on the desktop

The glanceable half: what's next, the month, the shape of the quarter. Always there, never asking for anything.

The whole thing from the keyboard

Every action is reachable without the mouse, and ⌘/ shows the map.

Light, dark, or whatever the Mac is doing

Themes apply before the first window draws, so a chosen appearance never flashes the other one at you.

⌥Space
capture from anywhere on the Mac
⌘1 … ⌘7
Today · Calendar · Timeline · All Tasks · Reports · Invoices · Clients
⌘N / ⇧⌘N
new task · new project
J / K
select the next · previous task
S
start or stop the timer on the selected task
⌘Z
undo — every edit is exactly one step

Sync

Sync you host yourself.

Two Macs, one folder on a server you already pay for — any host with SFTP: a VPS, a NAS, shared hosting. There is no nokko cloud and no account to make, because there is nothing of ours in the path.

Your Mac

Studio iMac

Your server

SFTP

Your Mac

Laptop

Nothing of ours sits between them. There is no account to make.

What is sent

Your workspace's Markdown files and the images in People and Invoices — to your server, and nowhere else.

A conflict keeps both

If two Macs change the same file in the same minute, both versions survive: the server's under its own name, yours beside it, marked. Nothing is ever resolved by discarding your work.

Deletes go to a trash

To the server's own 30-day trash and this Mac's Trash — never straight to nowhere.

Forgetting is free

Drop the connection and you keep a working local folder. Nothing was ever hostage to it.

A workspace with no sync set up opens no sockets at all. Sync is something you switch on, not something that is on.

Switching

Bring what you already have.

Export from ClickUp or Todoist and import the CSV; or copy tasks out of Things, Notion or Apple Notes and paste them straight in. Anything that can't be mapped is listed rather than quietly dropped.

Import
ClickUpTodoistClipboard

tasks.csv — 4 spaces, 11 boards, 213 tasks

Clients/

Bakehouse/Website.md · 38 tasks

Aurelia/Mobile App.md · 64 tasks

3 warnings — every unmapped field is listed, never silently dropped.
  • ClickUp

    CSV export — spaces, folders and lists arrive as they were

  • Todoist

    CSV export — sections become headings, indentation becomes subtasks

  • Anything else

    Copy bulleted text and paste. Things, Notion, Apple Notes, a plain list

The rest of it

Everything else it does.

Workspaces

A separate root folder per client, switched from the top bar.

Spaces & folders

Derived from the folders on disk. Make one in Finder and it appears.

People & team

Assignees as plain labels. No accounts, no passwords, no invites.

Clients

First-class records that invoices and reports both read from.

Custom columns

Declared in frontmatter, stored on the task line, readable by Dataview.

Docs

Any Markdown file without tasks is a doc, and nokko reads and writes it.

Dependencies

Blocked-by links drawn on the timeline, in Obsidian's own notation.

Templates

Save a project as a template; new ones are byte copies with a new title.

Recurring tasks

`🔁 every week` — completing one writes the next.

Reminders

A field on the task line. macOS shows it once, at the minute you wrote.

Task types

Bug, feature, idea, meeting. A name and a glyph — no sprints, no points.

Undo everything

Every edit is exactly one ⌘Z, including the drags.

Interoperable by construction

Opens in Obsidian. Opens in TextEdit. Opens in ten years.

The task format is the Obsidian Tasks convention, and custom fields are Dataview's. Point nokko at a vault you already have and both apps read the same files. You do not need Obsidian to use nokko — but nothing stops you having both open at once.

  • Obsidian
  • Finder
  • iCloud Drive
  • Dropbox
  • Git
  • Any text editor
- [ ]
open · [/] in progress · [>] waiting · [x] done · [-] cancelled
📅
due date — the only date that can make a task overdue
🛫 ⏳
start · scheduled
✅ / ❌
completed / cancelled on this date
🔁
repeat rule
⏫ 🔼 🔽
priority
🎯
milestone
a logged session, as a sub-bullet under its task
[Budget:: 900]
a custom column's value, Dataview style
#tag
tags, anywhere in the description

Honestly

Why nokko, and not one more subscription?

nokko compared with NotePlan and with ClickUp plus Toggl
CapabilitynokkoNotePlanClickUp + Toggl
Price€59 onceYearlyYearly, per seat
Your files, on your diskYesYesNo
Works fully offlineYesYesNo
Project managementYesBasicYes
Timeline / GanttYesNoYes
Time trackingYesNoSeparate tool
Invoices from tracked hoursYesNoIn their cloud
Native Mac appYesYesNo
Sync without a service in the middleYesNoNo

Swipe sideways for the other columns.

NotePlan has the same plain-text comfort, and it is a good app — but it doesn't track time or draft invoices. ClickUp and Toggl do both, between them, in someone else's database.

Pricing

One price. No surprises.

€59once, and it's yours

  • The whole app. Every feature.
  • Every update included — fixes, features, whatever nokko becomes.
  • Unlimited use, no account, no subscription.

That price is the whole relationship. There is no month where you stop paying and lose access to your own work.

14 days free. When the trial ends the app goes read-only: you can still read, report and export everything, forever. Your files are never held hostage.

Launch price: €49 for the first 100 copies — the waitlist hears first. €59 after that.

Questions

The things people ask first.

What is nokko?

nokko is a native Mac app for project management, time tracking and invoicing, built for freelancers and small studios. Everything lives as plain Markdown files on your own disk — it works offline, has no account, and you buy it once rather than subscribing.

Do I need Obsidian to use nokko?

No. nokko is a complete Mac app that reads and writes the files itself. Obsidian compatibility just means you can open the same files there, or in any text editor, if you want to. There is nothing else to install.

Does it work offline?

Fully. There is no nokko server and nothing to log in to. The only time it touches the network is if you switch on sync to a server of your own. On a plane, on a train, on bad hotel wifi — it behaves identically.

Where is my data kept?

On your Mac, as plain Markdown files in a folder you choose. The app has no servers and no account — there is nowhere else for it to go. You can open, copy, move, back up or edit those files with anything, at any time, including when nokko isn't running.

How much does nokko cost?

€59, once — every feature, and every update after is included. Launch price is €49 for the first 100. There's a 14-day free trial, and when it ends the app goes read-only: you can still read and export everything, forever.

Will there be a subscription?

No. You buy it once and use it for as long as you like, updates included. There is nothing to renew, ever.

Can I sync between two Macs?

Yes — through your own server over SFTP. A VPS, a NAS, ordinary shared hosting. There is no nokko cloud and no account; your files move across your infrastructure, not ours. If two machines edit the same file at once, both versions are kept.

Is this for a big team?

Not a big one, and that's deliberate: there are no permissions, no roles and no admin console, and it isn't trying to grow into them. But it isn't solo-only either. A small studio sharing one folder over its own server works well — everyone sees every project, assignees are names on the task line, and each person mostly drives their own files. The day a team needs access control and approval chains is the day it has outgrown nokko.

What about Windows?

A native Windows build is in development. The file format is the same on both, so a vault made on either one opens on the other. There is no date yet, and the waitlist is where the announcement will go.

Next

Windows, natively.

Not a port of a web app, and not Electron — the same argument as the Mac build, made again properly. The format doesn't change, so a vault written on one opens on the other. It's in development; there's no date, and you'll hear it here first.

macOS

First to ship

Windows

In development

One format, two apps. A vault written on either will open on the other with nothing to convert.

Waitlist

Be there when it ships.

One email when it ships — and the waitlist goes first on the €49 launch price, before the 100 copies are gone. Nothing else: no drip sequence, no newsletter, no sharing it with anyone.

Which build are you waiting for?

We'll only use this to tell you nokko is out. Privacy