Mochi 🍡

Like mochi, it’s small but holds things together—a macOS utility with no AI of its own, built to connect AI design workflows by keeping images and text ready to move between tools.

💡 Inspiration

Making a good-looking image only takes a few seconds now. Getting everything ready beforehand still takes far too long.

Reference images come from different websites and have to be downloaded one by one. Business requests rarely arrive as a neat PRD—they are more likely to be scattered across chat messages. Prompts, dimensions, product descriptions, and visual directions all end up in different browser tabs, folders, and notes.

By the time I am ready to create something, I have already switched between half a dozen places.

Agents and MCP are powerful, but setting up that kind of workflow just to manage a few images and notes feels like overkill for most designers. It takes time, requires technical setup, and burns tokens.

Mochi came from that small but familiar gap:

The space between collecting creative context and actually using it.

✨ What it does

Mochi is a small floating panel for macOS that keeps the images and text I am about to use within reach.

  • Recently downloaded or copied images appear automatically
  • Images can be dragged directly into Figma, AI tools, or other apps
  • Prompts, product copy, dimensions, and bits of a brief are saved as separate text snippets
  • Each reference image can keep its own related notes
  • Any snippet can be copied again with one click

Mochi does not create anything for you, and it does not try to take over your workflow.

It simply keeps the context you need close at hand.

🛠️ How I built it

Mochi is a native macOS app built with SwiftUI and AppKit.

It watches the Downloads folder and the system clipboard for new images and text. I used NSPanel to create a floating window that stays on top and follows you across macOS Spaces. Native drag and drop lets images move directly from Mochi into other apps.

Everything stays on the Mac:

  • No account required
  • No cloud service
  • No Agent or MCP setup
  • No tokens spent just organizing files

🧩 Challenges I ran into

The hardest part was not a complicated algorithm. It was making the panel easy to reach without making it annoying.

It needs to stay visible without constantly stealing focus. The background has to move the window, while the images inside it need to drag into other apps. Text fields still need to behave normally, and the panel should not disappear every time another app becomes active.

The macOS sandbox added another layer. Mochi needs access to the Downloads folder, but only after the user grants permission. It also needs to remember that permission safely the next time the app opens.

The clipboard came with its own edge cases:

  • Images and text need to be handled differently
  • Text copied from Mochi should not be captured again as new content
  • Typing inside Mochi should not create duplicate snippets
  • New items should not disturb the context currently being organized

These are small details, but they decide whether a utility like Mochi is genuinely useful every day.

🎉 Accomplishments that I'm proud of

What I am most proud of is not the number of features. It is that Mochi makes an awkward little workflow feel continuous:

Copy or download something, and it appears. When you need it, drag it out or copy it with one click.

There is no account, tutorial, or automation workflow to set up. Open the app, allow access to the Downloads folder, and it is ready.

Mochi is small, but it has already reduced the amount of time I spend digging through folders, chat histories, and browser tabs.

🌱 What I learned

Creative workflows do not always need more AI. Sometimes they just need less friction and a better scratchpad.

Context is also more than a pile of saved files. Why an image was saved, which request it belongs to, and which prompt goes with it can matter more than the image itself.

I also learned that the closer a tool is to an everyday habit, the lighter it should feel.

For a designer, one less setup step or one less window switch can be more valuable than another advanced feature.

🚀 What's next for Mochi

For the next version, I am exploring a way to switch between a Screenshots area and a Downloads area.

A Downloads folder quickly becomes a junk drawer. Over the course of a day, unrelated files can push out the references I actually care about. Screenshots and downloads also come from slightly different workflows, so separating them may make the panel easier to use.

I have not settled on the interaction yet. It could be a manual switch, automatic sorting, or a lighter filtering system. I am still figuring out what feels most natural. 🤔

I would also like to add:

  • Pinning and grouping
  • Search and history
  • Project-based collections for images, prompts, and requirements
  • A simple way to carry a complete set of context into other AI or design tools

Whatever comes next, I want Mochi to stay true to the original idea:

Small, local, and ready when you need it—without turning a simple problem into another complicated system. 🍡

Built With

  • appkit
  • chatgpt
  • clipboard-api
  • core-graphics
  • drag-and-drop-api
  • file-system-monitoring
  • macos
  • native-macos-development
  • swift
  • swiftui
  • xcode
Share this project:

Updates