I wanted two things from this project: get it up and running as quickly as possible and learn Go. That's why I programmed an MVP in Python while I finished the backend in Go. I figured that if I waited for the Go code to be finished I may have never shipped it.
I'm still going to use Python for the raspberry Pi, since I don't know any serial port libraries for Golang (well, a quick google search shows me an option: https://code.google.com/p/goserial/) and anyways that part is already working fine.
But if I find the time then yeah, I'd totally rewrite it entirely in Go. But there's many things I'd do before that:
- Live streaming with a Pi NoIR camera (WebRTC + a paid CDN I guess).
- Visualization and data analysis. I'm thinking github-style punchcard for the running activity, and when you click a day you can analyse the minute-by-minute laps.
- Correlation with other sensors. I have temperature, humidity, and ambient light sensors, which could be use to correlate the activity or even predict it.
I wanted two things from this project: get it up and running as quickly as possible and learn Go. That's why I programmed an MVP in Python while I finished the backend in Go. I figured that if I waited for the Go code to be finished I may have never shipped it.
I'm still going to use Python for the raspberry Pi, since I don't know any serial port libraries for Golang (well, a quick google search shows me an option: https://code.google.com/p/goserial/) and anyways that part is already working fine.
But if I find the time then yeah, I'd totally rewrite it entirely in Go. But there's many things I'd do before that:
- Live streaming with a Pi NoIR camera (WebRTC + a paid CDN I guess).
- Visualization and data analysis. I'm thinking github-style punchcard for the running activity, and when you click a day you can analyse the minute-by-minute laps.
- Correlation with other sensors. I have temperature, humidity, and ambient light sensors, which could be use to correlate the activity or even predict it.
- Public API.