How it works

Nucleate

Nucleate builds history from audio. Each recording becomes a daily note and daily notes compound into weekly and monthly content. Transcription is the intake step and summarization is the enrichment.

It was important to me that customization was a core pillar of Nucleate. I like making art, games, and computer projects, but you probably have your own interests!

Nucleate is fundamentally a productivity tool, so I tried to cater to as many different professional backgrounds as seemed reasonable. Out-of-the-box, you can choose from 20+ user modes tailored to different workflows, such as Developer, Small Business, or Personal Journaling. If none of those fit, you can build your own! There are in-app functions that allow you to design your own user modes, set your own tags, and customize summary preferences/content.

For those who like to tinker, you can also set preferred transcription and summarization models, keeping everything private and local to your machine or by making use of OpenAI API support. I’m an engineer and love that stuff, so I loaded basically every ASR backend into this tool. It was painful to get everything working and sharing the same packaging environment, but it also means that you get to play with settings, model preferences, and local optimization!

Nucleate is supposed to be like having a project manager in your back pocket, someone who works in the background and doesn’t require handholding. Once set-up, it’s designed to support an automatic workflow without the need for file management, tracking, etc. Just set it up and let it rip.

Insights

Insights are optional, value-added analyses that sit on top of transcripts and summaries. They’re designed to extract higher-level structure—things like priorities, decisions, unresolved questions, or key takeaways—and append them cleanly to your notes.

Rather than forcing a one-size-fits-all output, Nucleate lets you decide how much structure you want. You can explicitly select which Insights appear in your daily, weekly, or monthly notes, or enable Smart Insights, which automatically chooses relevant topics based on the content itself. I exclusively use Smart Insights to allow for automatic content analysis.

The whole point of having Insights is to help surface critical content and to give choice to the user what kind of material gets floated upwards. Frankly, not all Insights are useful for all kinds of users. For instance, I personally use Nucleate to monolog and have no particular use for diarized, speaker-aware notes. If you record podcasts or meetings with multiple speakers, perhaps those are more useful in your workspace.

Insights matter most when content compounds — the same themes recur across daily captures and sharpen in weekly and monthly rollups. The best approach is to tune, test, and rebuild summaries until you find something that suits your needs.

The Lab

Not everything belongs in your main project chronology. During development, I occasionally needed to process individual files separately from the automated memory pipeline. Nucleate Lab is for those one-off runs — a lecture, a guest interview, a podcast, a custom mode experiment — without disturbing your background setup.

The Lab supports manual transcription, one-off summarization, and quick prompt testing. The same 20+ prebuilt user modes are available as lab profiles and are included out of the box, but — in the spirit of customization — you can create & test your own. Mix user modes, models, and Insights freely and experiment a bit.

The memory pipeline

Nucleate uses progressive compression — multiple passes at increasing time scales so the system gets more than one chance to identify what matters:

audio → daily note → weekly rollup → monthly rollup

Each layer summarizes the layer below. The intent is cross-session coherence: patterns, trends, and long-term progress that no single recording can carry on its own.

For those interested, progressive compression is actually a technique used in high-context ASR pipelines and many agentic workflows. It allows for very long ramblings and very high context management. Nucleate extends that same concept into a time-based architecture.

Weekly and monthly rollups

On a weekly or monthly cadence, Nucleate reviews all newly generated markdown content from the previous period. Daily or weekly summaries are aggregated before being passed into the corresponding weekly or monthly model.

These higher-level summaries follow the same pipeline as daily content: summarization, optional Insights, post-processing, and synchronization.

Daily intake

The ASR intake pipeline is nothing particularly novel: file detection → transcription → summarization → synchronization. It’s designed to be deterministic and recoverable, so summaries can be rebuilt or adjusted without breaking your workflow.

Rebuilding summaries will give you some stochastic behavior (i.e. slight differences between summaries), but it’s largely quite reproducible.

The pipeline starts with audio. You can either record in-app or figure out another way to drop audio into a watched Incoming Audio folder.

When a new audio file is detected, transcription begins immediately using your selected models and settings. Once transcription completes, speaker detection/diarization is optionally performed and the transcript is segmented by speaker and timestamp (speaker detection is only available when transcription runs locally - a quirk of OpenAI Whisper API).

A cached copy of the transcript is stored inside the app, and the original audio file is moved to your designated Archive folder.

Any transcript that does not yet have a matching summary automatically enters the summarization stage. The transcript is split into smaller sections, pre-processed, and summarized using your active user mode. The resulting summary, along with the raw transcript, is then passed through the optional Insights layer.

If Smart Insights are enabled, Nucleate evaluates the content and automatically selects the most relevant Insights. If Smart Insights are disabled, only the Insights you’ve explicitly enabled are applied.

The final markdown output—core summary & Insights—is cleaned up during post-processing, optionally tagged and cached in-app. The new summary is synced to your user folders, and, if configured, pushed to Notion. The cached version of the summary can be viewed in-app on the Summaries panel.

Rewriting and deleting

If a summary isn’t quite right or doesn’t match your expectations, I built an escape hatch to remove or rebuild. Using the Summaries panel, you can regenerate a summary using your current user mode and settings.

You can also permanently delete a summary and its associated transcript. This does not delete the original audio file, but it prevents the content from being reprocessed or re-synchronized.

ℹ️
Deleting a markdown file directly from your user directory (via Windows Explorer or macOS Finder) is not permanent. Nucleate will detect the missing file and restore it from cached data. To permanently delete content, you must do so from within the app.

Status indicators

Nucleate is designed to run as a tray app in the background, but I hate apps that suck up resources without telling me. Nucleate can be optionally toggled to run in the background as part of your system tray or disabled altogether. If enabled, keep an eye on the tray status indicators to see what’s going on.

Disabled
Idle
Enabled
Active
Processing
Busy
Downloading
Download
StatusBehavior
DisabledDisabled and idle
EnabledEnabled and watching for new files
ProcessingActively transcribing, summarizing, or uploading something
DownloadingDownloading an Ollama LLM or transcription model