I Built a Website To Show Off My Postcards. Here's What I Learned.
Most of my side projects die as ideas. They live in notes apps and on scraps of paper. They get talked about with friends and then get quietly forgotten. OncePosted.com is one of the rare ones that made it out.
It's a simple premise. A curated collection of vintage postcards, each one scanned front and back, showing the image and the handwritten message on the other side. You can submit your own. You can browse the collection. That's it. No algorithm. No notifications. Just cards that were once posted, now archived.
Full disclosure, I built it with AI assistance, first on Replit and then with Claude Code. I had no plan, no spec document, and no particular expertise in the stack I ended up using.
What I did have was an idea I kept coming back to, it turns out that's enough to start.
Why Postcards?
I have always found postcards quietly fascinating.
Someone picked it up. They thought of another person. They wrote something, even if just a few lines. They found a stamp. They posted it. And now, decades later, you can hold that moment in your hand. The creases in the paper. The faded ink. The stamp that's been through rain and sorting machines and years.
Postcards are the original social media. You share a place. You curate what you want someone to see. You compress an experience into a few lines. Sound familiar?
The difference is these messages have lasted.
Your Instagram posts from 2016 are already gone or degraded into a scroll you'll never scroll back to. A postcard from 1912 is still legible. Still personal and a real artefact of a real moment.
I started picking up vintage cards in markets and second-hand shops - Thanks Mum! There's a whole ecosystem of them. Collectors, dealers, people who spend weekends cataloguing cards by region and decade. I was just doing it casually. But I kept thinking: these things deserve to be seen. Not just by whoever owns them. By anyone who cares to look.
The contrast between old ephemeral messages, and the new high tech version remains interesting to me. I don't think anyone will ever keep my WhatsApp one-lines in a shoe box.
That was the seed. OncePosted was built to give those cards somewhere to live online.
How Vibe Coding Works (and What That Actually Means)
I want to be precise about what "vibe coded" means here, because it gets thrown around a lot.
Vibe coding is not just a shortcut. It's a different kind of building. You describe what you want in natural language, the AI generates code, and you iterate until it works. You don't always understand every line that gets written. You test it, break it, describe what's wrong, and go again.
What you need is clarity about the product and the process, not expertise in the code.
I started on Replit because the barrier to entry is zero. You open a browser, describe what you want, and something appears. For the first version of OncePosted, that was genuinely magical. A functioning page with a grid of postcards. A submission form. A simple admin review flow. All in a few hours of back and forth.
I soon discovered that Replit has limits. The more complex the project got, the more I felt like I was fighting the environment rather than building in it. Deployments were unpredictable. The file structure felt opaque. I couldn't always see what was happening under the hood when things broke.
Moving to Claude Code changed the experience for me entirely. I was working in my own environment, with real files, a real project structure, and a much tighter feedback loop. I could see the code. I could understand it better, even when I couldn't have written it myself. When something broke, I could dig into why rather than just describing the symptoms and hoping for a fix.
My takeaway was that Replit is great for prototyping and testing whether an idea has legs. Claude Code is where I would go if you wante to build something real.

What Building a Product Taught Me
I've spent years working in technology, and often in my newsletters I talk about learning by doing. OncePosted reminded me how little I practice what I preach.
Here's what I actually learned from shipping this.
- Scope is a living thing. The original idea was minimal. A grid of cards, a submit button. That's it. But once you have something working, the scope expands almost automatically. A search filter. A location tag. A dark mode. None of these were in the plan. All of them felt essential once the basic thing existed. The discipline isn't having a plan. It's deciding, over and over, what not to add.
- Done beats perfect every time. There are things about OncePosted that still bother me. The mobile layout isn't quite right on every device. The submission review process is manual and a bit clunky. I'd still love a map view that plots every postcard by location. But now the site is live and the collection is growing, people are actually visiting. A version that ships is infinitely more valuable than a perfect version that doesn't.
- Change Management matters. You might expect that from me, but learning the process of building a site, staging it and then deploying was new for me. I spend my days trying to be a gatekeeper for change, and then managing the human aspect. Truth is, I'd never really seen it from the product side - and how frequently I wanted to update my previous new site.
- You learn what a product is by building it. I thought OncePosted was about collecting. It turned out to be more about storytelling. The messages on the backs of the cards are often more interesting than the images on the front. Someone writing to their mother in 1962. A quick note from a holiday that seems almost unbearably ordinary and completely irreplaceable at the same time. The product became clearer the more I built it.
- AI tools change the cost of an idea. This is the one that stays with me most. OncePosted would not exist without vibe coding. Not because I'm incapable of building things, but because the upfront cost of starting something new used to be high enough to filter out ideas that weren't absolutely certain bets. Now the bar is lower. You can test whether an idea deserves to exist before you've made any real commitment to it.
The lower barrier of entry changes what I'm willing to try.
What's Next
The collection is small right now. I'd love more cards, more contributors, more variety in location and era. If you have vintage postcards sitting in a drawer somewhere, I'd genuinely love to see them.
Beyond the collection, OncePosted is also an ongoing experiment in building. I'm adding to it when I have something useful to add. I'm resisting the urge to rebuild things that already work. I'm learning what it means to maintain something rather than just launch it.
Most side projects die as ideas. The ones that survive are the ones you actually care about.
I care about this one.
Member discussion