Background
For weeks I'd been scrolling Pinterest in the back of lectures, saving things without knowing why. When I finally looked at what I'd saved, a lot of it was stamps: real ones, invented ones, vintage ones, ones from countries I couldn't have found on a map. I liked how much world fit into something the size of a thumbnail, and I wanted to see whether I could get that feeling onto a screen.

The first idea was bigger than what shipped. I called it soundstamp: small embeddable stamps that played a song, a personal replacement for the Spotify widget people put on their portfolios. I sketched it over and over, some pages careful and some barely more than a scribble, and a lot of it borrowed from hardware, Teenage Engineering in particular, which made sense for an idea built around songs.

Soundstamp and the ideas that didn't survive
Then Spotify cut back its API access. I rebuilt around iTunes, spent a long research spiral getting it working, and dropped it anyway because it never felt good enough. I'd built the whole thing by then, mostly during classes. Eventually I dropped the song idea entirely and went all in on stamps. I can't tell you exactly why. It just felt right.
The design ideas went the same way. My EQ-bar layouts looked clean but didn't translate outside a music context. I also had a 2D pad control that I thought was clever. Every knob on it was its own control, and the x and y axes changed with whichever knob you were on, so color might be hue by saturation and blur something else entirely. It was clever, but it was hard to read at a glance, and a learning curve is the wrong first impression for something that's supposed to feel personal.

Moving to a canvas
What fixed the editor was moving to a Fabric.js canvas. The old model treated an image as the background and nothing more, which ruled out frames and more than one asset per stamp, and text stacking depended on a layering toggle I never trusted. On a canvas every piece is its own object, so ordering, images and frames all have one place to live.
The shaders came together around the same time: halftone dots, fluted glass, CMYK halftone and dithering, with thanks to the team at Paper.
Version 1.0
The first release launched in April 2026. It had perforated edges at adjustable density, searchable fonts and sizes, image frames and backgrounds with cropping, four shaders, size presets that snap to square, landscape or portrait, zoom from 25% to 400%, and export to PNG, JPEG or SVG at several resolutions. There was no database and no account.

The stamp sits in the middle of a wide dark canvas, with a three-icon toolbar beneath it. Every control lives in one fixed column on the right: fill, a perforation slider, a list of shaders, then size presets. Each gets the same visual weight, so a first-time visitor sees every option before they've made anything.
1.7k visits, and what I couldn't see
In its first 30 days stampstudio had 1.7k+ visits. I'm saying visits on purpose. Vercel Analytics on the free plan gives me visits, page views and bounce rate, and nothing about whether anyone exported a stamp, how long it took them, or whether they came back. I also have no user feedback to quote.
So the case for a redesign was my own judgment. I looked at that screenshot and decided the tool felt heavier than the thing it made. A couple of weeks ago I built tern, my own analytics tool, and wired it into the site, so the next round of decisions can rest on more than opinion. It's still collecting, and I'll update this page when it has something worth reporting.
What 2.0 is trying to do
I wanted the app to feel spacious and playful, and to move away from a fixed content area beside a fixed sidebar. The 2.0 changelog (November 6, 2026) calls it a light, playful desk with floating controls, a new logo and new colors, and each of those has a concrete change behind it.


The sidebar stopped holding everything. Shaders moved to a floating rail on the left, shown as previews that show their name on hover. The right panel now carries only what the canvas needs: size, perforation, hex color and opacity, and when you select text the same panel turns into text controls.
Four shaders came with 2.0 (paper, water, engraving and riso), with Intaglio, a fine-line single-ink print, following the next day. There's also a color picker with opacity and blend modes for shaders. This is one photo through all of them.









Updates open in a popup on the page, so reading the changelog doesn't take you away from your stamp.
Making it feel like handling an object
A lot of 2.0 is in how things move around the canvas. You can resize from the right or bottom edge, or drag a corner to keep proportions. Hovering just outside a corner rotates text and frames, and in 2.0.1 rotation snaps to right angles. Dragging a text corner changes the font size and dragging a side stretches the box, and the text stays sharp through both. You can drag across the stamp to select several things at once and press Backspace or Delete to remove them.
Resizing the stamp crops a background image and no longer stretches it, and text and frames can't be scaled past the stamp's edge. On phones you can drag any side of the stamp to resize it.
The fixes nobody screenshots
A stamp that looks right on screen and exports wrong is a bad stamp, so a good share of 2.0 and 2.0.1 was fixes. The biggest one: shaders were exporting stretched up from screen size instead of at full resolution, so exports came out softer than the stamp on the canvas. Export now renders at full resolution, so the halftone dots stay fine and sharp. Here's the same stamp, exported from 1.0 and from 2.0.


The rest were smaller. A faint line ran across the perforation holes, and the corner of the water shader had a grey patch. Clicks on the stamp were getting lost when a shader and text were both on. The sidebar now tells you when a size is too big for your window, and large stamps no longer run under it. None of these show up in a before-and-after image, but I think they matter more than the new colors to whether someone makes a second stamp.
Shipping in small pieces
Between the April launch and 2.0 there were three releases: a wireframe outline mode, smarter perforations, and Stampsheet. Stampsheet lets you arrange stamps on a sheet and drag them around, and they lift when you pick them up and settle back with a bounce. A tray keeps your last five exported stamps, each sticker has its own border, holographic foil, shadow, scale and rotation, and the sheet exports as a single interactive HTML file that works offline.
Reflection
I built the first version for myself, and as far as I could tell nobody was asking for it. I have 1.7k+ visits and no real comments to point to, and the analytics tool I built afterward is my answer to that gap.
Two things I'm taking into the next project: