push-to-do: Push To-Do: The iPhone App That Turns Speech Into Notion Tasks

A tiny SwiftUI utility that starts recording on launch, runs the audio through Whisper, and posts the result into Notion with almost no interface in between.

8 min read • View on GitHub • More from slavingia

A person holds an iPhone like a field recorder while sound waves travel from the phone through a narrow translation chamber and emerge as a neatly formed task card. The scene explains how Push To-Do compresses speaking, transcription, and filing into one motion.
Push To-Do treats the iPhone as a dedicated voice front end for Notion.
Key Takeaways

Why This App Starts Recording Before You Ask It To

Push To-Do is not trying to be a better task manager. It is trying to erase the moment of hesitation between thinking of something and putting it somewhere durable. The app opens, records immediately, sends the audio to Whisper, cleans up the transcript, and drops the result into Notion.

That matters because capture tools lose to memory friction more often than they lose to competitors. By the time you unlock the phone, navigate to the right page, and decide how to phrase the task, the thought is already degraded. Push To-Do treats the iPhone like a dedicated voice front end for Notion.

A Weekend Project Built Like a Pipeline

A hedcut-style portrait based on the verified GitHub avatar for Sahil Lavingia. It establishes the project's creator context without pretending to add a separate photographic source.

The codebase is small enough to read like a stack of decisions. SwiftUI handles the shell, AVFoundation handles capture, Alamofire uploads the audio, and NotionSwift writes the result back out. There is no elaborate navigation, no account labyrinth, and no custom settings page.

That shape fits the origin story. This looks like a project built quickly, probably with heavy AI assistance, and intentionally kept lean. The point is not robustness. The point is proving that a useful workflow can be assembled from a few sharp integrations.

The Trick: Voice In, Notion Out

The interesting part is not that the app transcribes speech. It is how little stands between the microphone and the final Notion object. Audio is captured locally as recording.m4a, sent to Whisper, cleaned, then routed into one of two Notion write paths.

One transcription step feeds two different Notion destinations, which is the real product choice here.

A close-up of a split workbench where a microphone feeds a local audio file, a cleanup filter trims a trailing period, and the cleaned text branches toward two Notion destinations. The image explains the repo's central mechanic: one capture stream, two output modes.
The same spoken input can become either a page block or a database entry.

There is also a tiny but revealing cleanup step. The transcript is stripped of trailing punctuation before it is sent onward, which is the kind of small decision that tells you the app was built by someone who cared about reducing friction more than about preserving every trace of the raw input.

The details matter because they show the app is not a general AI assistant. It is a routing layer. Speak once, choose a destination shape, and let Notion absorb the result.

Why the Settings Live in iOS Settings

Instead of building a custom preferences screen, the repo leans on Settings.bundle and the iOS Settings app. That is a smart shortcut. Configuration becomes a system task, not part of the product surface, which fits the app’s obsession with keeping its own UI almost nonexistent.

It also signals a broader product philosophy. The best interface is often the one Apple already ships, especially when the app’s job is only to collect a token, a page ID, and a database ID. Every screen you do not build is one less thing the user can bounce off of.

Fast, Fragile, Useful

PathCapture speedSetup complexityUI burdenFlexibilityReliability
Push To-DoVery highLow once configuredMinimalFocused on voice capture into NotionPrototype-grade
Open Notion directlyLow to mediumNoneHighBroad, but slower to reach the right pageStrong
Shortcuts or automation glueMediumMedium to highLow at runtimeFlexible, but brittle to maintainVaries
Full task managerMediumHighHighBroadest feature setUsually strong

The comparison is not flattering to everything else, but that is the point. Push To-Do is optimized for the first five seconds, not for task management breadth. It wins only if your bottleneck is getting a thought out of your head and into a durable system before it evaporates.

That also makes the repo a cautionary artifact. The hardcoded API key, minimal recovery logic, and thin defensive layer are all signs of a prototype built for motion, not for hardening. Useful, yes. Finished, not really.

What It Replaces

Push To-Do is best understood against three familiar habits: opening Notion and typing, wiring up a Shortcut, or using a full-featured task app. Each of those works. Each also asks for more attention than a fleeting idea usually deserves.

This app replaces deliberation with capture. If it succeeds, the win is invisible. The task is simply there later, already filed, with no memory of the effort it took to save it.

WorkflowWhat you gainWhat you give up
Open Notion and typeA familiar, durable interfaceSpeed and immediacy
Use ShortcutsAutomation flexibilitySetup overhead and maintenance
Use a full task managerFeatures and reliabilityA slower path from thought to record
Use Push To-DoNear-zero-friction capturePolish, breadth, and robustness