The UI for this project was heavily inspired by Mamiche's visual identity.
Since Mamiche wanted to have full control over their delivery service in order to maintain their level of dedication to clients, I designed and implemented an order processing solution based on the Spree platform (on top of a Rails 6 app). I don't like reinventing the wheel but here customizability was crucial and turnkey solutions like Shopify would eventually become unpractical. Apart from the integration with Stripe which was a bit buggy at first, Spree turned out to be a great choice.
Besides providing a very specific customer experience, the main challenge for Mamiche was making the app work with different production facilities and very precise time slots for baking and delivering their products (since bread and pastry are sold fresh, their inventory cannot be managed like normal goods).
I solved this problem by implementing a few daily scripts that reset the quantities of each product in their inventory based on values that can be defined in the admin pannel. I also added a couple of views to help their their bicycle couriers organize their routes and provide real-time information on the status of the delivery.
On top of styling and finetuning every step of the online customer experience, I also had to deal with some internal tooling requirements. Here, the main challenges where to make the app print out packaging slips on their thermal printers (it was tedious I'll admit it, but it can be done with the prawn gem), a mailing feature to send order receipts via Postmark as attachments, and a sales dashboard to help their accounting team. Oh, and I also had to build a Spree extension to let the team manage their closing days.
Overall it was an entertaining project with some interesting challenges that had good results : their delivery provider operates at maximum capacity almost everyday and Mamiche Delivery was even mentioned in a couple of press articles.