If you're willing to throw it up on github, I'd love to see the code that you're running. I'd understand if you want to avoid that if you're planning on commercializing it, though.
I'm an embedded developer, so this has been my first experience in HTML/CSS/JS/Websockets. Here's a general overview:
The Python server periodically reads the thermocouple chip over SPI and sends a JSON object over the websocket with temperature and time data.
The javascript websocket handler is a switch statement to parse the incoming JSON, which is data updates, log info, and graph data.
Each button on the webpage has a jQuery callback that sends a JSON command over the websocket.
The Python websocket handler has a class for each command, which is set point control, hysteresis control, fan on/off/auto, start log, finish log, delete log, fetch log info, fetch graph data. Incoming JSON is deserialized into a command object, and command.parse() processes the command through polymorphism.
The application is working well. What's holding me back is the general logistics of joe consumer connecting to the device. The system can act as a wifi access point, or it can join a network. The access point will be easier for a user to connect to, and I can run mDNS to give it an address like smoker.local, but it seems cumbersome to have to change your wifi every time you want to open the app. On the other hand, if it's on a network, there's no easy way to discover it without going into your router settings. Then you're going to 192.168.1.149. Building native Android and iOS apps would solve that, but I'd really like to keep it as a webapp.
This is an awesome project! Don't let this network issue hold you back. What do you think about joining the network and displaying the IP in a dirt cheap LED screen? You can even use this screen to add additional value, like for example alarms, status, etc.
The first time joe consumer will need to write 192.168.1.149, but then his browser will autocomplete the address.