Skip to content
Changelog

Built in the open

Consistency compounds. Here's what's shipped on this site, version by version.

v3.2
Improved

A feed worth landing on, and streaks that count right

  • Logged-out visitors now land on three real posts instead of a wall — engage with any of them and a join modal picks up where the dead end used to be.
  • Every community surface scrolls forever, and profile pages finally show a post count that matches reality.
  • Fixed the streak: one flame instead of one per day, revisiting a solved puzzle no longer resets it, and archive boards stop implying a win extends it.
  • Games rework: sidebar nav, leaderboard tabs, archive grid and share card — with archive and membership solves counted and solve time measured on the server.
  • The app sidebar now follows the route, with Account pinned to the bottom.
v3.1
Shipped

Branded emails and an auth overhaul

  • Rebuilt every email the site sends — a 34-template catalog wired to real events, from welcome and confirm-email through birthday greetings and games digests.
  • Overhauled login, register and password reset end to end: 14 fixes from the UX audit.
  • The nav CTA now greets you by name once you're signed in.
  • Torch mode got a game — extinguish and relight the diya, with a mobile fallback and reduced-motion support.
v3.0
Added

Two months of puzzles to play on day one

  • Each game now numbers its puzzles from its own launch day — Alfazy from 1 May, Integra from 1 June, Hit and Blow from 1 July — so the archive opens with months of puzzles to play instead of an empty room.
  • Alfazy serves a themed word on observance days — 96 of them, keyed to the date, recurring every year.
  • Rebuilt the games rail: compact how-to-play, screenshot-style game switcher, hub icons and support-grade win confetti.
v2.9
Improved

A three-column shell

  • Centred the whole app on a 3-column geometry — sidebar, 600px main, optional right rail — so reading width stays honest on any monitor.
  • Every section gets its own rail: per-game help and stats, LinkedIn-style suggestions on members.
  • Redesigned the games archive and leaderboard — stat tiles, filter and search, medal podium, best-streak board.
v2.8
Added

Posts you can take with you

  • Any community post downloads as a 1080x1350 share card, built to match the feed it came from.
  • Long URLs in posts now shorten to shubhamdatarkar.com/s/{code}.
  • Image avatars for members and supporters — 12 icons, picked deterministically so yours never changes.
  • Loading skeletons, optimistic replies and a global nav progress bar, so nothing feels dead while it works.
v2.7
Improved

One framework behind three games

  • Alfazy, Hit and Blow and Integra now run on one shared stage, header, tile and keyboard — each with its own accent colour.
  • New games hub with per-game cards, streaks and stat tiles.
  • Unified game chrome: help, stats and settings behave the same everywhere, plus a first-visit welcome and an end card for logged-out players.
  • The community feed auto-posts from five sources — publishes, milestones, new supporters — with no cron anywhere.
v2.6
Fixed

Security audit, closed out

  • Ran a full red-team audit and remediated every finding: admin gate fails closed, RLS tightened on profiles and contacts, durable rate limiting, SSRF and payment-interval holes shut.
  • Collapsed three separate logins into one entry point, and fixed the redirect dead-end that stranded you after sign-in.
  • One app shell now spans members, community, games and account.
  • Admin can read and reply to email over IMAP without leaving the dashboard.
v2.5
Shipped

The community feed, and a third game

  • /community went live — an X-style feed with Reddit-style ranking, polls, threaded replies and moderation.
  • Integra: a daily maths equation puzzle, Nerdle-style.
  • One verified account is now one identity — contact, newsletter, donations, games and membership all link by email.
  • Split the front door: a buyer homepage on the AEO wedge, with the personal site moved to /me.
v2.4
Added

Torch mode

  • An extra-dark theme lit by a diya that follows your cursor.
  • Memberships can now be gifted, with a congratulations email to the recipient.
  • Retired the photo gallery — it crashed on publish in production and wasn't worth the fix.
v2.3
Added

Capabilities, not tiers

  • Access is now decided by named capabilities rather than hardcoded plan checks, so what a plan unlocks is editable from admin.
  • The puzzle archive is gated on view_archive — today and yesterday stay free for everyone.
  • Relabelled Premium to Member, with an honest Free vs Member comparison.
v2.2
Shipped

The members platform

  • /members went live: resource catalog with gated detail pages, bookmarks, reading progress, downloads and requests.
  • Razorpay subscriptions end to end — checkout, webhook, upgrade flow and account management.
  • A full admin CMS behind it: resources, taxonomy, announcements and member management.
  • Tool registry with a UTM builder and usage analytics.
v2.1
Added

Leaderboards, and an admin that looks the part

  • Games got leaderboards with game and period tabs, plus player profiles with stats and renameable usernames.
  • Redesigned the entire admin across seven passes — shell, dashboard, and every list page onto a real data table.
  • SEO audit dashboard with an auto-updating sitemap.
  • Alfazy now validates guesses against a real dictionary, with words managed from admin.
v2.0
Shipped

Alfazy and Hit and Blow

  • Two daily puzzle games, live: Alfazy (words) and Hit and Blow (digits).
  • One deterministic daily engine behind both — same puzzle worldwide, IST reset, live countdown.
  • Server-side anti-cheat validates every guess; archive replays never pollute your stats.
  • Sign in to keep streaks, or play anonymously.
v1.6
Improved

Razorpay, and faster public pages

  • Replaced Zoho Payments with Razorpay across /support.
  • Public pages are static again (ISR) instead of force-dynamic, with on-demand revalidation when content changes.
  • Added /link — a Linktree-style page, managed from admin.
v1.5
Fixed

Icons in, analytics out

  • New favicons and PWA icons.
  • Added a Google Tag Manager container, then reverted it the same day — it wasn't earning its weight on the page.
v1.4
Improved

Findable by machines

  • Per-post OG images, plus Service, Product, Review and speaking schema.
  • GEO/AEO groundwork: RSS, llms-full.txt, IndexNow, ProfilePage and content freshness signals.
  • Real social profiles in sameAs, so the entity actually disambiguates.
  • Cleared every eslint error and warning.
v1.3
Added

Updates, and a way to reply to them

  • /support/updates became a real feed with reactions and threaded comments.
  • Commenters verify by email OTP — no account required, and supporter tier resolves from the email itself.
  • Successful payments auto-post a thank-you.
  • Smart links in article bodies, with an affiliate-domain allowlist managed from admin.
  • Brand orange now shows up on interaction only.
v1.2
Added

The plumbing

  • Branded email templates, welcome and unsubscribe flows.
  • Contact submissions persist, with SMTP notify and auto-reply.
  • Subscribers sync to Kit, and export as CSV.
  • The real logo landed, with light and dark variants.
v1.1
Improved

The site runs on its own database

  • Case studies, products, services, testimonials and the homepage all read from the database instead of hardcoded files.
  • Full block editors for the blog — 50 block types, grouped behind one add menu.
  • Read-only payments dashboard over supports.
v1.0
Shipped

The site goes up

  • Built the founder site on Next.js with a monochrome design system, dark by default.
  • Admin foundation: cookie-based auth, RLS gate, and a blog that runs end to end from the dashboard.
  • /support shipped with a live Supabase backend.