This document summarizes a presentation about developing software for a connected coffee machine. It discusses the challenges of developing 50,000 lines of code for a product that needs to be agile, connected across devices, secure, and work offline. The presentation covers prototyping approaches used from paper prototypes to a functional prototype that could brew coffee. It also discusses lessons learned around prioritizing hardware constraints early, allowing for complex offline user flows, automating testing, and the importance of co-locating software and hardware teams.