Changelog

What I've shipped, in plain language.

I keep this page so you can see qr-cow is alive and changing. Dates are real, entries are written by hand — no "released v1.27.3" robot prose.

What's next, in rough order

  • soon

    Bulk CSV import

    Upload 200 rows; get 200 dynamic codes. Five people have asked; I want it too.

  • next

    Brand kits

    Save a palette + logo + body shape, reuse across new codes in one click.

  • later

    Native iOS app

    The PWA covers 90% of it, but a real app gets you the home-screen widget for top-3 codes.

  • later

    Scannability checker

    Upload a photo of your printed code — get a 0-100 score based on contrast, error correction, and what the camera sees.

Shipped

  1. Voice rewrite

    Rewrote the hero, FAQ and pricing copy after re-reading them and realising they sounded like every other QR-code site. Also bumped Growth from $8 to $9 — $8 felt apologetic. New about page and changelog (this).

    shippedwriting
  2. Comparison pages + signed-in studio fix

    Three competitor-comparison pages live — vs QRCode Monkey, QRTiger, Beaconstac. Honest 'where they win / where we win' tables, no marketing spin. Also fixed a small bug: signed-in users on /generate were still seeing the 'Sign up free' nudge. They now get the inline save panel instead. Caught by a user — thank you.

    shippedfix
  3. PWA — install as an app

    qr-cow is now installable. Add to home screen on iOS, install on Chrome desktop and Android — opens in its own window, runs offline for designing, and the dock shortcut takes you straight to 'New QR'.

    shipped
  4. Real analytics

    Country panel with flags. Device, OS, browser breakdowns. Hour-of-day heatmap. Took two weeks longer than I expected because geo headers from different CDNs don't agree on country codes.

    shipped
  5. Crypto billing — NOWPayments

    USDT (TRC20/ERC20/BEP20), BTC, ETH. Webhook-driven, so your plan upgrades the moment the network confirms. Roughly one minute on TRC20.

    shipped
  6. v0.1 — public

    Static and dynamic QR codes, the studio with six body shapes and gradients, logo upload, anonymous downloads. The launch felt anti-climactic and that was probably the right shape.

    shipped
  7. Brand + name

    After a week of stalling, picked the name (qr-cow) and the colour (orange). The mascot was meant to be a placeholder. Six weeks later it's still there.

    writing
  8. The first dynamic redirect

    Wrote a 40-line FastAPI endpoint so my friend's café could change its menu without reprinting. That endpoint is still in the codebase, mostly unchanged.

    shipped

Found a bug, want a feature, or just want to argue with the FAQ? [email protected] — replies usually within a day.