My original idea when I first learned about Amazon's Dash Replenishment Service was to build a digital version of the classic daily pill box that could also reorder your medicine for you. Since Amazon does not yet provide prescription filling services, I decided to focus on another daily dose: vitamins!
Vitaminder integrates with DRS using Login with Amazon to authenticate the user's account. The user may the select a product for replenishment, then continue to the vitamin management page to track intake. When supplies have dwindled to one week's worth remaining, Vitaminder uses the Replenish endpoint of the DRS API to place an order for the selected product!
Vitaminder running on a Raspberry Pi 3 with Touch Display
Replenishment email generated during demo
Most of my time was spent experimenting with and building understanding of the LwA and DRS services - the extensive configuration required proved tricky at times, and I spent a lot of time chasing down incorrect settings until I had a solid handle on the functionality. Once I reached that point, I was able to quickly and easily implement my idea. I chose ASP.NET because of the required server-side POSTs, making the static client-side-only site I originally prototyped with unusable.
Results and Conclusions
I am very pleased with how easy it was to implement reordering once the sizeable hurdle of developing LwA and DRS expertise was cleared. I'm looking forward to fleshing my project out further once the contest is over and using it myself on a daily basis!
Next Steps/Future Enhancements
Due to time constraints, the current project is a very rough PoC, lacking security, token refreshing, persistence of intake data, etc. I plan on fleshing this out after the deadline, as time allows!