The quiet lesson from a “silly” side project: shipping social-ready features is the real growth skill
Most Product Hunt launches teach creators nothing we can use. This one is different. Pinky Promise is a tiny, no-login app by solo maker Andrea Radojičić for turning “we should do that sometime” into an actual signed contract between friends — with reminders, calendar entries, and penalties if someone bails. On its face, that’s a novelty. But the interesting part for anyone who runs social accounts isn’t the friendship gimmick. It’s the distribution thinking baked into the build: link previews that render properly when pasted into WhatsApp or iMessage, a function that turns a signed certificate into a keepsake image sized for Instagram Stories, working unsubscribe links in Gmail. That’s the same unglamorous plumbing that decides whether a creator’s post actually travels. This essay is about what that plumbing looks like, why most of us ignore it, and where this specific product’s approach falls short.
The problem Pinky Promise actually solves (and why it’s a social-media problem in disguise)
Let me restate the product in my own terms, because the launch copy buries the lede. Pinky Promise is a frictionless commitment device. You and one friend or a group make a contract to do a thing together, decorate it, attach a penalty for bailing, and everyone signs. Once signed, it’s official. Reminders land in your inbox, and you can push the event to your calendar. The maker frames it plainly: “Its a bit silly. But the promises are serious.”
The reason I’m writing about it on a social-media blog is the technical detail in the maker’s own comment. Pinky Promise has no login and no backend server of the maker’s own. Instead, the maker used Vercel Functions alongside Vercel hosting to bolt small server-side capabilities directly onto a static site. Those functions do four things, and every one of them is a social distribution mechanic:
- Links pasted into WhatsApp or iMessage render a real preview of the promise.
- A function converts the signed certificate into a keepsake image for Instagram Stories.
- iPhones get a proper “Add to Calendar” flow.
- The unsubscribe button in Gmail actually works.
Read that list again as a growth marketer. That’s not feature padding. That’s the entire difference between a link that dies in a group chat and a link that gets forwarded, screenshotted, and posted. I’ve watched creators pour forty hours into a launch video and then ship a landing page whose Open Graph tags render as a gray box in iMessage. The video gets 200 views. The gray box gets zero clicks.
Why link previews are a distribution channel, not a detail
Here’s the mechanic most creators skip. When you paste a URL into WhatsApp, iMessage, Slack, Discord, or X, the platform’s crawler fetches your page and looks for Open Graph and Twitter Card metadata — og:title, og:description, og:image, and increasingly og:image:width and og:image:height. If those tags are missing, malformed, or point at an image the crawler can’t fetch, you get a bare link. A bare link in a group chat reads as spam. A rich preview with a real image reads as content.
This matters more than most people admit because dark social — messaging apps, DMs, private group chats — is where a huge share of creator content actually gets shared, and it’s the share that analytics tools are worst at attributing. You can’t see it in your dashboard unless you’re tagging links with UTM parameters and watching for direct traffic spikes. So the incentive to get previews right is weak, even though the payoff is real. My take: if you run any account where people share your links one-to-one, spending an afternoon on your OG image templates is one of the highest-ROI hours you’ll spend all quarter. Tools like Canva make it trivial to build a 1200×630 template you reuse for every post.
The Instagram Stories export is the smartest thing here
The second function is the one I’d steal immediately. Turning a signed certificate into a shareable image sized for Stories is a repurposing decision made at the architecture level, not the marketing level. Most indie builders treat “make it shareable” as a growth-hack afterthought. This maker treated it as a feature.
That instinct is correct, and it’s underused. If you’re a creator, ask yourself: what artifact does my product, service, or content produce that someone would voluntarily post? A certificate. A score. A before/after. A receipt. A streak. The platforms reward native-format assets — vertical, 9:16, with safe zones respected — and they punish lazy cross-posting of horizontal images with letterboxing. CapCut and similar editors have normalized vertical-first output for video; the same discipline applies to static shareable cards.
How this differs from the scheduling and automation stack you already pay for
Now the comparison you’re probably expecting. Pinky Promise is not a social media management tool, and I want to be clear about that before anyone signs up expecting a Buffer clone. It doesn’t schedule posts, it doesn’t pull analytics, it doesn’t touch the Instagram Graph API or TikTok’s Content Posting API. It’s a commitment app that happens to nail a few distribution mechanics.
But the contrast is instructive, because the tools you do pay for occupy a totally different layer. Buffer handles scheduling, queue management, and basic engagement analytics across the major networks. Hootsuite leans enterprise, with approval workflows and social listening. Later built its reputation on visual planning and, historically, on Instagram-first scheduling. Metricool bundles analytics, scheduling, and competitor tracking at a price point that appeals to solo operators. All of them solve the same core problem: getting content out on time, across many accounts, without logging into eight tabs.
What none of them solve — and what Pinky Promise accidentally demonstrates — is the last-mile rendering problem. Your scheduler can fire a post perfectly at 9:04 a.m. and the link inside it can still render as a gray box. Your analytics dashboard can show you impressions and engagement rate without ever telling you how many people forwarded your link into a private WhatsApp group where you’ll never see it.
Why TikTok creators should care more than LinkedIn ones
I’d argue the audience for this lesson skews hard toward short-form video and consumer social. If your growth depends on TikTok, Instagram Reels, or YouTube Shorts, your content lives or dies on shareability inside private channels. A friend screenshots your Reel and drops it in a group chat — that’s the loop. A rich link preview and a vertical shareable asset feed that loop directly.
If you’re running B2B LinkedIn, the calculus is different. LinkedIn’s own feed suppresses outbound links, and your audience shares via reposts and DMs rather than messaging apps. Link preview quality still matters, but the marginal return is lower. My take: prioritize OG image work and native shareable assets if you’re consumer-facing; prioritize comment-section engagement and document carousels if you’re B2B. Don’t apply the same playbook to both.
Where the math breaks
Here’s the honest caveat, and it’s the one I’d flag to any creator tempted to over-index on this. Rich link previews improve click-through on shared links. They do not fix a bad hook, a weak offer, or an audience that doesn’t care. I’ve seen creators spend a week perfecting metadata and see essentially no lift, because the underlying content wasn’t worth forwarding. Previews are a multiplier, not a base. If your baseline share rate is near zero, multiplying it by 1.3 gets you nowhere.
The other place the math breaks is attribution. If you can’t measure dark-social shares, you can’t prove the work paid off, which means it’s the first thing cut when you’re busy. That’s a real structural problem, not a discipline problem. UTM tagging helps at the margins, but messaging apps strip referrers aggressively. I’d bet most creators will keep underinvesting here precisely because they can’t see the return — and that’s exactly why the ones who do invest get an edge.
What creators and social teams can borrow from this build
Strip away the friendship-contract framing and there are four transferable moves here. None of them require you to be a developer, though the fourth one helps.
First, treat every link you publish as a shareable object. That means a real OG image, a title under 60 characters, and a description that reads like a reason to click rather than a summary. Test it. Paste your own URL into iMessage, WhatsApp, Slack, and a private X DM. See what renders. I do this every time I publish a new landing page, and I catch something broken roughly half the time.
Second, design one native shareable artifact per campaign. Not a screenshot of your dashboard. A purpose-built vertical card. If you’re running a challenge, a certificate. If you’re running a course, a completion badge. If you’re running a newsletter, a quote card. Make it trivially easy for someone to post it without editing.
Third, respect the calendar integration. The maker’s note that iPhones get a proper “Add to Calendar” flow is a small detail with outsized retention value. If you run events, live streams, or drops, giving people a one-tap way to add it to their calendar beats a reminder email every time. Google Calendar and Apple’s ICS standard both support this; most event tools handle it, but most creators forget to surface the button.
Fourth, use serverless functions as glue. This is the part that made the launch interesting to me technically. The maker used Vercel Functions to add server capabilities to a site with no backend — small, targeted endpoints that handle link previews, image generation, calendar files, and unsubscribe logic. If you’re a solo creator with a static site and you’ve been putting off “the technical part,” this is the pattern to learn. You don’t need a full backend. You need three or four small functions.
The unsubscribe detail is a compliance lesson, not a growth hack
I want to single out the Gmail unsubscribe button, because it’s the least glamorous item on the list and arguably the most important for anyone running an email list alongside their social presence. When a recipient hits “unsubscribe” in Gmail, the client sends a List-Unsubscribe request to an endpoint you control. If that endpoint doesn’t exist or doesn’t respond correctly, the user gets dumped into a confusing flow, or worse, marks you as spam. Spam complaints damage deliverability for everyone on your list.
The maker built the endpoint. That’s table stakes for a serious sender and an afterthought for most creators. If you’re running a newsletter — and most social operators eventually do — verify that your unsubscribe flow actually works from inside Gmail, not just from your own preference page. This is the kind of unsexy infrastructure that separates people who treat email as a channel from people who treat it as a checkbox.
Where my judgment says this falls short
Let me be balanced, because the launch copy is charming and it’s easy to over-praise a solo project with good intentions.
It’s not a social media tool, and it shouldn’t be marketed as one. If you came here looking for a scheduling or analytics upgrade, Pinky Promise isn’t it. It won’t replace Buffer, Later, or Metricool. It solves a friendship-commitment problem, and the distribution mechanics are a byproduct of solving it well.
The growth loop depends on two-sided adoption. A commitment contract requires both parties to sign. That’s a hard cold-start problem. If your friend doesn’t want to engage with a cute contract app, the whole thing collapses back into a text message. Compare that to a tool like Calendly, where one person can unilaterally send a link and the other just clicks. Pinky Promise needs mutual buy-in, which caps virality.
Pricing and monetization are not disclosed. The launch page doesn’t mention a price, a paid tier, or a business model. I’m not going to invent one. If you’re evaluating it for team use, assume you’re evaluating an early-stage product and plan accordingly.
No stated roadmap on platform integrations. There’s no mention of whether the certificate image export supports other aspect ratios, whether reminders integrate with anything beyond email and calendar, or whether there’s an API. Not disclosed means unknown, and unknown means don’t build a workflow on top of it yet.
Who it’s NOT for: enterprise social teams with approval chains, anyone who needs analytics, anyone managing more than a handful of recurring commitments, and anyone who needs SSO or admin controls. This is a consumer toy with sharp edges. That’s a compliment, but it’s also a boundary.
The bigger pattern I’m watching
Zoom out and this launch is a data point in a trend I’ve been tracking all year: solo makers using serverless primitives to ship distribution-ready features that used to require a team. Five years ago, “make my link preview render in iMessage and generate a Stories-sized image” was a two-sprint ticket. Now it’s an afternoon with Vercel Functions and a template. That collapse in cost is why the bar for creator tooling keeps rising. The tools you use — schedulers, editors, analytics — are all racing to absorb these primitives. The ones that win will be the ones that make last-mile rendering automatic instead of a manual checklist.
What I’d watch / test next
Three concrete things you can do this week, in order of effort-to-payoff.
Today: Paste your most recent published link into iMessage, WhatsApp, Slack, and a private X DM. Screenshot what renders. If any of them show a bare link or a broken image, fix your OG tags before you publish anything else. This takes twenty minutes and it’s free.
This week: Build one vertical shareable template — 1080×1920 — that you can drop any quote, stat, or milestone into. Save it as a reusable asset. Use it for your next three posts and watch whether it gets shared differently than your usual graphics.
This month: If you run an email list, hit the unsubscribe link in Gmail on a test account and confirm it actually works. If you run events, add a one-tap calendar button. If you have a static site and a recurring “I wish it could do X” problem, look at whether a single serverless function solves it. The Pinky Promise build is proof that four small functions can carry a surprising amount of distribution weight.
And keep an eye on Pinky Promise itself. If the maker adds multi-platform image exports, an API, or a group-scale use case, it becomes a more interesting reference implementation than it is today. For now, it’s a good reminder that the features nobody puts on the landing page hero — the preview, the export, the unsubscribe — are often the ones doing the actual work.




