Skip to content
shipped

Squiggle

Slack-integrated photo annotator. Quick markup, no context switch.

Problem

  • Circling one thing in a screenshot meant leaving Slack, opening an editor, saving, and uploading again.

Approach

  • A Slack app: upload, annotate, share, all in the flow.
  • The work is mostly in the integration: interactive components, message updates, file permissions, OAuth scopes.

Outcome

  • Shipping a real integration is a humbling exercise in reading other people's docs carefully.
Private build — no public repo or demo.
TypeScriptSlack API

A Slack app for the moment when you want to circle one thing in a screenshot and post it back to the channel. Circling one thing in a screenshot meant leaving Slack, opening an editor, saving, and uploading again. Squiggle removes the round trip: upload, annotate, share, all in the flow.

The work is mostly in the integration. Slack’s app contract has more sharp edges than a casual user would guess: interactive components, message updates, file permissions, OAuth scopes. Each one is documented, and each one is documented somewhere slightly different from where you expect.

The lesson it reinforced: shipping a real integration is a humbling exercise in reading other people’s docs carefully. The annotation itself is the easy part; the product is the plumbing that makes it feel like Slack already had the feature.

Next →

Lenny RAG / EigenPM Explorer

Knowledge-graph RAG over 297 Lenny's Podcast transcripts, plus a 3D PCA map of those guests you can place yourself inside.

Say hi.
The old-fashioned way.

Three doors straight to a human — for anything the assistant can't or shouldn't answer.

It's in Madrid · EN / ES / HE · or ask the assistant on the homepage · how it works.