At the beginning of 2025, I had the goal to learn how to code - which later came to be agentic engineering.
My personal thesis project for the year was Nozzle. It’s an app I’m proud of, and I use it every day. It may be an app just made for me.

Nozzle

The inspiration for Nozzle came from the realization of how much time I was spending curating the input message. The message field in Cursor, ChatGPT, Claude.
I love the “close your eyes” exercise, basically an LLM empathy test. If you were the model and had only what’s inside the prompt, what would you still be missing? If anything critical is missing, the model will guess. And guessing is where things go wrong. So the fix is to supply that context up front. Give your AI everything it needs to solve what you’re asking.
So my goal was to build a place to curate and collect my information before copy and pasting into my AI app of choice.
First Attempt

In March, I ambitiously aimed to build an Electron app that functioned as a notes app. The idea was that we would have a sidebar that allowed you to multi-select notes and copy to your clipboard.
Like most projects, I got 80% there and was super pleased. I had a nice, simple design with a sweet translucent background.
Two issues came up:
1. Scope Creep. When you try to build a notes app, you actually have to build a notes app. I was spending weeks on little things like drag and drop, file integrity, etc. Things I was vastly unprepared for at the time.
2. Mac Apple Certificate Issues. I was having terrible certificate issues with the app and Electron. I couldn’t get the app to beta testers without the horrible “This may be malware” warning.
NOTE
I think we forget about how much agents have improved, because just back in March, Sonnet 3.5 and thousands of tokens could not solve the issue. I tried last week with a similar signing issue with Opus 4.5, and it troubleshot in minutes and solved it. Have an issue? Try waiting for the next model release.
I shelved the project and started some others. I came to realize my app may not be the right fit. Actually, who am I to build yet another notes app?

The Pivot
The one thing we all do as knowledge workers is copy and paste (and hopefully transform) data. My most used tool was Raycast’s clipboard manager.
I realized most of the data I input into the message field is from many different sources.
Examples:
Cursor: I may copy the build logs, the file I’m editing, my PRD doc, and a screenshot of the app.
Building a Presentation: I copy my meeting notes, a project brief document, type in a bunch of background, and a saved prompt with instructions.
Actually, the best form factor for what I want is some sort of multi-select clipboard, prompt, and context manager.
I found an awesome simple open source clipboard manager and forked it by simply adding checkmarks to each item to enable multi-paste.
And boom — I might have something here.

Note to earlier self:
Starting a build off an open source repo teaches you so much about proper architecture and gives you a template of how to work with standards.
Building
Once the core worked, I started layering on everything I actually wanted.
I found I almost always share screenshots with AI because it helps them see more context. So I added screenshots as a source. You can select any window or desktop on your Mac, and at the time of pasting, Nozzle takes a screenshot for you and pastes it directly. The best part is when I’m iterating with an agent, and for each turn, I’m just editing my instructions and leaving the window selected for a screenshot. At the time of pasting, the screenshot is updated automatically.

When multi-selection happens, you can select an item as context or as an example. When you hit Enter, it pastes all texts as an organized string with XML labels. Your prompt starts at the top, while each selected clipboard item gets labeled with a <context> or <example> tag. This helps the LLM understand what its goal is and what is just information.

You can also store saved prompts and layer them. For example, I may want to have a base prompt for code reviews, but then layer in specific instructions for this particular review. And for sources, you can add a folder directly on your computer, and Nozzle converts any format to plain text.
Integrating Apple’s Foundation Models was a fun exercise. Their models aren’t that powerful but they’re easy to integrate. And for a free app, it’s really nice to be able to implement AI with no costs. We use one to enhance the instructions and another for speech to text.
It works just as fast when I need it as a regular clipboard manager by pressing CMD-Enter to paste the selected item immediately.
The summer coincided with Apple’s Liquid Glass redesign, which is the exact look and feel I wanted. A glass panel that unobtrusively appears when needed and gets out of your way.
What I Learned
I’m extremely pleased with what I created, and it has paid dividends to how I now work with AI.
Building an app end-to-end turned out to be the perfect thesis project in the year of learning to agentic engineer. It made me own design, UX, user testing, architecture, and forced me to improve my agentic management skills.
The biggest lesson was the pivot. I spent months pushing toward a notes app because that’s what I’d set out to build. The moment I let go and followed the actual problem, it all came together.
The name Nozzle came from funneling information, with a simple logo to represent that, as well as Cmd+V pasting. It’s now available, and the code is open source.
![]()
GitHub Repository: https://github.com/conmeara/nozzle Download Link: https://github.com/conmeara/nozzle/releases