What’s new
Every other screen in this app shows you a view and leaves the deciding to you. A calendar view, a task view, a workload view — and at the end of all of them you still have to pick. Picking was the thing you wanted help with.
So there's a screen called Now, and it's what opens by default. One card. What to do, how long, and a sentence saying why it chose that — a due date, the width of the gap you have left, the hour you actually focus best. Never "AI suggests"; if it can't tell you why, it doesn't show the card.
There is always a "Not this", because one wrong pick with no way out and you'd never trust it again.
It knows when there's nothing to start. If your next thing is a tutorial test, it gives you the time and the room and says so — no Start button, because you can't run a focus timer on a room you sit in. And it knows when to leave you alone: nothing due says nothing due, with no streaks or padding to fill the space, and at 1:40 AM with a lab report due Thursday it tells you the work fits without tonight and shows you the arithmetic.
The dashboard is still there. Settings → Open on lets you switch back.
Earlier
The week header said "8 AM – 9 PM · your hours". The capacity figures underneath were computed from 9 AM – 6 PM. Both were being derived separately, and they'd drifted — which is why a day with one 40-minute thing on it reported 3h 50m available and nobody could work out where the number came from.
There's one working window now, read from one place, and the header names your real hours instead of the padded range it draws.
The bigger problem underneath it: the app was quietly halving your day. A hidden 0.5 turned nine hours into four and a half, and then called the result "Available" — so a free Saturday came back looking booked. That's a claim about your life the app has no business making silently. It's a slider in Settings now, and the day panel shows two numbers instead of one invented one: Free, which is real unbooked clock time, and Focus, which is the share of it you said you can concentrate for.
And the week grid scrolls. b217 was supposed to fix that and only fixed half of it — a grid overflowing by a few dozen pixels still swallowed the gesture, so the grid barely moved and the page underneath couldn't move either. The behaviour that was causing it is gone entirely.
Focus was showing you everything. Every undated task in the account turned up in Today's Focus Timeline labelled "Anytime today" — every single day — so the timeline was a second copy of the task list that never got shorter. Errands were in it. Exams were in it, offering a Start button for a thing that happens in an exam hall at a fixed hour.
It reads the calendar now. If it is on today, it is in the timeline; if it is not, it isn't, and a quiet line at the bottom says how much focus work still has no day. The classifier behind it learned the difference between three things it used to confuse: work you sit down and do, errands you just do, and events you attend. "Pack headphones" is an errand. "Write PHY 1010U exam" is an event. "Study for the midterm" and "Write the lab report" are focus work, even though both name an exam and a lab.
The calendar learned the same distinction. Undated to-dos are no longer offered a time block — one line says how many there are and points at Tasks, instead of each of them taking a slot in a day column.
The timeline also scrolls inside its own box now, so a long day stops pushing the rest of the page down.
Notebooks sit on a shelf now. Each card carries a coloured spine, and you can drag them into whatever order you want — the order is yours and it sticks.
"Ship it" is gone. A notebook is not a product launch, and a green button offering to finish your Physics course was a question nobody was asking. Putting one away still exists, quietly, where a filing action belongs.
School holds PHY 1010U and MATH1010U, and its card now shows their work rather than announcing a count above the words "nothing in here yet". On the Tasks page the same structure finally reads as structure: All tasks, a General bucket for everything filed nowhere, then School with its two courses indented behind it. Picking School means School and everything inside it.
Inside a notebook, Record a session shrank to a button the size of its neighbours, so the notes start where the notes should start.
Type "groceries needs to be done at 5pm" and a chip appears under the line offering to put it on today at five. No button to press first, no waiting, no review screen — it reads the note as you write it and costs nothing. Tomorrow, Monday, next Friday, Oct 3, 14:00; bullets and checkboxes too. A ticked box is a record, not a plan, so it is left alone.
It only ever offers. A note is a place to think, and a thinking place that quietly files things into your calendar stops being one.
Two writing tools joined the assistant. Check grammar fixes spelling and punctuation and changes nothing else — your shorthand, your voice, your line breaks stay exactly as they are. Make it clearer cuts padding without turning the note into somebody else's. Both show you the result and wait; neither touches the note until you say so.
White noise blasted. Turning it on played at the default volume for a moment before dropping to the level you set, every time — the volume was read a beat before it had loaded. It starts where you left it now.
The day view offered 9:00 AM, 1:00 PM and 5:30 PM. Those were three literals in the source, identical on every day of every week whatever was already booked. They are real gaps now, worked out from your hours and what already owns clock time, with a real length on each.
The week grid wouldn't scroll. When a week fitted on screen the grid still counted as a scroll container with nothing to scroll, and it swallowed the gesture rather than letting the page move. Both the week and day grids scroll properly now.
One task of an hour and a half read as a "Moderate" day. Nobody describes a day with one thing on it that way, whatever the arithmetic says — two items or ninety minutes is now the floor before a day stops being Light. And every button in the app presses the same way, which it did not before.
The dentist texts you a time. Between that text and your calendar there is a person retyping it, and that person is you, and about a third of the time you forget.
There's a Capture page now, and a door into the app from outside it. A message arrives, Focus reads it, and if there's a real appointment in it the move appears in your day. From a sender you've vouched for it just happens and you're told afterwards; from anyone else it waits on the Capture page for one tap. Confirm a sender once and the next one goes straight through.
The honest part: no app on iOS can read your messages. Not this one, not any one — Apple gives nobody that access. So the phone does the watching. Two minutes in Shortcuts, once: Automation, Message, Run Immediately, one Get Contents of URL action. The exact recipe and your private key are on the Capture page. Email works the same way through any rule that can post JSON.
The rules it follows are deliberately dull, because this is the one feature where surprise is a bug. Only messages with a real date become anything, so marketing is dropped. A new sender always waits for you, however convincing the message. Only senders you explicitly set to Auto skip the question. A muted sender is dropped before the message is read at all. And every message is kept next to what was understood from it, so a wrong reading is always checkable against the words that produced it.
Needs the database migration: supabase/RUN-THIS.sql.
Type it into Talk to Focus and it reads you the day. Where you are in it, what's already late, what's next and how long until it, the whole plan in clock order, what's due today, and what's due or scheduled tomorrow. If the next two weeks don't fit, it says that too. Then it reads the whole thing out loud in the same voice the alarm uses — there's a Read it out button to hear it again or stop it.
"Brief me", "what's my day", "run it down", "catch me up", "sitrep" and plain "jarvis" all do the same thing.
This one never touches the AI, deliberately. It's assembled from your actual rows, which means three things: it's instant, it works with no signal, and it cannot invent a deadline. A briefing you have to double-check isn't a briefing. Anything that needs real judgement — "I woke up late, what do I drop" — still goes to Focus proper, and asking "talk to me about the lab report" is a question, not a command, so that goes there too.
Ten nav items down the left are right when you're moving around the app and wrong when you're reading one screen. There's a small button at the top of the sidebar that slides it out of the way, and the same button reappears at the left edge to bring it back. ⌘\ does it from the keyboard — the same key every editor uses.
The page widens to fill the space, by about 160px on a laptop. Your choice is remembered, and it's applied before the page paints, so it doesn't render wide and then jump narrow every time you open the app.
Open the app, wait about five seconds, and nothing would respond. The screen looked completely normal — it just stopped taking taps.
The service worker did it. It sat in front of every request the app made, including its own JavaScript, and it could turn a working response into a broken one two different ways. If the cache was full — which it eventually is, after a few releases — the write failed and the code the page was waiting for came back as the words "Offline" instead. And after a deploy, a page still running the previous release would ask for a file that no longer exists, because a freshly installed worker had seized control of a page that was already open.
Both are fixed at the source. The worker no longer touches the app's own code at all — those files are content-hashed and already cached properly by the browser, so a worker in front of them could only ever make them fail. A new version now waits for you to navigate rather than taking over a page mid-session. And if the page is ever handed a different worker anyway, it reloads once so the two agree.
What it still does is the part worth having: open the app with no signal and the last page you were on still loads.
The day view stopped somewhere around 4pm with a large empty band underneath it, and scrolling the page pushed the date up behind the clock in the status bar.
One cause for both. The calendar was given a fixed height and then also given the bottom padding every scrolling page gets to clear the tab bar — so that padding ate the last few hours of the day from the inside, and the leftover made the page scrollable when a calendar should never scroll as a page. It is now sized to exactly the gap between the top bar and the tab bar: the timeline inside it scrolls, the header stays where it is, and the day runs to the bottom of the screen.
The title hiding under the clock had a second cause too. Last release taught the app about the notch and the home indicator, but the rule for the top of the screen was written to apply only to installed apps — and that test does not match in every installed context, including this one. It applies everywhere now. In an ordinary browser tab it costs nothing, because the browser's own toolbar is already there.
On an iPhone the bottom tabs sat in the strip iOS reserves for the home indicator, so taps went to the system instead of the app. Buttons that simply did nothing.
The cause was one missing line. Safe-area insets — the numbers that say how much of the screen the notch and the indicator occupy — only report anything when a page opts into drawing edge to edge. This app never did, so every `env(safe-area-inset-*)` in it resolved to zero. Fifteen carefully written rules about clearing the notch and the indicator had been doing nothing at all. They all work now, and the tab row is taller and sits above the indicator with room to spare.
Today opened on a greeting, three lines of prose, a 2×2 grid of stats, a clock your phone already shows in its status bar, and a button — about 300px before a single useful fact, and nearly three screens of scrolling in total.
The phone now gets the facts. A one-line greeting with four numbers beside it, then straight into the thing you should actually be doing, with its Start button — all on the first screen. The prose, the clock, the Quick actions card and the progress panel are still there on a desktop; on a phone they were either repeating a number from higher up the page or duplicating the tab bar. Today is down about a third.
Tasks lost its right rail on phones, where it was a desktop sidebar dumped under the list — three more cards of counts the tabs already show. And a task row put its title, then a row of chips, then the date on three separate lines; the internal labels ("Deep Work", "Action") are desktop-only now, so a task is a title and one line of time and date. Nine tasks fit on one screen instead of two.
The old one opened on "PLANNED 1h 20m / AVAILABLE 2h 40m" above a list of suggested focus blocks and open blocks. That is a planning console, and on a 390px screen it read as neither a plan nor a calendar.
Phones get a real calendar now. Hours down the left, your work as blocks sitting on them, a red line showing where you are in the day, and things with no time in a strip across the top. Two things at the same hour sit side by side instead of hiding each other.
Three levels, and they behave like zoom. Pinch out to go closer, pinch in to pull back — Day, Week, Month — or press the control if you'd rather press something. Tap a day in the month grid to fall into it; tap the title to climb back out. Swipe sideways to change day, week or month. There is a week view on a phone for the first time.
And the month grid was lying. A day holding one task drew two dots — one for the task, one for the day's load right next to it — so a single thing looked like two. One dot per item now, three at most, with a count after them when there are more.
Nothing was removed. Everything the planner knows still lives on Today, which is where it was always the point. A calendar's job is to show you your time.
Every to-do app on earth will let you write down forty hours of work due on Friday and say nothing about it. You find out on Thursday night.
Focus in Motion already knew three things: how long each item takes, when it's owed, and how much time you actually have — your work hours, minus your fixed blocks, capped by your own rules, zeroed on your days off. Those numbers have been sitting next to each other for months without ever being multiplied together.
Now they are. A band at the top of Today says whether the next two weeks fit. When they don't, it names the day the plan first breaks, lists exactly which items miss and by how many hours, and says whether starting earlier is enough on its own or whether something genuinely has to move.
It works forwards, not backwards. Not "you're behind" — you know that. "Thursday is the day this stops working, and these two are what fall off."
The method is earliest-deadline-first, which matters: for work that can be split up, that ordering is provably optimal. So when it says something will slip, that isn't a guess about your habits. It's arithmetic — if this can't fit the week, no other order of working can either. Items with no time estimate are excluded and counted out loud, because the honest version of this feature has to say what it doesn't know.
School holds Physics, Calculus, and the co-op application. Before this you had to choose: a notebook per course, and a Notebook page that was nothing but course cards — or one School notebook where twelve unrelated deadlines sat in a single pile.
Open a notebook and there's an Inside block: add a section, and it gets its own page, its own work, its own notes. The shelf above it shows everything in the family rolled together, with a small chip on each row saying which section it came from — so "what do I owe for school this week" is one page, not four.
One level deep, deliberately. Two levels is a shelf with folders on it, which anyone can hold in their head. Three is a filing system, and a filing system is a thing you maintain instead of a thing you use.
Deleting the notebook above never deletes the ones inside it — they come loose and become notebooks of their own, same as the work always has. Needs the database migration: supabase/RUN-THIS.sql.
Reading a syllabus sometimes worked and sometimes didn't, with nothing useful said about why. Here's why: none of the seven AI endpoints in the app set a function timeout, so the hosting platform killed them at its default ceiling. A short document finished in time. A dense one didn't, and what came back was an HTML error page that the app then tried to read as data — which is where the unreadable failures came from.
All seven now run to a real ceiling. The app reads a failed reply safely instead of choking on it, gives up after a genuine timeout rather than spinning forever, and says which of those actually happened in words you can act on.
And it tries once more on its own. Model speed varies enough that the same PDF that misses the ceiling by two seconds goes straight through on a second pass — so it takes that second pass for you, and says so while it's doing it.
A note longer than the pane just stopped. No scrollbar, no wheel, nothing — it ended mid-line and the rest of it was unreachable. If you'd read a syllabus in with Clarity, the half you most wanted was the half you couldn't get to.
The drop-a-file-anywhere wrapper added a few builds ago sat between the note pane and the part that was supposed to scroll, which quietly broke the measurement chain: the note sized itself to its full height, overflowed the pane, and the pane clipped it. It scrolls now, on desktop and on a phone, all the way to the last line.
Open a notebook and there's a Record a session button under Notes. Press it, put the phone down, and be in the room. Focus transcribes what it hears — live, on screen, so you can see it working — and when you stop it writes the whole thing up: what was covered, what was said about each part, every number and date that came out of somebody's mouth, what's still unresolved, and anything a person committed to doing.
The part worth the trouble is the handout. Add the deck or the PDF the speaker is presenting and Focus follows along it while it listens. Each section gets what was actually said about it, and the things speech recognition always mangles — names, acronyms, technical terms — get corrected against the spelling in the document. Where the speaker went past the slide, the write-up says so in those words.
Anything assigned comes back as a list of moves with the dates attached. Untick what isn't yours; the rest go into the notebook with the note.
The raw transcript is saved at the bottom of every note, always. Speech recognition mishears things, and a write-up you can't check against what was really said isn't worth relying on. Chrome handles this best. Safari works but drops more words. Firefox can't do it at all, and says so instead of failing quietly.
New accounts were getting the "Welcome, Alex. My name is Focus." screen for about a second before it vanished into the normal dashboard. The choice between setup and the app was being made on the server, so anything that re-checked it mid-flow — a token refresh, a background navigation — swapped the whole screen out mid-sentence. It waits for you now.
The typing was also wrong: each finished line was starting a fade-in that ran while the next line was already typing, so you'd see "My name is Focus." sitting greyed out underneath a bright half-finished line below it, looking like it had come out in the wrong order. Every line now holds its place and stays lit. Tap the text if you read faster than it types.
There's a working piece of the app on the homepage now, and on the product page. Three tabs you can actually operate: type your own mess into the brain-dump box and watch it come back as dated moves, tick things off a day and see the ring fill, start a focus timer that genuinely counts down.
The brain-dump one runs the same parser the app runs on a typed capture, so "call mom tomorrow at 7pm" really does come back as Call mom, Tomorrow, 7 PM. It isn't a canned answer pretending to be clever. What it can't do without an account is the AI extraction that reads a whole photographed syllabus — so it says so underneath rather than letting you think you've seen everything.
Nothing is saved and nothing is sent. It's all running in your browser.
Pricing prices now count to their new value when you switch between monthly and yearly, instead of swapping instantly and reading as two unrelated numbers. And this page has filters — New, Improved, Fixed, with counts — because somebody deciding whether to sign up wants a different half of the list than somebody who hit a bug last week.
A notebook is a place for one thing — School, a wedding, a launch — and opening it now shows you everything about it on one screen. The work with its dates down the left, the notes that explain the work down the right, previewable in place without going anywhere.
That second half is new. Notes and tasks have both existed in this app for months and have never once been on the same screen, which meant the deadline and the document explaining the deadline were three taps apart. When Clarity reads a syllabus it now files both halves into the same notebook: every dated item, and the note holding the grading breakdown, the exam format and the room numbers. You can file notes you wrote yourself into one too.
Finished work stays visible and ticked, the way it does on the cards. Deleting a notebook still never deletes what was in it — the work and the notes come loose and stay in your lists.
One thing to do: this needs a database change. There's a single file at supabase/RUN-THIS.sql that bundles every migration you haven't run yet — notebooks, note links, and feedback. Paste the whole thing into the Supabase SQL editor once. It's safe to run twice.
There was no error screen anywhere in the app. Anything that failed to draw left the navigation standing and the page area completely empty — a grey rectangle with no message, no cause and nothing to press. Now it tells you what went wrong, shows the actual error, and gives you the two things that fix it: try again, and clear what this device has cached.
The dashboard had the same hole in a different shape. If your tasks failed to load, or simply never came back, it sat on a loading skeleton forever — which looks exactly like a broken page. It now says so after twelve seconds, and offers a way out.
And a real bug behind both: the offline cache was stored per-device, not per-account. Sign in with a second account on the same phone and the first one's tasks were restored from that device before any network call happened — wrong data, and not the second account's to see. The cache is now keyed to whoever is signed in, another account's copy is deleted rather than read, and signing out takes it with you.
Every picture on the homepage is now a real screenshot of the running app with real data in it, captured at retina resolution — the dashboard, the task board, a project card, and the wake screen at 7am reading out the day. The old page used small hand-drawn approximations, and an approximation of a product always looks like an approximation.
The page has a spine now too. It cuts to black in the middle for the wake-up, and again at the end, instead of being pale grey the whole way down and scrolling past in one motion. The screenshots sit in browser frames, drift a couple of pixels as you scroll, and lift under the cursor.
Also about a third shorter. The old version breathed so hard there were screenfuls of empty grey between one idea and the next.
Uploading a file failed with "the reply was not readable" — an embarrassing one-character bug in how the response was unwrapped. Fixed, and hardened: it now copes with the answer arriving fenced, unfenced, or wrapped in a sentence, and when a document is genuinely too long it says so rather than telling you to try again at something that would fail identically.
While it was open: a document now yields its notes as well as its deadlines. A syllabus isn't only dates — it's how the grade breaks down, what the exam format is, which room, whose office hours, what a late submission costs. None of that is a task and all of it is what you go hunting for in week nine. It comes back as a tidy note with the numbers kept exactly, shown to you on the review screen with a checkbox, and saved to Notes only if you leave it ticked.
A document that's all detail and no deadlines now works too — a lease, a policy, a set of instructions. It used to tell you it found nothing to do and throw the whole thing away.
Point your phone at a syllabus and every deadline in it lands in your list, dated. Same for a page of notes you took on the side, a whiteboard, a printed schedule, a letter with a due date on it, a to-do list on the back of an envelope.
In Clarity there's now a camera button and a file button, and you can drag a PDF straight onto the writing box or just paste a screenshot with ⌘V. What comes back goes through the review screen you already know — you see all fourteen extracted assignments, with their dates, before a single one is saved. You can add a note alongside the photo too: attach the syllabus and type "only the labs, I'm dropping the seminars", and it listens.
It is careful with dates, because a wrong date is worse than no date. It reads the year out of context when a syllabus only says "Sept 14". It works out whether a document means day/month or month/day from the rest of the document. A weekly quiz becomes one item with a note that it repeats, not fifty rows. And where a date is genuinely unreadable it leaves it empty rather than guessing.
Notes got the same thing, pointed differently: attach a photo there and it's transcribed into the note — structure kept, handwriting read as best it can, illegible words marked rather than invented. It appends, never overwrites.
Photos are shrunk on your device before they go anywhere: a 12-megapixel phone photo becomes about 60 KB at the resolution the reader actually uses. Nothing is stored — the image goes to be read and is not kept.
The alarm now runs as a sequence rather than a page. It rings for a few seconds with nothing to read and nothing to do — that's the bit where you find your phone — then it starts talking on its own, and each sentence appears on screen as it's said. One line at a time, because a wall of text at 7am is something you skip, not something you read.
The whole screen is dark now regardless of your theme, with a single light that pulses on the beat of the alarm and shimmers while it's speaking. A white page at 7am is a physical assault and every alarm clock ever made knew it.
How long it rings before it speaks is yours — three, four, five or eight seconds — or turn it off entirely and it waits for a tap. If your phone refuses to let audio start without a tap, it notices within a second and quietly asks for one instead of sitting there in silence.
And the voice list is gone. It's two now: the best male and the best female voice your device actually has, named so you know which you're getting, each with a play button to hear it. Thirty system voices was a settings screen, not a choice.
Set a time and Focus in Motion will get you up — and then tell you what you're getting up for. Not a beep. A briefing.
"Hey Alex, how's the morning? It's 7 AM, hope you slept well. It's 12 degrees out and overcast — cold enough for a coat. Four things today, manageable. First up is the gym at 11. After that, three smaller bits, nothing urgent. Right — time to get up."
It reads that out in your device's voice, male or female, at whatever speed suits you half-asleep, and every word is on screen too so it still works on mute. It says the shape of the day before the detail, because "quiet one" is more use at 7am than a list of five titles, and it names exactly one first thing rather than reading your whole list at you.
Dismissing it is a three-second hold, not a tap — a tap is something you can do in your sleep. And if you set it to "make sure I'm actually up", finishing the hold isn't the end of it: it asks once more, out loud, and waits for a real answer before it lets you go.
One honest limit. A website can't ring a phone that's locked — the browser suspends the tab. Right now it wakes you reliably on a laptop left open, or on a phone with the app on screen. Once the iPhone app is out, the alarm gets handed to iOS itself and rings with the phone locked and the screen off; that plumbing is already written and waiting. Until then, don't make it your only alarm. Settings → Wake up.
A project card used to hide the things you'd finished, which made a week of real progress look like nothing had happened. Done work now stays on the card, ticked and struck through — because on a project, what you've already cleared is the point. A collapsed card shows the next few things and the last couple you finished, so there's always evidence.
You can add tasks straight into a project from its card — the plus next to "The work", type, Enter. No going to Tasks and filing it afterwards.
Every project now has a Ship it button, there from day one rather than appearing once some checkbox condition is met. Deciding a thing is done is a judgement call and the app shouldn't hold the pen; if there's still open work it asks once, and then it ships. Finished projects collect under Shipped.
And the target date uses the proper calendar — the one with month and year dropdowns, Today and Clear — instead of the browser's grey native picker.
Focus in Motion on a phone was a website you could shrink. It's now an app you can hold. There's a tab bar along the bottom — Today, Tasks, Clarity, Calendar, and More — that stays put while pages move behind it, and pages arrive the way phone apps arrive: sideways into a sub-page, back out again, with an edge swipe from the left to go back.
Swipe a task right to finish it, left to push it to tomorrow. Push far enough and it buzzes to tell you it's armed, before you've even looked. Dialogs are sheets now — they come up from the bottom where your thumb already is, and you throw them away with a flick instead of hunting for an X in a far corner.
Notes stopped stacking three desktop panes down a 390px screen: on a phone it's a list, and tapping a note opens it with a back button, the way notes apps have worked for fifteen years. The calendar drops the week view on phones, because seven columns of timeline in that width is seven slivers nobody can read or drop into. On a desktop nothing has moved.
And it opens instantly. Your data is kept on the device and painted before the network is asked, so launching the app shows your day rather than a spinner — and keeps showing it when you have no signal.
Work that has an end — a wedding, a house move, a launch — can now live together. A project has a name, a colour, an optional target date, and a progress bar that means something, because a move belongs to exactly one.
The good part is in Clarity. Dump everything about the wedding in one go and Focus notices it's all one undertaking: before anything saves, it offers to file the whole batch under "Wedding planning", with the name filled in and the colour picked. Accept, rename, choose an existing project, or keep them loose — nothing is written until you say.
Projects show up as filter chips on Tasks, and colour their blocks on the calendar, so a week visibly shows how much of it is wedding and how much is work.
Tell Focus something slipped and it offers to fix it, not just describe the fix. "I can't pay that until next week" gets you a card that reschedules the item and attaches a note saying why — you tap once to confirm, and nothing is written until you do.
It can also record a pending payment: money you've committed but haven't sent yet. Those live on the Finance page with a switch deciding whether they count toward your monthly totals, because "spent" and "about to spend" are genuinely different numbers and people disagree about which one belongs in the headline.
And it finally tells the time properly — it was reading off the server's UTC clock in 24-hour, regardless of where you are or what you'd picked in Settings.
The day and week grids ran midnight to midnight, so opening the calendar meant staring at 1 AM, 2 AM, 3 AM with your actual day somewhere below the fold. They now open on your hours — the working range from Settings, stretched to include anything scheduled outside it, so nothing can hide. Full day is one button when you need it.
Finance got the same treatment from the other direction: a first-run setup that asks three questions (charts or no charts, what you want to track, want to add something now) and arranges the real board around the answers, instead of showing new accounts an entirely different page that rearranged itself the moment you logged an expense. Simple, Modern and Complex presets stay available in Customize forever.
Also: the Add Transaction menu is clickable again — an invisible dismiss layer was sitting on top of it eating every click. Widgets line up in proper rows. Notes have a full-screen writing mode. And the black accent swatch shows as white in dark mode, which is what it actually becomes.
Sign-up and sign-in are one path now. You create an account with an email and a password, confirm the email once, and from then on it's your password every time — no more guessing whether you used a link or a password last time. The strength meter is there while you pick one, and a one-time email link is still available as a rescue hatch if you ever get stuck.
Clarity was reading "pick up flowers at 9pm" and filing it under anytime. It now pulls the clock time out of what you wrote, puts it on the move, and dates it today when you didn't name a day — so the plan lands in the right order instead of at the bottom.
Also fixed: the day view wouldn't scroll, the Add a rule dialog lost its buttons off the bottom edge on large text, the finance widgets sat at uneven heights at larger text sizes, and on phones the Talk button was parked underneath the + Move pill. The notes side panes now slide open and shut instead of snapping, and the marketing pages, sign-in screens and the app all sit on one background colour.
Week view now has two layouts. Board is the familiar seven columns of cards; Timeline lays your week over a single hour rail, so you can see the actual shape of it. Drag a block up or down to re-time it, or sideways into another day.
The calendar page no longer scrolls as a document — the chrome stays where you left it and only the hour grid moves. The current-time line runs the full width, straight through the hour labels, so you can read the time off the rail exactly.
First run is now a conversation rather than a form. Focus asks whether you'd like it to set things up with you, learns when your energy is best (pick more than one — most people aren't just one thing), which hours are yours, and what you're here for.
You can hand it the rules that protect your time — lunch, weekends, nothing before nine — or write your own. Then a quick tour of each page, and an introduction.
A new centre button drops both rails away and puts the note in the middle of the page for when you just want to write.
Notes can now be attached to a day on the calendar or to a specific task, so the thinking sits next to the thing it's about.
A rule like “nothing before 9 AM” was subtracting its full nine hours from your daily capacity — hours that were never work time to begin with. Capacity hit zero, and any day with a single task on it rendered as Overloaded.
Blocks now only cost you capacity where they actually overlap your working window. Separately, days full of tasks with no duration estimate were summing to zero minutes and reporting “Light”; those now carry a nominal weight for the workload reading, while the displayed total stays honest.
All three were settings that changed the Settings page and nothing else. Text size and interface density now rescale the whole interface, and every clock in the app — calendar rails, blocks, cards — follows your 12h/24h choice.
The ⋯ menu on Today's plan opens now, too: the click that opened it was reaching the dismiss handler and closing it in the same tick.
Asking for a few starter tasks used to seed twelve — a whole simulated week that buried your own first task. It's three now, and “Add your first task” opens the composer instead of quietly generating somebody else's day.
The Delete button now lives under Account, where you'd look for it, and it works. You type DELETE, re-enter your password, and the server re-authenticates before removing anything — then wipes every table: moves, focus history, notes, planning rules, finance, and the account itself.
Reset links were being redeemed on the server, which only worked if you opened the email in the same browser you requested it from. Open it on your phone and you landed on the home page with no explanation.
The link now goes straight to the reset form, which handles every token shape itself — and if it lands anywhere else in the app, it's caught and forwarded. There's a strength meter on the new password, and you're sent to sign in afterwards rather than dropped into the dashboard.
Pick the theme that fits your eyes — warm off-white, midnight dark, or follow your device's setting automatically. Live in Settings → Appearance.
The light theme is the new default. Designed to feel like a productivity app you'd want on screen for hours: calm surfaces, soft accents, no harsh contrast.
New here and the app feels empty? Hit "See it in action with sample data" on the dashboard. Adds a curated set of moves, subscriptions, and bills so the engine has something to work with.
Wipes cleanly from Settings → Sample data when you're ready to use your own.
Focus in Motion now installs to your iPhone or Android home screen as a PWA. Tap the F icon, app opens instantly, no browser, no re-login.
Find "Install app" in the sidebar. On iPhone Safari, follow the share-to-home-screen flow — full instructions are right there.
Get a gentle nudge when there's a move to make. Settings → Notifications → Enable. Works on Android and macOS today; iPhone works after installing as a PWA.
Never spammy. You can turn it off any time, on any device.
Sign in with just your email — no password to remember. One click in your inbox and you're in.
Password sign-in is still available via the toggle if you prefer it.
Press ? anywhere in the app to see the full list. Vim-style g + key navigation jumps you between Dashboard, Tasks, Calendar, Focus, Clarity, and Finance without touching the mouse.
Smart enough to ignore typing — pressing g while in a text field types g, not navigation.
Open any move and you'll see a Schedule for section with Today, Tomorrow, and Clear quick chips, plus a date picker for any other day.
Makes mobile rescheduling fast — two taps and the move jumps to a new day on the calendar.
Toggle between Week and Month at the top of the Calendar. Month view shows the full grid with drag-and-drop between days, perfect for long-range planning.
Due dates and scheduled days appear distinctly: indigo for "I plan to do this" and red for "this is when it's due."
Tasks with a due date now appear on their due date in the calendar — even if they aren't scheduled. Previously, the calendar only showed scheduled items, so deadlines could slip through.
A red "Due" pill makes the distinction clear.
Tap the mic in Clarity, talk through your day, and it structures everything into tasks with dates filled in. Useful whenever you think faster than you type.
"Dentist tomorrow at 2, finish Q1 by Friday, pay rent" → three moves, three correct dates, zero typing.
Every Next Move now shows pills explaining why the engine surfaced it: overdue, high priority, planned for today, fits your time. The reasoning is no longer hidden — you can see exactly what the engine considered.
Trust comes from showing the work.
Skip for now no longer pushes a task to tomorrow. It rotates to the back of today's queue. Skip every move and the cycle restarts — no empty state, no losing your day's work.
No penalty, no streak break, no guilt.
A small Feedback pill in the bottom-right of every authed page. Bug, idea, gripe, anything — goes straight to the founder. Optional email if you want a reply.
The fastest way to shape what gets built next.
The mobile navigation now fits on a single row with four primary tabs and a More button that opens Clarity, Finance, and Settings.
No more wrapping, no more squished icons.