Updated the cost breakdown for the first time in months. It now has a live calculation of monthly costs.
Added support for 6 digit critter IDs.
2022-03-23
I've found that, during swipe mode, my thumbs are often obscuring the viewcount/"Newly discovered" message. I've moved it to the top to compensate.
Secondary stats such as trend and charm scores are now rendered on cards, but hidden. This is useful for debugging.
Added an absolute 0 to the views heatmap. Consequently, it now goes to eleven.
Improved heatmap calculation CPU usage at the cost of a little RAM.
Added a new my activity page that just shows things you voted on today. Now you can go on a swiping spree and still find your favorites afterwards to share with your friends.
2022-03-20
Swipe mode dramatically increased the overall number of daily votes retained in the system at any given time. This made trendiness calculation get pretty expensive in terms of CPU usage. I was able to further reduce round-trips between the app and redis to dramatically cut this.
Having generally ever-more images in the system was also making normal stat calculation costs creep up. The same fix to trendiness calculation saved the day here. CPU usage is down from around 70% back to around 10% during stat recalculation.
Counting every image in the S3 bucket was started to take a while. I realized the count of images only changes when uploading new ones. So why not have the upload process store a cached count in S3?
2022-03-19
Entire design overhaul to support swipe mode on the homepage without compromising any functionality for non-javascript users.
2022-03-17
Added an extremely experimental swipe mode that acts like a dating app.
2022-03-12
Converted minimaxir's Google Colab Notebook into a more normal Python script. Made some performance improvements. Containerized it with Docker. I can now generate images locally without Colab. It's actually faster. I don't want to burn up my GPU too much, but my cheapest alternative for GPU rental is AWS ECS + Spot Fleet and even that would cost around $158 a month. I don't see a better option than running on my computer.
2022-02-26
Tiny vote badges on leaderboards so that you can remember what you've done today!
Massively reduced round trips between the app and redis during stat calculation.
2022-02-25
Ansible playbooks! Spinning up this entire infrastructure from nothing only takes a few minutes now!
Now running on nginx and haproxy so the site's a little snappier. And now we have a load-balancer in the stack.
Reduced the filesystem dependency to just the code.
Many many steps closer to high-availability infrastructure if this site ever needs it.
Improved stat calculation performance. Split calculation of stats, leaderboards, and heatmaps into three distinct schedules with no overlap.