willem.com

Lemmid Store on Willem's Blog

Building a product platform

Designing for reusability, flexibility and extensibility

Jan. 31, 2021
Leverage platform capabilities to quickly launch new products, designing for reusability, flexibility and extensibility.

This month I am leveraging platform capabilities to launch a new product. Over the years I have developed the "Lemmid" platform, a set of building blocks that allow me to swiftly develop new products. Designing a platform takes some extra considerations, but if you follow some simple rules you can do it yourself!

Working with special hardware from China

On developing software without a manual

Dec. 31, 2020
This month I reversed engineered my way into developing software for a Chinese Android device with an embedded printer!

This month I received a shipment from China containing some special hardware, Android devices with embedded printers! To make life easier for the restaurant and business owners that use my food ordering app, I want these devices to automatically print new orders. If only I can get these machines to work with my software... challenge accepted!

Designing a multi dimensional capacity queue

Managing kitchen-, delivery- and pickup capacity

Dec. 2, 2020
Dealing with a capacity queue is challenging, but if you take the time to model it right it is possible to create a performant and reliable system.

This month I needed to create additional dimensions to a capacity queue mechanism. The food ordering app that I created needed to be able to restrict capacity based on the number of orders, the contents in individual orders and the dispatch type (takeaway/delivery). Read along to find out how I used a Lambda Architecture to do this.

Influencing purchase behaviour

Applying behavioural sciences principles to the purchase decision process

July 31, 2020
For my work I am continuously looking into scientific sources to improve e-commerce performance, conversion rates and online revenue. Use this useful report to apply behavioural sciences principles to your advantage.

This week I stumbled upon a brilliant report on how people make their purchase decision. For my work on the online food order app I am continuously looking into scientific sources to improve performance, conversion and online revenue. This report by Google discusses six biases influencing decision making. It's worth reading their full report, let me explain why.

Linking Lemmid Store with kitchens

Integrating with external systems that you don't control

June 12, 2020
Designing backend servers to connect with external services is challenging as you need to take into account unreliability and unpredictability.

As part of the food ordering app I am building, I needed to design a reliable way to link the app to external systems. These external systems are beyond my direct control and include different checkout registers, kitchen management systems and ticket printers. Read along for more on designing for the unknown and unreliable.

Scalable application design without magic

Leveraging client computing power for high performance with many users

May 11, 2020
I needed to design a scalable backend infrastructure that could handle lots of concurrent users. I did this by leveraging the client's computing power having it handle most of the user interaction workload.

As part of the online food ordering app I'm building, I needed to design a scalable backend infrastructure that could handle lots of concurrent users. Scalability is considered a hard problem to tackle. Often it's presented like it's something magical, done by million dollar companies using secret tools. But, there is no such thing as magic, or is there?

Designing an interface for a food ordering page

Striking a balance between powerful options and mobile usability

May 1, 2020
Designing a food ordering page is surprisingly challenging because of the many variables that need to be accommodated on a very small screen.

Online ordering pages are more important than ever before. The COVID-19 virus, the resulting lockdowns and the social distancing rules have emphasised the need for a well-designed webshop user interface. This is surprisingly hard to get right!

Designing and implementing a (micro) payment system

Monetising my blog with coffee, Apple Pay and Mollie

Mar. 25, 2020
Designing and implementing a micro payment system with an emphasis on simplicity. Read about how I did it in this post.

Online payments are now more important than ever as businesses are disrupted by the COVID-19 virus. It drives my customers to seek new ways to make money online. I designed and implemented a (micro)payment system. This post is about achieving simplicity by solving complex challenges.

All blog posts
Translating the design sketch (left) into a prototype (right) on iPad
Translating the design sketch (left) into a prototype (right) on iPad
It runs Android - with some Chinese sauce on it (figuratively speaking...)
It runs Android - with some Chinese sauce on it (figuratively speaking...)
Java code to drive the printer
Java code to drive the printer
Calling Mollie from NodeJS using promise based JavaScript
Calling Mollie from NodeJS using promise based JavaScript
Leveraging a user's device: the user's phone does most of the work originally done by the server
Leveraging a user's device: the user's phone does most of the work originally done by the server
An event stream of orders is the heart of the mechanism, queries are fulfilled by looking at this stream: how many pizza's will be ready at 18:00hrs?
An event stream of orders is the heart of the mechanism, queries are fulfilled by looking at this stream: how many pizza's will be ready at 18:00hrs?
Snake '97 on the Lemmid Printer - ha!
Snake '97 on the Lemmid Printer - ha!
Printed ticket - through an external connection - including detailed order data like product modifiers (customer's choices per product)
Printed ticket - through an external connection - including detailed order data like product modifiers (customer's choices per product)
Mollie is a payment provider that supports many different payment methods, including credit cards, PayPal, iDEAL, Sofort, Giropay, SEPA, various bank apps and Apple Pay
Mollie is a payment provider that supports many different payment methods, including credit cards, PayPal, iDEAL, Sofort, Giropay, SEPA, various bank apps and Apple Pay
New combinations can create novel products
New combinations can create novel products
Designing the coffee cup using Picta Graphic for iPad
Designing the coffee cup using Picta Graphic for iPad
A Duplo brick is can be so much more than just a brick
A Duplo brick is can be so much more than just a brick
Sketching a two step interaction: differentiating between list and detail modes
Sketching a two step interaction: differentiating between list and detail modes
Sketching in context: try framing your design in a smaller viewport
Sketching in context: try framing your design in a smaller viewport
One user interacting with one server
One user interacting with one server
Smartphones (and tablets, PC's) have become more powerful over the years (image: Apple)
Smartphones (and tablets, PC's) have become more powerful over the years (image: Apple)
Handheld Android Terminal - OEM hardware straight from China
Handheld Android Terminal - OEM hardware straight from China
A funky new and exciting idea
A funky new and exciting idea

More Lemmid Store on Willem's Blog

All blog posts

Articles (147)