← Back

Show Of Hands

showofhands.xyz

Show Of Hands is a mobile-first polling tool built for the moments Google Forms is too heavy for — classrooms, meetings, events, group chats. The free tier is designed so a poll can be created and shared in under thirty seconds. A low-cost pro tier adds live result feeds and richer analytics for organisers running repeated sessions.

🛠️ The Tech Stack (Developer Perspective)

As a software engineer, my primary goal was to build a system optimized for developer velocity, minimal operational overhead, and premium user interaction.

  • Frontend & Design: Built with Next.js 16 (React 19) and TypeScript. For the UI, I moved away from generic corporate SaaS styles to adopt a high-contrast, developer-indie "Aurora" theme (styled with Tailwind CSS v4 and Shadcn UI). It features clean glassmorphism (backdrop-blur), subtle glowing indicator states, and a monospaced aesthetic using 'JetBrains Mono' paired with Vercel's 'Geist'.
  • Database & Auth: A PostgreSQL database managed using Drizzle ORM for type-safe database queries and migrations. Authentication is handled cleanly by Better-Auth.js, supporting frictionless email/password login alongside Google OAuth.
  • Real-time Updates: Implemented using Server-Sent Events (SSE) to stream vote updates in real time to the live results charts without the weight of full WebSockets.
  • Ecosystem & Billing: Stripe processes the subscription upgrades, while Resend and React Email generate minimal, transactional notification and digest emails.
  • Infrastructure & Deployment: Containerized with Docker and hosted on Hetzner Cloud via Coolify. This self-hosted setup bypasses the Vercel/PaaS tax, keeping hosting costs close to zero while remaining fully automated.

💼 The Weekend Business (Owner Perspective)

Operating Show Of Hands as a solo developer taught me the value of aggressive scope control, frictionless conversion loops, and community-aligned pricing.

  • The £3/Month Pricing: The Pro tier is deliberately priced at £3/month (framed as the "cost of one coffee") to keep it accessible for teachers and casual organizers, while fully covering running costs and honoring the time of an independent developer.
  • Viral Growth Loop: The tool acts as its own growth engine. When a creator shares a poll, every single voter experiences the ultra-fast, zero-signup interface. This frictionless flow converts high-intent voters into new poll creators organically, without an ad budget.
  • Aesthetic as a Moat: In a sea of basic polling forms, high visual polish is a differentiator. The inclusion of interactive live demos directly on the landing page, fluid micro-animations (like custom hover state scaling), and optimistic UI updates build instant product trust.