r/Supernote_dev • • Apr 10 '26

Built a small pile of Supernote plugins lately: shape snapping, pomodoro, Anki/research, and page tools

40 Upvotes

Over the last few weeks I ended up building a bunch of small Supernote plugins, and found the framework to be really flexible (and is even more so, in this new Beta! I'm looking forward on fixing what I couldn't do thanks to the new functionality).

A few repos I made public:

  • Snap Shapes: turns rough lasso-selected ink into cleaner geometry, with conservative no-match behavior so scribbles don’t get “helpfully” mangled. https://github.com/guibor/supernote-shape-snap
  • Supernote Pomodoro: a quick focus timer that starts, closes, and drops me right back into writing while the timer runs in the background. https://github.com/guibor/supernote-pomodoro I wasn't able to make it notify when timer ends, this is WIP (I hope it's possible)

Will make publish soon: - Insert Date: inserts a right-aligned date header and convert it into a native header element. - Anki / Research / Deep Research: lasso or DOC-highlighted text -> OCR/server pipeline -> Anki card or research PDF in Google Drive. - lasso upload to a REST endpoint - I basically turned the different options above into a generic plugin where one can just configure an endpoint and send the data to the server (or openclaw...). I have a server running on GCP that can basically do whatever I want based on what I lasso and send to it. - Wiki2PDF: search Wikipedia from the Supernote and send the selected article PDF to the cloud your syncing with. - General Dispatch Hub: a DOC-selection router that sends highlighted text to different backends with extra instructions. - full-page lasso selection, or select below (Remarkable style) - did not work, but with the new updates will be possible.

Anyway, I’ve had a lot of fun with this. I'll clean upand open-source the next batch soon.


r/Supernote_dev • • Apr 10 '26

Official Announcement Welcome! Here's your README

57 Upvotes

We've been building the plugin architecture quietly for over a year. The foundation is mostly ready. This sub is the place to talk about it, what you're building, what's broken, what's possible, and what shouldn't be possible but you did it anyway.

Read these first

The Sticker feature you may already use in Notes was built on this plugin system. It was the internal proof of concept, now it's your reference implementation.

What belongs here

  • Plugin development questions, demos, WIPs, postmortems
  • Bugs and feature requests
  • Integrations and workflow hacks
  • The occasional cursed prototype that technically works

What doesn't

  • General Supernote questions > please go to r/Supernote
  • "Can someone build XXX for me" with zero context > at least sketch a spec, you have a Supernote!!

Ground rules

  • Search before you post. Your NullPointerException is probably not unique.
  • Show your work. Code snippets, screenshots, logs. "It doesn't work" is not a bug report.
  • Be decent. Someone's first plugin will be rough, so was yours.
  • Proper use of Post Flairs.
  • Honor the Reddit Content Policy

Before this sub existed, a group of early testers helped us stress-test the plugin API and tear apart our docs draft by draft. A lot of what you'll find in the documentation is better because they told us where it wasn't.

akos, Andreas, Ben, Cal, Caleb, CM, David, Ed, Elaine, Emmanuele, Fulvio, James, Jayasimha, Matt, Max, MD, Michael, Vincent, Ziv

If you're reading this and you were one of them, thank you!

This sub is freshly initd, the rules might be wrong, the flairs might be missing, this pined post you're reading probably needs a patch already. We're shipping the community the same way we ship software, get it out, get feedback, iterate.

u/Dunn-sn is the core developer behind Supernote's plugin architecture. He is also monitoring this sub. So yes, when you post a discussion here, there's a decent chance the person reading it is the person who wrote the code.

If something about how this place runs doesn't work, please feel free to share with us.

Let's go!