Show Of Hands
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.