$ 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
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:
- Evening, two minutes. Give everything unfinished a place (tomorrow, later, or let it go), then choose tomorrow's one thing.
- 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.
- 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 2pmandgym 6pm for 1hbecome 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 applesis 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
maindeploys.
Lighthouse on the live site: 98 for performance on mobile and 100 for accessibility, best practices and SEO. On desktop, 100 in all four.