Skip to content
akan.dev:~/projects/nowline.md

$ cat ~/projects/nowline.md

Nowline

A calm day planner: plan tomorrow in two minutes, see what's now, and never get punished for an unfinished day. No streaks, no scores, nothing turns red.

started
status
active
stack
Next.js 16, React 19, TypeScript, Supabase, Postgres, Tailwind CSS, Vercel

open live →

Overview

Most planners keep score. Unfinished tasks turn red, streaks break, and a productivity percentage sums up your day. Nowline is built on the opposite bet: people keep planning when the planner never grades them.

It runs on one small loop instead of an ever-growing list:

  1. Evening, two minutes. Give everything unfinished a place (tomorrow, later, or let it go), then choose tomorrow's one thing.
  2. During the day. Your day sits on a single timeline with a now line that moves with the clock: what's now, what's next, nothing else.
  3. Sunday. A look back at the week in words, never a chart, never a zero.

What I built

I designed and built it end to end at AKES Solutions, my company. It went from a domain name to a live product in about a day:

  • The landing page. A live example day on the visitor's own clock, a waitlist, an FAQ, structured data and an OG image in the brand fonts.
  • The invite-only app.
    • Today, Tomorrow and Later.
    • Quick add. 9-11 study, call mum 2pm and gym 6pm for 1h become blocks on the timeline. A live preview shows what each line will become.
    • Close the day, in three short steps.
    • The weekly look-back.
    • Export your data, or delete your account, from Settings.

Engineering highlights

  • Wall-clock time. Plans are stored as minutes on a calendar day, never as timestamps, and "today" follows the user's time zone. Gym at 18:00 stays at 18:00 through clock changes and travel.
  • A tested natural-language parser. It turns text into times without false positives: 2 apples is never 2 o'clock. An hour without am/pm, typed into today, means the next time that hour comes round.
  • Security in the database. Every query runs as the user under Postgres row-level security, and the public roles have no table privileges at all.
  • Passwordless sign-in built for a home-screen app. A 6-digit email code instead of a magic link, because a link opens Safari rather than the installed app.
  • Next.js 16 Cache Components. The app frame prerenders as static HTML, and only the part that depends on the user streams in.
  • Small, safe releases. Over 100 unit tests, and CI on every pull request. Previews run against a separate database, and every merge to main deploys.

Lighthouse on the live site: 98 for performance on mobile and 100 for accessibility, best practices and SEO. On desktop, 100 in all four.

zsh~/projects/nowline.md