Winder Research

Machine Learning & Cloud-Native Software development. Delivering intelligent, resilient applications from the heart of Yorkshire.


With years worth of experience designing intelligent, resilient applications, our team builds solutions that are both smart and powerful.

Machine Learning

For the business or product, intelligence delivers a competitive advantage.


Applications should be contained, automated and resilient. Because reliability, performance and technical debt all impact the user experience.


Delivering solutions from cloud based services reduces costs and improves both resiliency and scalability.


About us

Winder Research is a company founded by Dr. Philip Winder. He has developed a reputation for achievement through hard work and experience.

Winder Research is a professional unit dedicated to providing services within our capabilities. We are able to provide services in a number of formats including short-term consulting or longer-term expertise. The company is based in North Yorkshire, UK.

From our blog

How to use Javascript Promises to lazily update data

By RichardWinder on April 7, 2017

Last week I was working on a simple implementation updating a shopping cart for a site, the frontend was written in html/javascript. The brief - when the quantity of an item in the cart was modified the client could press an update cart button which would update the cart database, after which it was necessary to recalculate the total values of the order and refresh the page with the new totals.

Continue reading

What is the Cloud?

By PhilWinder on March 23, 2017

The terms “Cloud” or “Cloud Services” have become so laden with buzz that they would be happy to compete with Apollo 11 or Toy Story. But the hype often hides the most important aspects that you need to know. Like how it works, or what you can do with it. This is the first of several introductory pieces that focus on the very basics of modern applications.

Continue reading

Surprise at CPU Hogging in Golang

By PhilWinder on January 3, 2017

In one of my applications, for various reasons, we now have a batch like process and a HTTP based REST application running inside the same binary. Today I came up against an issue where HTTP latencies were around 10 seconds when the batch process was running.

After some debugging, the reason for this is that although the two are running in separate Go routines, the batch process is not allowing the scheduler to schedule the HTTP request until the batch process has finished.

Continue reading

Gocoverage - Simplifying Go Code Coverage

By PhilWinder on October 11, 2016

Go introduced vendoring into version 1.5 of the language. The vendor folder is used as a dependency cache for a project. Because of the unique way Go handles dependencies, the cache is full code from an entire repository; worts and all. Go will search the vendor folder for its dependencies before it searches the global GOPATH. Tools have emerged to corral the vendor folder and one of my favourites is glide.

Continue reading