
Show HN: Popco.bot – a smart microwave popcorn timer - itsamy
https://popco.bot/
======
itsamy
It was built in a single day of running across the street between coding in a
coffee shop, and testing the product on the microwave in seven-eleven.

It is actually just a mobile-first (mobile-only?) single page web app.

Built using no JS framework, has no build stage, or server side code. Uses
Bootstrap for templating, and a lot of hacky vanilla JS code to quickly create
this MVP.

We use the Web Audio JS API to listen for pops using device's microphone. The
pop detection logic is as follows: if the current microphone sample volume is
10 times higher than the average of the last 6 samples of volume, it is a pop.

The logic on when to stop the microwave is as follows: first wait for 5 pops
with less than 1 second in between them. We call this the "peak popping
stage". Then we wait for either 3 pops with longer than 1.5 seconds in
between. or 3 seconds without a single pop. We fine tuned the parameters with
a lot of testing.

Hope this helps people avoid burnt or unpopped popcorn, and enjoy perfect
microwaved popcorn every time.

