One Million and One Checkboxes. Running on Elixir and Mithril.js
One Million and One Checkboxes. Running on Elixir and Mithril.js
Hello! As soon as I saw eieio's https://onemillioncheckboxes.com/ , I knew I wanted to try it out using Elixir. The original was created using Python and Redis (later Go and Redis) but this one is using just one Elixir server and HAProxy for SSL termination. It's also using S3 to show the overview page where all the checkboxes are drawn on a 1000x1000 canvas. The whole site is running on a 4 core 8 GB Hetzner VPS so I'm interested to see how it will hold up. This took an embarrassingly long amount of time to complete (the first commit was on July 23) but it was my first real attempt at coding anything significant in Elixir. Initially I tried using LiveView but there were performance issues just rendering 2000 checkboxes on screen. I was also unsuccessful in using the new Streams concept in LiveView which is supposed to help with these "more data than you can render" scenarios. In the end I used LiveView to render the header and have it update on a timer, and the checkboxes are rendered with Mithril.js. The checkbox info is passed via the LiveView websocket connection and any update to a checkbox is passed through that channel as well. I'm stepping away for the next half an hour to run an errand but I'll be back to answer any questions people might have! Please try to break my site and invite your friends to do the same
Share cardActual performance
Launch Intel predictions
Analyze your own launch →Incorrect prediction on native model
Similar products
One Million Sliders
One Million Emojis
One Billion Checkboxes: A Bigger Take on One Million Checkboxes
3 Million ESPN Brackets
See if your name is one in a million
libgit2.js - git running in your browser
What the fuck will make me a million dollars?
yougotta.click, a remake of One Million Checkboxes
Stellar.js
Tasskr remade with backbone.js