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
Chinese code to make the printer work... how can one possibly understand this?
Chinese code to make the printer work... how can one possibly understand this?
Interface concept sketches, exploring different options to leave a message and buying multiple cups of coffee
Interface concept sketches, exploring different options to leave a message and buying multiple cups of coffee
Six biases influencing the purchase decision process (Think with Google)
Six biases influencing the purchase decision process (Think with Google)
Translating the design sketch (left) into a prototype (right) on iPad
Translating the design sketch (left) into a prototype (right) on iPad
Designing the coffee cup using Picta Graphic for iPad
Designing the coffee cup using Picta Graphic for iPad
Handheld Android Terminal - OEM hardware straight from China
Handheld Android Terminal - OEM hardware straight from China
Transfer of preference from original choice to fictional brand, per shopping category (Rennie Et Al., 2020)
Transfer of preference from original choice to fictional brand, per shopping category (Rennie Et Al., 2020)
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)
From signup to product: automated onboarding of Lemmid Store is enabled by leveraging the Lemmid platform's capabilities
From signup to product: automated onboarding of Lemmid Store is enabled by leveraging the Lemmid platform's capabilities
Separating the main backend server from the external systems by introducing a purpose built 'connector server'
Separating the main backend server from the external systems by introducing a purpose built 'connector server'
If your platform design is good - adding new and exciting pieces to it should be child's play (and thus, a lot of fun!!)
If your platform design is good - adding new and exciting pieces to it should be child's play (and thus, a lot of fun!!)
The Lemmid platform is the foundation for the products that I build on top of it
The Lemmid platform is the foundation for the products that I build on top of it
One user interacting with one server
One user interacting with one server
People use the app to order food - orders are forwarded to kitchen and delivery staff
People use the app to order food - orders are forwarded to kitchen and delivery staff
Ordering food online
Ordering food online
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)
The Messy Middle model (Rennie Et Al., 2020)
The Messy Middle model (Rennie Et Al., 2020)
Java code to drive the printer
Java code to drive the printer

More Lemmid Store on Willem's Blog

All blog posts

Articles (153)