Life & fun · September 18, 2024
Bite Ballot – Vote on where to eat
This is a web app for quickly settling on where to eat as a group. (Feel free to critique the landing page.) Unique features compared to other polling apps: - No sign-up step. - Enhanced Approval Voting: veto/ok/prefer. You may vote for multiple restaurant options. - Real-time ballot updates so new candidates can be seen and voted on immediately. - Ties are always broken randomly. - Implemented with HTMx + hyperscript + jinja, enabling SSR and HATEOAS. If you want to test the functionality by yourself, you can start a ballot, then copy the join link and open it in a different…
What it does
In the maker’s words, at launch
This is a web app for quickly settling on where to eat as a group. (Feel free to critique the landing page.) Unique features compared to other polling apps: - No sign-up step. - Enhanced Approval Voting: veto/ok/prefer. You may vote for multiple restaurant options. - Real-time ballot updates so new candidates can be seen and voted on immediately. - Ties are always broken randomly. - Implemented with HTMx + hyperscript + jinja, enabling SSR and HATEOAS. If you want to test the functionality by yourself, you can start a ballot, then copy the join link and open it in a different browser (or device). Each browser will be recognized as a separate user. But give it a try in an actual group if you're able to. I find it nice and satisfying to use. You can just trust that the ballot result has picked the best place to eat for your group. Let me know if you feel the same way. Aside from designing and implementing a new voting system, the other part I'm most proud of is the join-ballot flow. The intersection of possible states creates a plethora of cases that need to be handled differently: - The joiner may not have a user (name) -> ask for name. - The joiner may already be in an active ballot -> confirm abandoning the current ballot to join the new one. - The joiner may be in a completed ballot -> let them join without confirmation. - The joiner may be trying to join the ballot they're already in -> tell them, and let them return to their ballot. - The joiner may have clicked their own join link as a way to get back to the ballot -> warn them to check if it has opened in a different browser. - The ballot they're trying to join may be completely abandoned or already finished -> tell them, then let them create a new ballot or return to their current ballot if they have one. Just handling all these different cases was hard enough, but I think I was able to simplify the code down enough to keep it maintainable. If I can get enough users and monetize this, maybe I can afford to add more features like maps, yelp stars, or menus by paying for Google Maps and/or Yelp Fusion API access. In the meantime, the next big feature would be persistent user accounts/logins so that a single user can sign in on different browsers/devices and have their restaurants and restaurant info (like links to Yelp pages) saved and synced -- while still supporting the original minimal sign-up flow (just name). But let me know if you can think of other good features to add.
Does the same job
all alternatives →More life & fun this month
the category →- TL
Life & fun · 10d ago · louisabraham.github.io

Photosynthesis fires two of your iPhone
Life & fun · 28d ago · photosynthesis.camera
SoloUno▲310Take control of hair pulling, nail biting & skin picking
Life & fun · 28d ago · solouno.io

Scroll through all 43,252,003,274,489,856,000 reachable Rubik's Cube permutations.
Life & fun · 26d ago · everycube.alen.is


Hi HN, I built Eigendrum, a web tool that solves the 2D wave equation for arbitrary shapes so you can hear what they sound like as drums. How it works: * Solves -∇²u = λu using finite element analysis (Kφ = λMφ) on a triangle mesh. * Validated to <0.1% error against closed-form solutions for circles (Bessel zeros) and rectangles. * Sound model factors in strike location, Rayleigh damping, and mallet width. * Includes Kac drums I & II to demonstrate identical sound spectra from different geometries. * No frameworks, build steps, or dependencies. Repo and tests:…
Life & fun · 27d ago · baselashraf81.github.io
Launched alongside, September 2024
the whole month →

BeforeSunset AI 2.0▲1,267Personalized AI daily planning that suits your life
AI · 2024 · beforesunset.ai


