Thumbnail

Snippy (URL Shortener)

Personal full-stack shortener — auth, custom slugs, geo/device targeting, password links, OG metadata, QR codes, and click analytics.

Next.jsReactTypeScriptTailwind CSSShadcn UIPrismaMongoDBbetter-authTanstack QueryZodDocker

Personal side project (Snippy): shorten links with optional expiry, password gate, country/OS redirects, social preview metadata, QR codes, and an owner analytics dashboard.

Highlights

  • better-auth email/password + Prisma/MongoDB; session-gated dashboard
  • Geo + device targeting (geoip-lite, ua-parser-js) with geo-first fallback to default URL
  • bcrypt-protected and expiring links; per-key Open Graph/Twitter metadata
  • Click model (IP, UA, country, device, referrer) + dashboard aggregates and 7-day chart
  • nanoid custom slugs, infinite-scroll link list (TanStack Query), Docker deploy path

Honest scope

Landing-page stats are mock marketing copy — not real usage. Settings / forgot-password incomplete. Prefer demo of targeting + analytics over scale claims.