healthcalcpro
BMI CalculatorCalorie CalculatorBody Fat CalculatorMacro CalculatorWeight Loss CalculatorIdeal Weight CalculatorHeart Rate CalculatorSleep CalculatorBlood Pressure CalculatorWater Intake CalculatorPregnancy Calculator
Health DashboardHealth Age QuizPopularHealth ReportHealth GuidesFAQ
AI Workout
AI Store
Support Us
healthcalcpro.com

Peer-reviewed lifestyle calculators

100% FreeNo RegistrationPeer-Reviewed Formulas100% Private

Calculators

BMICalorieBody FatMacroWeight LossIdeal Weight

More

Heart RateSleepWater IntakeHealth Age QuizDashboardHealth GuidesWellness InspirationMethodologyEditorial PolicyCase StudiesAffiliate ProgramRecommended Tools
PrivacyTermsDisclaimerAffiliate DisclosureAboutContactAdvertise

Calculators

  • BMI Calculator
  • Calorie Calculator
  • Body Fat Calculator
  • Macro Calculator
  • Weight Loss Calculator
  • Ideal Weight Calculator
  • Heart Rate Calculator
  • Sleep Calculator
  • Blood Pressure Calculator
  • Water Intake Calculator
  • Pregnancy Calculator

Tools

  • Health Age Quiz
  • Health Dashboard
  • Health Report
  • AI Workout Builder
  • AI Store
  • All Calculators

Resources

  • Health Guides
  • Wellness Inspiration
  • FAQ
  • About Us
  • Methodology
  • Editorial Policy
  • Case Studies
  • Contact
  • Support Us
  • Advertise
  • Affiliate Program
  • Recommended Tools

Legal

  • Privacy Policy
  • Terms of Service
  • Medical Disclaimer
  • Affiliate Disclosure
  • Changelog

Ready to start?

Discover your health age in minutes.

Take the Health Age Quiz
Our Network →
  • Hepsi Hesapla
  • Unit Convert Now
  • Text Word Count
  • Toolgenx
  • Pix n PDF
  • Wheelie Names
  • Modern Web SEO
  • A1 Organizasyon
  • Luna Intim
  • Sauna Kabin
  • Trio Lezzet
  • Işıklı Tabela
  • Tabela TR
  • Yılbaşı Işık Süsleme
  • İsmail Günaydın

© 2025–2026 HealthCalcPro · Global HQ: USA

Not a substitute for professional medical advice, diagnosis, or treatment.

Crafted with ♥ by İsmail Günaydın

Case Study

WheelieNames

Cryptographically fair random name picker for classrooms, giveaways, and decisions.

wheelienames.com ↗
WheelieNames — screenshot
Home / Case Studies / WheelieNames
Tech stack
Frontend
Next.js, Tailwind CSS, Canvas API for wheel animation
Hosting
Vercel
Randomness
Web Crypto API (crypto.getRandomValues) — not Math.random()
Fairness
Modulo bias rejection sampling
Monetization
Display advertising

The brief

WheelieNames was built for a specific user: the classroom teacher who needs to call on students randomly without appearing to play favorites. The problem with most "random" spinners is that they use Math.random() — a pseudorandom number generator that is not cryptographically secure and can, in principle, be predicted or manipulated.

The audience extends to any situation requiring verifiable fairness: online giveaways, team assignments, decision-making tools. The site's core claim — "cryptographically fair" — needed to be technically accurate, not marketing language.

The approach

Applied via the same methodology used across all 16 portfolio sites. Read full methodology →

The technical differentiation is the randomness source: the Web Crypto API's crypto.getRandomValues() function, which uses the operating system's entropy source. This is the same API used for cryptographic key generation — overkill for picking a student's name, but the overkill is the point. It makes the fairness claim verifiable.

Modulo bias rejection sampling was implemented to ensure each name has exactly equal probability of selection, regardless of list size. A naive implementation using modulo arithmetic introduces a small bias when the list size does not divide evenly into the random number range — this was corrected.

The build

The wheel animation uses the Canvas API — a deliberate choice over CSS animations or SVG, because Canvas allows frame-accurate control of the deceleration curve. The wheel spins, slows, and stops at the cryptographically-selected position rather than animating to a predetermined result.

The 50K+ teacher user base was built primarily through word-of-mouth in teacher communities (Reddit, Facebook groups, Pinterest). The site was designed to be linkable and shareable — a single URL that teachers could bookmark and return to without creating an account.

Lists are stored in browser localStorage — they persist across sessions without a server ever seeing the names. This is documented on the site's privacy page.

The fairness documentation page — explaining the Web Crypto API and modulo bias rejection — became an SEO asset: it ranked for "how does random wheel work" and "is random name picker fair" queries.

Screenshots

WheelieNames — screenshot 1
WheelieNames — screenshot 2
Results
  • ✓50K+ teachers estimated in user base based on community mentions.
  • ⏳TODO: real organic traffic metrics pending analytics confirmation.
  • ✓Cryptographic fairness implementation verified via Web Crypto API.

What I'd do differently

Technical depth in documentation converts to SEO. The fairness explanation page, which was written for transparency rather than rankings, became the site's second-largest traffic driver because it answered a question no other name picker addressed.

The classroom teacher is a highly loyal user if the tool is reliable and fast. Reliability on slow school-district networks (older devices, restricted browsers) was more important than visual polish.

HealthCalcPro is a lifestyle tool platform, not a medical authority. See our full medical disclaimer.

Want this approach for your site?

Book a $499 audit at ModernWebSEO and apply the same methodology used across all 16 portfolio sites.

Book audit at ModernWebSEO ↗← Back to case studies