Resigning from Labour

Honestly I’m not sure what took me so long or why this particular event triggered me to actually sit down and send this email.

I have been disillusioned with the Labour party for a couple of years now and have been meaning to resign my membership since early 2022. There was a Google docs tab permanently open on my browser continuing my resignation letter but every time I came close to sending it, it needed to be modified to add yet more citations for terrible things that had just happened.

I joined the party in 2016 having been drawn in by the vision and energy it demonstrated back then. Far from being perfect by any stretch, I felt pride in being a part of a coalition of diverse people willing to strive to make it, and the country, better.

I got heavily involved in campaigning locally, I spent time creating materials using my design background. I spent miserable rain-soaked nights on the streets door-knocking, not because I believed we had the solution to all the countries problems, but because I believed there was a desire to at least try and that I owed at least my own time and energy.

Since then, and the press onslaught that followed it and led to the two notable election defeats in 2017 and 2019, I was disappointed to see that same energy dissipate, groups of society that might not have otherwise engaged, fade away from it. I was naturally disappointed, doubly so with the election of Keir Starmer and the apparent shift back to the centre-right, but remained a member out of that same sense of duty.

Since then, Labour have backtracked on every single one of their watered down policies citing the same myths about austerity-based politics as the Conservatives and subtly hinting that avoiding bombardment from the British press as a factor. More worryingly however, they have increasingly shifted their rhetoric to the right, engaging in Torry-created culture wars and draping themselves in the aesthetics of “patriotism” including the litany of dog-whistles that term brings.

On many topics they attempt to outflank the conservatives to the right, for example calling for outright draconian measures to be taken against climate protesters and refugees. They gleefully engage in the notion of ‘the lesser of two evils’, a false dichotomy anyone familiar with the politics of the USA will be more than familiar with.

Most of all though, there is not just a lack of any vision of what change might look like, the greatest damage is done by their apparent belief that change cannot happen at all. There is no vision of what a prosperous and healthy version of the UK in, say, 30 years should be from either party. There’s no conception of how to build a sustainable economy, for example investing in devolved powers, providing secure and high-quality housing, investing in public transport, and a social safety net to allow people to take risks. The widest open-goal you could hope for is staring the party in the face and the best they can offer is apparently tax cuts for the rich and ASBOS’s 2.0.

As the political situation in the UK devolved in a race to the bottom between competing messages that nothing can or will change for the better, said through the grimace of faux-reluctance and a side-eye to the british press, it is perhaps understandably tempting to believe that Labour and Keir Starmer are simply playing the long game, just saying what needs to be said to avoid scrutiny until the day they can burst forth and implement the actually effective policies they secretly believe in.

However as more time progresses, the disconnect between the desperate need for change to the status quo (and the appetite for such from the populace) and Labour continually outflanking the Conservatives to the right becomes harder to ignore. It becomes harder every day to trick yourself into believing that this is all some game of 4D chess.

If you are familiar with the current thrust of UK politics (my condolences) then you will have noticed that a raging moral panic over LGBTQ+ people (specifically trans people, more specifically trans women) is at the epicentre of the UK’s only current major export; right wing misinformation and culture war.

Beyond increasing anti-LGBTQ+ sentiment and triggering a wave of blatant anti-trans policies from companies and organisations, it seems that at last the Conservative party is ramping up to make trans people a key campaign wedge in the next election. Rather than counter this obvious hysteria with a calm yet firm commitment to human rights, Labour have decided to try and utilise transphobia to their own gain, ostensibly believing that this will help them win swing voters.

Amongst the most disturbing items of news to come to light last year was Keir Starmer has been fraternising with known anti-trans hate groups such as The Women’s Declaration, his comments that transgender children should be ‘outed’ to their parents by schools, and his support of the government using unprecedented legislation to overrule the scottish government as they voted through a minor administrative reform that would allow trans people to obtain a Gender Recognition Certificate more easily.

The UK is currently on a very dangerous path politically. There is a reluctance to go near using the ‘F’ word, Fascism, despite the fact that today’s every-day rhetoric would make a BNP member in the 2000’s blush.

In playing to this rhetoric, and to the press that upholds it and punishes deviation, Starmer and Labour are not slyly navigating mixed demands of diverse groups, or as some like to claim, avoiding being ideologically pure. They are playing into the hands of the far right, and the Conservative party who appear to be willing to go to any lengths to avoid the conclusion that the UK is heading towards being a failed state.

I do not propose to know the solution or know who you should personally go and vote for, but I can no longer willingly engage in the politics of self-destructive faux-regretful cynicism.

Read my resignation letter here, I will gradually ad some external reading links to a citation at the bottom of the page for the instances mentioned above:

To whom it may concern,

Take this as notice that I am terminating my Labour membership and cancelling my direct debit with immediate effect.

I have been a Labour member since 2016 and since that time have campaigned with you, spent rain drenched days on doorsteps doing outreach, not because I agreed with all of Labour’s policies but because I believed its principles and values were honest and honourable.

When the party elected Keir Starmer I was admittedly disappointed but still confident that the broader party was in alignment with basic principles of human rights, workers rights, equality and democracy.

Labour are actively engaged in campaigning in favour of rolling back human rights and pandering to the right wing. Your instance in appealing to a mythical voter, one who aligns with Conservative principles but wishes for a “more sensible”, “more competent” or even “nicer” application of those ideas is not only the execution of a fantasy, but has lead the party to promise authoritarian measures that go beyond the cruellest of Tory party actions.

Your stated policies regarding climate, transport, social services, and the economy at large are inadequate at best, actively harmful at worst. Until recently I was able to rationalise continuing to support the party by believing that this was simply what needed to be said to avoid the ire of the press and did not reflect what Labour would actually do in power.

Your calls for draconian measures against climate protesters and protesters in general are abhorrent and incoherent given the urgency of the climate emergency. Your consistent disregard for GTR people fails some of the most persecuted people in the UK. 

In particular, your continual pandering to transphobes, your platforming and promotion of transphobic ideas and conspiracy theories, and your refusal to take action on well known transphobic members such as Rosie Duffield is exemplary of a deep rooted problem within the party.

Transphobia is currently being wielded as a wedge-issue by the right wing in order to push back on LGBTQ+ rights, women’s rights, and bodily autonomy in general in order to push their movement forward. Your party not only fails to acknowledge this but actively courts it while chasing the mythical “middle UK voter”.

The event which first gave me serious concern was your involvement with the group “Labour Women’s Declaration”.

This group, who’s gala Keir Starmer gave a speech at, are a hate group dedicated to advancing a transphobic agenda in the image of protecting women’s rights. Most notably, they are known for their creation of the “Women’s Declaration”, an agenda that demands policy that would all but eliminate trangender people from public existence, decimating LGBTQ+ rights and enshrine a strict conservative biological-essentialist definition of sex characteristics in law.

This is nothing short of fraternising with a proto-fascist group and demonstrates that Labour poses an active risk to bodily autonomy, LGBTQ+ rights, and women’s rights.

The Scottish Gender Recognition reform bill is the most scrutinised piece of legislation in the Scottish Parliament’s history. 2/3rds of MSP voted in favour across all political parties (including Scottish Labour) and two public consultations demonstrated clear public support. The bill is a relatively minor administrative change to allow trans people to marry and die with dignity.

The Conservatives attempt to block this democratic mandate with section 35 legislation is not only a vile attack on trans people but on the concept of devolution itself.

Not only did the Parliamentary Labour party not so much as oppose this move but Keir Starmer publicly supported the decision and has stated that he would not reverse it if elected. A shift from the already unsettling stance of promising not to roll back harmful policy decisions, this constitutes an absolutely abhorrent abdication of duty, in service of a far-right culture war, and is wholly indefensible.

As a result of these factors, while previously undecided on the question of Scottish independence I will now vote in favour. It is clear that Scotland’s supposed democracy is hollow and that sufficient devolution necessary for Scotland to thrive is not, and will not be possible under the current settlement or made possible by any future government.

The final straw for me was seeing yesterday’s appalling Times piece by Keir Starmer. Riddled with transphobic dog-whistles and lies, this article and interview completely throws trans people and the LGBTQ+ community under the bus in favour for culture-war points. Its various assertions fly directly in the face of the equalities act and pitches womens’ rights and trans rights as being in conflict, a highly dangerous myth to perpetuate.

I cannot continue to support a party which so gleefully aligns itself with the far right, that seemingly stands for nothing and refuses to perform the most basic task of challenging the dominant political party.

In future elections I will actively campaign against Labour.

Please remove my name from the register of members and cancel my payment schedule. 

Please confirm receipt of this message.


Robyn F H Veitch

Membership registered name: XXX

Membership Number: XXX

Constituency: XXX

Creating the Conditions for Active Travel: A Case Study from the Ayr Road

East Renfrewshire Spaces For People (15 July 2021) Available at:,f_auto,q_auto:eco,w_1024/v1626178722/projects/erspacesforpeople/a3b0d96e-7ce5-42a5-b84b-6c41abb867da.png

Have a look at this image of a road near my parent’s house. Pretty ordinary, eh?

In many ways it is. This is the Ayr road, and is a microcosm of the transport and urban design situation in the UK. And I’d like to talk about what insights we can pull from this rather plane road.

This is an arterial road near where I grew up and where my family live in East Renfrewshire, a suburban area about 7 miles out from Glasgow, the largest city in Scotland and the third largest UK city outside of London.

There is currently a consultation to remove the protective bollards on the bike lane which were put in after the Covid-19 pandemic started.

I’d like to air my thoughts and make a case in favour of active travel but I also want to use this as a chance to talk more broadly about active travel.

Who is this post for?

This post is split in two; the first section is the core of the issue and the bit that’s most important while the second, longer section involves a deep dive into the subjects touched on.

There are three types of people I’d like to focus this post on:

  1. People who drive frequently. Specifically people who don’t really give much thought to bike lanes, active travel and all that stuff. Maybe you get annoyed by cyclists, maybe you have your own local change to parking or street layout that bugs you, maybe you have to commute in traffic every day or maybe none of that is true. For you, I hope to appeal to you without being condescending or patronising, to give you an insight into what people like me are pushing for and to offer a different perspective on roads and driving.
  2. Local People. Anyone local to the area who are eligible to take part in the consultation or similar consultations near you.
  3. Interested in Active Travel. People who are already interested in active travel and public transport advocacy, to give you more vocabulary to discuss instances like this and ways to discuss the topic with other.

The Road: A Dramatic and Riveting History

This is the Ayr Road, it was built as a dual carriageway arterial road for Newton Mearns. Later, a modecome of sensibility prevailed and it was reduced from a mini highway to a single lane each way at 40mph (65kph). At some point painted bicycle gutters were added on each side and a reservation island was built in the centre with painted margins on either side.

In 2020, using COVID-19 funding, the road installed some semi-protected bike lanes and reduced speed from 40mph (65kph) to 30mph (50kph). The protection for the bike lanes came in the form of “flexy bollards”; thin plastic bollards spaced apart which have a small hump at the base where they are screwed onto the road. On impact with a vehicle they fold over and sometimes deform or break away, causing at most aesthetic damage to the vehicle.

Flexy bollards are not ideal as they don’t really physically protect people from vehicles but in this case the justification was that they were faster and cheaper to install than permanent bollards or other barrier.

Flex-posts are not a long term solution as they do not offer sufficient protection and deteriorate over time so are often reasonably cited as a scourge of urban design, but they are a quick and cheap way to create a rudimentary physical separation of lanes in a short space of time and I think should not always bee seen as an inherently bad thing. As we’ll look at in later sections, flex-posts are still better than nothing and can literally be installed overnight so are an easier political sell.

The Consultation

East Renfrewshire council has recently proposed ripping out the bollards on the Ayr road and adjoining Fenwick road, and returning it to its previous state; an unprotected bike lane and 40mph (65kph) car traffic.

This is cited as being due to the fact that flex-posts, are not durable and not suitable as a long term solution, and that the COVID relief funds which were used to install them are no longer available for renewal. Rather than upgrade the road to full grade-separation (at reduced long-term maintenance cost it should be added), they would rather just remove it.

East Renfrewshire put out a public consultation asking for opinions on the current plans to remove the bollards and re-increase the speed, presenting a form with pre-made questions and calling for comments.

The posts have now been removed and the road put back to its old dangerous form, with the 5th May local elections coming up some conservative councillors are claiming it was a great victory and reason to be re-elected.

I initially wanted to make this post as a quick call-to-action but while planning it out I changed direction. I believe the decision is not only wrong and short-sighted, but its indicative of a wider problem in UK transport planning about how things like this (and active travel generally) are framed.

However, as I began to lay out my response and expand on some of the points, I found more and more to write about, more examples to use, and more comparisons to draw. The Ayr road is not only a typical example of how poorly Active Travel is implemented but also the barriers to changing the way we think about Active Travel, transport, and urban land use in the UK.

I want to lay out this dynamic as I see it and provide counter examples to demonstrate what change is needed and how that change might realistically come about.

Why is it important to speak up about little things like this?

With situations like this it is really easy to downplay the relative impact of a consultation or a single road project. What difference will it really make? Will the councillors really listen to me, or anyone? What can really come out of a single consultation of a single feature of some road? I don’t even use that road, what does it matter?

So here’s the thing, I’m not here to convince you that the best way to change the world is to engage with consultation forms on a local council websites. This is not a discussion on the merits of engaging with representative democracy.

What I will say is that, regardless of what representation you have; 1) People need to know what you think to know what matters, 2) People in power are still people, you should not make assumptions about what they know and what they don’t know, you cannot guarantee that a concept is something they’re already familiar with.

I think it is important to speak up on topics like this to make clear your ideas of how you want your local environment to be to which ever governmental structures exist, if for no other reason than to override the knee-jerk reactionary comments you expect.

It is important to let your representatives know what you want and expect, even if they’re already onboard they’ll likely base their actions on what they believe there is political consent for.

Lastly, I’ve recently had it demonstrated to me that sharing knowledge on topics like this, even if a lot of it seems obvious or redundant, is worth doing. A story from someone I know rammed this home for me; this person, as much a layperson as I am, had their material used in a course for real traffic engineers. While this might be taken as an indictment of the engineering institution in their country, I think it goes to highlight that as professionals we’re all too often taught to do the job that exists, and not think too much about criticising it. Its good to continually share what you know, even if you think its obvious or that you’re not an authority.

My Response

This consultation asks participants to choose between some multiple choice options and offers the chance to write a response. The following paragraphs are what I submitted, then the rest of the post serves as an explainer delving into the concepts mentioned in my response.

Admittedly my response was quite glib and could have been longer but I deliberately wanted to keep it short and readable for others looking at the comments.

Physical separation of cycle lanes is crucial to increasing safety for all road users and encouraging active travel.

Ideally a grade separated path or curb separation should be used but even a ‘soft’ barrier such as the ‘flexy’ posts currently installed create a visual barrier which encourage drivers to leave sufficient space and not to unconsciously meander into the cycle lane.

In addition, a clear demarcation of cycle and road lanes communicates that cycling (and other light vehicles) are prioritised and seen as a valid mode of travel, it prevents things like pavement parking and blocking of the cycle lane.

Active travel has great benefits including reducing congestion and pollution, reducing road wear, and personal benefits for the individual’s well-being. It also makes it easier for people who cannot drive to get around such as young people, people on mobility scooters, and equipment like velo-mobiles.

As countless examples from European countries show, the only way to induce demand for active travel and the benefits it brings are to provide safe and convenient ways. (add “to do so”, add “to meet Scottish government guild lines)

In an ideal word, the national government would follow the examples of nations like the Netherlands, who saw a relatively recent ‘revolution’ in active travel by redesigning their road building guides to include active travel provisions; every time a road needed resurfacing, active travel lanes would be simply built in at a much lower cost than adaptation (of already existing roads).

While this is outwith the scope of the two roads under consultation here, you already have a “Dutch design” (in the road design as stands); the cycle lanes are comfortably wide, there are relatively wide pavements and plenty of space for cars, and lastly there are single direction paths on both sides of the road (this is far preferable to a single two-way path).

I would implore East Renfrewshire not to undo this achievement and to go further to celebrate it and to push for more upgrades like it.

The more provision there is for active travel, the more appealing and accessible it (the option of active travel) becomes to the wider public, which is what is needed to support gradual modal shift.

To remove the barriers (or fail to eventually upgrade them to a curb) relegate cycling to the domain of people (brave enough to do it) doing it for sport; the relatively fit, usually male, road-bikers.

One thing I’d really like to pull out of this is that, this bike lane is pretty mediocre all things considered.

However, compared to what exists in much of the UK it is in-fact light-years ahead. I’m perhaps a little overeager in my praise of ER council but I do want to highlight that they actually have a pretty good thing going here.

They should not only not rip out the bollards, they should be holding the Ayr road up on a pedestal, saying to other local areas “Hey! look what we can do! Aren’t we forward thinking?”.

The lanes are a decent width, they cover a relatively large area, and connect areas of retail, businesses and residential areas alike, creating a large corridor of transport between urban centres. There are also individual lanes for each direction of travel instead of a bi-directional track.

Bi-directional paths are common in Glasgow where both traffic directions on the same lane. This can work in low traffic areas or in specific scenarios but generally speaking is bad; it reduces space for cyclists, makes overtaking more difficult, and generally goes against how we think of traffic movement. For instance if I want to catch a bus travelling east on an east-west road I expect to go to the north side of the road, having to cross the road to the wrong way just feels odd.

The Ayr / Fenwick road is a fairly big arterial road linking Malletsheugh, Newton Mearns and Mearnskirk with the Avenue shopping centre two high schools, north bound it becomes the Kilmarnock Road and then the Pollokshaws Road strait into the city centre. Prior to the opening of the M77 it was the main road route into the city for a wide area.

A key point

Something I want to point out regarding the consultation and the road is that no space has been taken from the car lanes, the bollards have in fact been placed on the inside of the bike lane.

In the description for the consultation there is a specific reference to parking provision, perhaps a tacit acknowledgement that before the bollards were put in place, parking in the cycle lane was so prevalent it was often unusable.

Parking in the lane still happens, given that drivers can simply enter in the gaps put in for driveways and junctions, but became far less prevalent when the bollards went in. Its now common to see the service and maintenance vehicles that have permission to park, do so on the pavement with deliberate care to leave both the pavement and bike lane clear.

Naturally there will be people responding to the consultation because they want to be able to park on the lane with impunity again, but for the sake of being as good faith as possible I’ll continue this post assuming that this position is a small minority.

Flexi Posts & Road Safety

Painted “bicycle gutters” have a range of problems, roads often deteriorate towards the edges; waste, drain covers and temporary signage are all pushed to edge increasing the risk of being pushed into the kerb and falling.

However, one of the biggest problems with relying on paint is that we as drivers have a tenancy to centre our vehicles in the roadway. Its instinctive; if you are in the middle of the ‘path’ you are treading the most secure and straight route, we do it even while walking on dirt trails. While piloting a 2-tonne metal box at speed, the centre of the lane is intrinsically the safest point, equal distance from obstacles on both sides and spreading the margin for minor errors evenly.

Painted road markings are used as part of that margin of error; they give directions and demarcate boundaries without actually enforcing consequences for minor errors in the same way that a physical barrier would. The typical example are merge markers; they instruct you how and at what angle to merge with another stream of traffic, but if you’re a little bit off you don’t (yet) hit a wall.

Take the example of the reservation islands used on the Ayr Road. The physical island provides a safer* way for pedestrians to get across, crossing one direction of traffic at a time, but also serves as minor physical protection should a car stray off towards the opposite lane should the driver pass out for example. The purpose of the painted margins is to enforce the actual safe distance for the road while providing a margin of error should the car understeer (turn at a larger radius than the road is at).

This might seem like a sensible design but in reality it is a requirement bourne of the fact the road’s design speed and legal speed are too high, the road is badly designed. “Designed speed” refers to the physical speed the road can hypothetically support physical, separate from the enforced legal speed limit.

*Pedestrian islands are another example of this same consequence; if the road layout were changed to be more safe and efficient, the islands would not be necessary.

Some painted lines will “enforce” their boundary more strongly than others; for instance the type which cause tyres to make a noise when run over at speed such as you’ll find on motorways, giving physical feedback to the driver. Others, such as dashed lines, specifically indicate areas where the barrier can be traversed.

In short, painted markings tell you where you are supposed to be but don’t actually keep you from going over.

As established, most people tend to centre themselves between the physical obstacles on either side of themselves while driving, typically the kerb on one side and the the other lane of traffic on the other side, both of which threaten consequences should we stray over. We align ourselves using the nearest physical barriers instinctively before looking at what the road paint has to say and maybe making a conscious correction.

The point of all this is to say that even good drivers who are more than happy to share the road and not to intimidate or assault cyclists will, on occasion, slip further over into the cycle lane than is safe. Providing any barrier, even one which doesn’t physically shield the cyclist, makes drivers take a more central position in their own lane and therefore makes both driving and cycling more safe.

More crucially however, they make the riders feel more safe, which is absolutely crucial to encouraging people to get out of their cars and jump on a bike.

In summary, flex-posts are not a long term solution, they don’t offer proper protection but they are cheep, fast, and economical. If you have a political structure that is reticent to spend money for fear of “waste”, flex-posts can be a way of getting partial protection in place which can be used to justify full protection later.

We should not ever have to choose between 900 meters of partial protection or 200 meters of full protection, we should fund good design as needed. However, too often this is the political choice we have to deal with, and a cheaper quicker option is very often an easier political sell, and an easier way to cover larger distances.

Creating Options for Travel to Accommodate Everyone

There’s a wee bit of a climate emergency on at the moment. Not sure if you’d noticed.

I’m not going to reiterate all of the detrimental effects of cars on the environment because this post would never end because I’m going to assume that its obvious to most that cars are detrimental to the environment.

I do however want to pick up on one thing; there is this idea amongst a large number of people that electric cars are the solution to the environmental effects of cars and solving local transport. According to this mindset, the problem with cars is the exhaust pipe only. Other emissions, infrastructure costs and manufacturing carbon costs are not fully accounted for, and street / urban design doesn’t factor in to most people’s thinking at all.

Electric cars solve only one of the myriad problems of cars; that being the exhaust fumes. Electric cars still produce brake-pad particulates, tire particulates (one of the largest sources of microplastics in the world comes from car tires), and particulate wear from the road surface which they damage as they ride. The amount of lithium mining and other manufacturing necessary to swap all ICE (internal combustion engine) cars for electric is plainly impossible. New electric cars don’t have any carbon benefits until they have completed years of use. And that’s assuming those miles are inevitable; they needed to be travelled in a car in the first place.

Now, despite all this, I am not anti-electric-car. If you have to take a car trip and there are two vehicles to choose from, one electric and one diesel, then the choice is obvious. Of course electric cars are better than ICE cars, if you need to make a car journey and have a choice between an ICE and electric then the choice is clear. However the idea that we can swap out all cars for electric and the world’s problems will be solved is just false. We still need to reduce the number of cars & car journeys.

There are also far more social and economic problems associated with car dependency that don’t go away once you’ve made a perfectly eco-friendly car. Many of us live in car dependant areas where many journeys are not accessible without a car, where the trips and amenities needed to live day to day are only paratactically accessed with a car because they have been spaced apart and there is no other convenient option. Our town centres and high streets are often clogged with traffic and parked cars making them unpleasant places to be. As I experienced going up, kids grow up in environments where they cannot travel far independently, needing to be ferried about in cars, and where even small residential streets are covered in cars.

We need to end car dependency and reduce the number of necessary car trips, not just to reduce emissions but to increase social mobility as well. The best way to do this is to give people choice about how to get around.

If you can go to the shops, the post office, the dry cleaners, the community centre, the school, the park etc. by walking or cycling safely and quickly, quality of life increases. When shopping you can make smaller trips with more frequency as opposed to the ‘big weekly shop’, and you don’t have to worry about getting half way home having forgotten something.

Of course, many people will still want to use a car even if other transport options are viable, this isn’t really about them. Every study on the subject of transport patterns shows that the vast majority of people don’t actually care what transport mode they use, they’ll use the fastest and / or most convenient (or if you like, least inconvenient) so long as it is safe.

As Jason Slaughter of the Not Just Bikes YouTube channel likes to say, there are very few “car people” or “train people”, most just want to get from A to B with as little hassle as possible. I write this as one of the few “train people”; given a choice of a 20 min bus journey and a 40 minute train I’ll choose the train because I like them more, but people like me (who would preference in the same way) are actually statistically quite rare.

The reason that people walk in walkable areas, take the tube in London, cycle in Amsterdam, and drive in Huston is because these are the most convenient modes respectively for each city. Often times “culture” is cited as the reason people choose particular modes, and while there is an element of getting people used to new ways of doing things, culture is still the result of behaviours, what people actually do, and is not set in stone changing with relatively little effort.

By giving people choice and by making the options safe and convenient, people will use it, even some don’t want to, and if that option is the most convenient then the numbers using it will only increase.

We owe it to ourselves and future generations to create provisions that enable active travel and make it a viable option, campaign after campaign “encouraging” people to “try active travel” will not succeed if these options are still not seen as safe or convenient.

The Rest of The Post

So that’s the end of “part 1”, the main post. What follows is a deep dive into specific design features and a comparison to other case studies.

The rest of the post is over 18,000 words long, if that does not appeal then you might want to stop here.

If you’re up for a deep dive and have a fresh hot drink prepared, then lets continue on…

What we can learn from the Netherlands

I was recently introduced to the YouTube channel Not Just Bikes. Run by Jason Slaughter, it documents his family’s experience moving to the Netherlands, his observations about life there vs his home town of London Canada, and discusses various aspects of active travel and car dependency.

It is difficult to really define exactly what his channel is, but I like to think about it as a 101 on Dutch design, how the Netherlands built their “active travel utopia” through a push for safer streets, and how their towns looked like any other European city until the 70’s when grass-roots activism laid the groundwork for what exists today.

In the 1990’s in the Netherlands, the great cycling capital of the world, the best you could hope for was a painted bike lane. There were efforts from some politicians fighting to remove bike lanes from congested areas as late as the 90’s.

Just like almost every other country in post-war Europe, the Netherlands had its own plans for an auto-driven recovery, for massive highway projects to plunge through their city centres, and the same earnest attitude that “if everyone can drive, why would anybody do anything else?”. Just like the UK in this era, cycling was widespread, and just like the UK, its prevalence was seen as a problem yet to be solved.

There was an explicit political motivation to get rid of the bikes, cyclists were descried in such terms as “locusts”, an “infestation”, a remnant of the old, and that they needed to “get out of the way, and make way for the motorcar!”. Bikes were the primitive past, and motorcars were the bold modern future that needed to be unstuck.

Just like the UK, there were extensive protests against the massive road-building projects and a move for safer streets to protect children. The only real difference is that their movement was more successful than the ones in the UK. The oil crisis of the 70’s is often cited as the reason why; that the UK’s response was to upscale drilling in the North Sea while the Dutch felt the pressure more which aided the safe streets movement. However, it is difficult to really know what caused the outcomes to be so different.

Today it is possible to go most places on a bike in the Netherlands, travelling on safe, grade separated cycleways and dedicated routes. Bikes are seen as a legitimate mode of transport and almost always outnumber cars.

Almost all roads and streets have protected bike paths, with the remnants of the 90s painted bike lanes being steadily upgraded. Many of their city streets are completely car free, their traffic lights dynamically react to bikes, trams and cars to turn green on approach and prioritise certain modes of travel.

Modal filters are used to create ‘desired routes’ for different modes of travel; cars take the long route round in many cases and avoid urban centres, while other modes can go straight through. Trams travel different routes to the Metros making sure to cross them frequently while buses are routed to avoid conflicting with trams. The Dutch have a word for this that roughly relates to “the untangling”; the principle is that if you try to maximise throughput for every transport mode in every area nothing will move, it will all conflict.

If your a frequent driver you’re probably thinking “that sounds hellish, imagine all the traffic”. Yet the opposite is true.

Because there are safe accessible routes and a range of travel options, the only people who drive are those who need to or want to. If you love your car and love driving everywhere, you still can! But most likely you wont want to. If you need to bring a car or van into an area that de-prioritises cars you still can, just don’t expect to go as fast as the main car routes. As Jason puts it in one of his videos:

“I think, I’ve started to appreciate, one of the really the really toxic things that comes out of car dependent places is that everyone is forced to drive, and they think that this is providing them with this comfort and convenience but driving sucks in car dependant places. There is so much traffic, there’s people cutting you off, there’s people that obviously don’t want to be there, they’re board, they’re looking at their phone…”

“…I mean when you take everybody and force them to do something whether they want to or not, it sucks. And you get all of the road rage and you get the terrible driving and this is where it comes from, but you have to do it, to even feed yourself, to go to a job, literally anything you have to go through this highly undesirable experience.”

Jason Slaughter (2021) Not Just Bikes with Jason Slaughter. 30 November. Available at: (Accessed: 21/04/2021).

On being a driver in the Netherlands he says:

“One of the things that surprised me about the Netherlands is its awesome to drive here like, I cannot explain how great it is to drive a car in the Netherlands. I actually drive a lot, there’s various time when I need to drive… there’s so little traffic, the traffic lights work so well, the big thing that makes it so great to drive here is that, the only people who are driving, are those people who want to drive or those people that need to drive and that’s it.”

Jason Slaughter (2021) Not Just Bikes with Jason Slaughter. 30 November. Available at: (Accessed: 21/04/2021).

Bikes as Transport

Very often, those of us invested in public transport and sustainable transport talk about cycling and active travel as a ‘side-effect’. We focus on the trains, the trams and the trolley buses. We talk about the hierarchy of inter-city travel to suburban routes, metro systems and buses, and then make offhand reference to “yeah and I guess there would be more active travel and bikes n’ stuff, something to do with the 15 minute city” without any specific idea of what this will look like.

This attitude focuses on the commute and fails to describe what local urban design should look like beyond “train good car bad”. It unwittingly downplays the local, day to day, and littler journeys that make up a great deal of our lives, and we forget about the benefits of existing in a space and enabling community growth.

We assume that reducing congestion, eliminating car journeys, and having spaces for people to live in just sort of happens once you have enough trains and trams.

The Netherlands presents a more defined vision of how localities can be transformed. In the late 20th century, there was an activist movement which was only really focused on the goal of making streets safer, the cycling was an unanticipated result that came along with pursuing this goal.

They had their own road building projects, their own plans to plough highways through their major cities in the name of “modernisation”, their own vision of a suburban, car driven future. The safe streets movement faced fierce resistance and won its victories later rather than earlier. Everything we now associate with the Netherlands, particularly the cycling culture, was an unexpected side effect of a movement focused around making streets safer.

The Dutch design codes used to guide construction and renovation of streets was redesigned largely based on the Crow Manual. Any given street needs to be repaved and rebuilt every 15-30 years depending on the road due to wear and tear, by incorporating active travel designs into the guidelines for doing so means the infrastructure comes at little cost.

Retrofitting a road to have a dedicated bike path has a cost associated which can often put authorities off the idea of proposed single projects to do so. By changing the design codes to have bike paths, accessible pavements (side walks), and traffic calming measures built in, you get them almost for free. The features are simply a part of the road’s specification, if you’re going to have to replace the kerb anyway, it costs next to nothing to simply move it over a bit.

Of course cost is not an excuse for not retrofitting an existing road even if you must do it on a project by project basis. However by simply incorporating the feature into the design guidelines, you build consistency and widespread connectivity faster than a case-by-case basis. You build up the expertise in the organisations and labour forces that are going to do it anyway, rather than brining in costly consultants to do one ‘project’ and then leave.

Its worth pointing out that this does not just apply to dense, inner city and urban areas, these designs permeate out to suburban and rural areas as well. Your typical single-family, detached, suburban housing still exists in the Netherlands if you want it. The difference is that in the Netherlands your kids can travel to the park themselves safely, they can cycle themselves to school without fear they’ll get mowed down by an SUV, they can (parental permission willing) visit shops, takeaway restaurants, go to the cinema, and take part in extra-curricular activities, all without being tied to their parent’s car and schedule. They need not wait until they are old enough to get a driver’s licence to have lives of their own.

Up until the late 20th century, much of the Netherlands looked remarkably similar to the UK. A quick internet search will bring up numerous ‘before and after’ pictures of car-clogged streets with architectural styles similar to many high-streets in the UK, transformed into spaces which not only accommodate everyone but are cleaner, nicer places to be.

The image bellow is from an article on and shows the street of Maasstraat as it looked in 1977 and 2014. This is actually a outdated design given that there are only painted bike lanes and not protected bike paths.

Maasstraat 1977 (©Amsterdam Archives) & 2014 (©Thomas Schlijper) Accessed from

Doesn’t this look rather… ordinary? Mundane? Easy?

Sometimes we, as sustainable transport advocates, fall into the trap of defeatism while discussing the ongoing urban design trends of the past 50 years or so. It is admittedly difficult to look at the endless new developments of environmentally damaging, car dependant sprawl built with giant car parks, next to enormous motorways, and not feel a bit daunted. Compounding this is the fact this type of development seems to be the only major house-building happening in most of the country.

When you begin to see through the inefficiencies in existing street design, and when you become familiar with better designed spaces, you begin to see how even the worst of car dependent suburban sprawl can be drastically improved without even initially taking space way from cars (although you should totally do that too). After all, Amsterdam wasn’t built in a day.

One of the things that stands out about Not Just Bikes is the mundaneness of the things Jason talks about. Part of this is deliberate, Jason talks several times about the fact he makes his videos specifically un-cinematic to avoid a sense of drama and to point out how ordinary these “revolutionary” features can be. He also talks about how a proportion of his audience is Dutch and watches his content because they are interested to find things they take for granted are not normal elsewhere. They get to see their lives and their ‘normal’ from an external perspective, and learn that it hasn’t always been this way.

Visions of the Future from the Past

The concept of almost everyone owning a car and driving everywhere is an experiment.

It is an idea from a post-war world searching for a path to recovery, borne of a need for fresh thinking and new ideas, and cemented in the 60’s and 70’s.

It is difficult at time to imagine that the attitudes and political zeitgeists of a time so close as the 1970’s was so different to ours, after all most of us would consider those decades to be roughly the beginning of the modern eara, post WW2.

Another commentator whom I have great respect for, railway Permanent Way (track design) engineer and writer Gareth Dennis points out, when we consider things like the Ringway projects of London or Dr Beaching of the infamous report The Reshaping of British Railways we must remember that attitudes and understandings about the car were fundamentally different.

Robert Vigars laying out plans for three “Ringways” which would have reshaped London in ways we cannot imagine.
Michael Dnes. London’s lost ringways (2022) Available at: (Accessed 11/06/2022)

Dr Beaching, for example, is blamed for the majority of massive railway cuts that took place in the 1960’s, and is often portrayed as a car-obsessed, railway-hating fanatic, slashing at the network with gleeful abandon. In reality he was just a man, commissioned to produce a report on the current state of the railways, which was then acted upon by superiors that did not have sufficient foresight to see that what they were doing was wrong. They were not innocent, but they were also not ideologically driven, moustache twirling villains (those would come later).

People in that area found themselves looking at graphs showing rail in terminal decline (to rebound unexpectedly in the 70’s), massively rising car ownership and improving bus ridership, and made decisions based on the attitudes of the time. For instance, there was a strong belief that people would switch between modes with frequency, driving to stations and parkways to ride trains into metro areas, that buses would replace small infrequent trains as they were more versatile.

We now have information to know better, it seems obvious that such lines of thinking were flawed, and yet in this time they had no precedent to draw on, they had to come up with a new image of the future. This is not to make excuses for the mistakes of the past but to recontextualise the thinking that gave us our current status quo.

There was a time when developing suburbs where everyone could have their own detached home with a little garden and drive everywhere was not only a practical response to housing shortages, but was also sold as the height of aspiration. When you look at much of the imagery from that eara, their vision of the future was Jetsons-esq, with everyone flying along in their own individual little pods between large towers. The motorway wasn’t a necessary evil, it was new and exciting! The future was little pods, liberating everyone with their convenience.

I now invite you to think of the last time you were stuck in traffic on a motorway. Feel liberated?
Old image from an advert above by America’s Electric Light and Power Companies from the mid-1950s. Available at:

The issue was that the world they built served little pods, and only little pods. Public transport waned, the suburbs sprawled out, previously favoured urban centres entered decline in favour of spread-out box stores and shopping centres. Every street was converted to modern standards to try desperately to speed up the motorcar which just kept getting stuck in traffic, while more and more public space was given over to them to try and alleviate congestion; for much of the population car dependency was born.

Car dependency (not cars in general) is just another idea of a future, one that we tried, and one that hasn’t panned out.

We can keep our cars, you can personally keep driving everywhere if you like! But its time our streets were designed a bit more sensibly to accommodate all users, and to not force people to drive who can’t or just don’t want to.

It is time that we re-thought the function of streets and roads, realising that the “street” is a destination first and a thoroughfare second, while “roads” are high speed corridors between spaces. It is time that we stopped perusing the smooth flow of just one type of vehicle at the expense of all others. It is time we evaluated whether we all really do just love our cars that much, or if in fact what we actually love is the freedom they afford us. It is time we ponder if and how that freedom could be achieved in other ways.

And most of all it is time we stopped pandering to prevailing myths about car dependency, traffic, and congestion.

Making a commitment to accommodating active travel involves a need to look beyond short-termism, old conceptions of congestion relief, and the convenience of being able to park in an unprotected bike lane whenever you like. It will take time to develop a critical mass of adequate infrastructure and encourage modal shift, it is not a quick fix but an ongoing and active effort to value personal mobility beyond the car.

Even well designed streets are the result of a process of continual review and redesign which is ongoing. By the time the UK looks anything like the Netherlands does today, the Netherlands will surely look vastly different. This is not about swapping out one fixation with another, it is about adopting an attitude of enlightened design.

Urban fabrics have never been static and are always engaged in a cycle of re-use and repurposing depending on the demands of the day. The urban fabric we’re used to in the UK is not the way it has always been and is certainly not immutable, it is time to re-examine how we allocate space and ask what values we would like to embed with this era.

Some Important Points to Keep in Mind

Intended Speed vs The Design Speed

There’s an old concept in road design that wider lane width and lack of obstacles is directly tied to increased safety; that it gives drivers a greater margin of error for minor mistakes and reduces the chance of a head on collision.

This idea is based in sound logic; you need some margin of error to be able to make small mistakes without crashing, the punishment for a slight twitch on the wheel should not be injury or death. However, after a certain point increasing this margin of error the effect on safety begins to move in the opposite direction.

Separating oncoming lanes does reduce the chance of collisions if the vehicles are already travelling at high speeds, you’d certainly never build a motorway without physical barriers between traffic directions. However at lower speeds it encourages drivers to drive faster because they feel safer going faster.

The same goes for other obstacles; if the road is grade separated and designed for high speeds then yes, having a line of trees at the side could be disastrous, but for anything at lower speeds you are likely to simply make drivers feel safer and driver faster. The more clearance and error margin you give drivers the more comfortable they will be driving at higher and higher speeds, at a certain point this begins to eat any safety gains you got by clearing the route in the first place.

The speed at which an average of motorists would potentially feel safe driving at is referred to as the design speed of the road. There’s no specific formula to determine the design speed but there are various ways designers estimate it.

One way you can think about design speed is to imagine a world in which speed limits didn’t exist, in which we were all urged to use personal responsibility to judge the risks for ourselves much like the UK government’s current Covid-19 policy. In such a world, what speed would people drive at on a particular stretch of road? What feels safe? What could you get away with if it was quiet? How do you estimate others would act? This is the design speed.

Modern traffic engineering should in principle consider the design speed of the road as well as the intended speed, and should add or remove obstacles based on this. One of the most prevalent mistakes in UK road design was, and still is, to take actions which increase the design speed of the road in the name of safety and assume the posted speed limit will be enough to enforce safe speeds.

“Many of my engineering colleagues will reply that they do not control the speed at which people drive – that travel speed is ultimately an enforcement issue. Such an assertion should be professional malpractice. It selectively denies both what engineers know and how they act on that knowledge.

For example professional engineers understand how to design for high speeds. When building a high speed roadway, the engineer will design wider lanes, more sweeping curves, wider recovery areas, and broader clear zones than they will on lower speed roadways. There is a clear design objective – high speed – and a professional understanding of how to achieve it safely.

There is rarely the acknowledgment of the opposite capability however; that slow traffic speeds can be obtained by narrowing lanes, creating tighter curves, and reducing or eliminating clear zones. High speeds are a design issue, but low speeds are an enforcement issue. That is incoherent, but it is consistent with an underlying set of values that prefer higher speeds.”

Charles L. Marohn Jr (2021) Confessions of a Recovering Engineer: Transportation for a Strong Town. Hoboken, New Jersey: John Wiley & Sons, Inc. pg 6

An example of the detriments of a high design speed is the Barrhead Road, a typical main road with a posted speed of 30mph (48kph). It features a range of features which increase its deign speed above this, all of which have been or will be discussed in this post, namely the use of pedestrian barriers to compensate for pavements that are too small, large turn outs for turning lanes, wide clear zones, and lack of obstacles. All of which come together to increase the design speed to something way above 30mph.

In early 2021 a car travelling in excess of 100mph (160kph) sped westbound down the hill and almost made it around the corner before mounting the clear zone near Balgray Road, and launching itself into a house on the corner (number 1 Balgray Road). The car smashed through the bottom of the house destroying most of the ground floor. Luckily no one except the driver was injured, everyone inside was apparently upstairs sleeping at the time. The house was almost condemned but was able to be repaired and is now up for sale.

A road like this should be designed in accordance to this speed. It should never have been physically possible for someone to reach 100mph and turn their car into a torpedo. And yet, after such a dramatic incident, absolutely no action was taken to prevent something like this happening again.

In countries like the Netherlands, after every major crash or fatality occurs, a comprehensive design review is performed to ascertain why and how the crash happened. It is acknowledged that safety is influenced by the physical design of the road, and often redesigns are performed to prevent the specific incident happening again. This rarely happens in the UK, traffic crashes are attributed to the personal behaviour, and personal responsibility alone.

Its actually a pretty mediocre bike lane.

OK look, I know I’ve been signing the praises of this bike lane on the Ayr Road, and there are things ER council genuinely got right.

However, in may respects it only warrants such praise because the bar is so incredibly low to begin with. Rolling it back would be bad but that does not mean it is in any way perfect.

If I’ve got you to read this far, I assume the argument in favour of providing proper infrastructure for multiple modes of travel and good street design benefiting everyone has been illustrated, even if you find you still disagree on the points. By talking about problems this case study still has and by looking at more examples I can hopefully get you to build on this idea and begin to re-imagine how streets could be redesigned, how space could be optimised differently, with relatively little effort.

So lets talk a bit about what they got wrong.

Bike Lane width

If you use something like Google Map’s time travel tool you’ll see that the bike lane used to be smaller than it is now but even at its current width it’s not really big enough. In addition, the posts have been bolted on the inside of the painted line reducing its with further, perhaps because they can’t be secured on the paint itself.

The base of the bollards isn’t that big, maybe about 40cm across, but this can make a difference when the total lane width is only about 1 meter to begin with. In addition, the height of the bollards mean that you can’t swerve as close to them as you could with smaller ones given that the profile of a bike and rider is top-heavy.

Having wide bike lanes isn’t just about the ability to overtake, if the lanes are wider there is a dramatic improvement for safety for cyclists and boosts confidence because there is more space between you and the cars, all for the sake of about 50cm or so.

Central reservation and gutter

Almost the entire length of the Ayr road includes a central reservation created with a kerb area for physical separation, and a painted hatched area to enforce a recommended safe distance.

The presumed reasoning for this is that the physical kerb protects the minimum safe distance between lanes and will protect the driver should they accidentality veer over, while the hatched area represents the optimal safe distance plus a margin of error. In addition, the central refuge provides pedestrians with a “safer” way to get across, although I personally do not feel particularly at ease standing on a plinth between two lanes of 40mph / 65kph (or faster) traffic because the road is too wide to traverse all at once.

This design was implemented when the road was reduced from four lanes to two and presumably seemed the safest option given the speed limit remained at 40mph (65kph). However the result is a road with a design speed far in excess of 40mph. This can be evidenced by the fact that many people could be found travel along it quite happily at 50mph (80kph) and even now, few people stay at or bellow 30mph.

If this were to be redesigned properly, the two lanes should be pushed closer together, eliminating the hatched area entirely and perhaps removing the central reservation entirely. This is not about making the road ‘less safe’ for the intended limit, but about making it less safe to exceed said limit, there is no reason to be travelling at motorway speeds on a supposedly residential street.

Of course by eliminating or at least reducing unused space in the middle of the road you then have ample space to put in a proper bike path, better bus stops, and maybe even some parking.

In fact, Fenwick Road, which the Ayr Road turns into, demonstrates this. Despite having many of the same problems as Ayr, Fenwick road has a minimal central reservation and wider bike lanes.

I would argue that this is still very far from being safe but serves as a great demonstration of how much space the Ayr road is wasting and how much could be reclaimed without affecting throughput at all.

Bike lane crosses turning lanes

At intersections the bollards have been placed in such a way as to preserve as wide a turn out as possible. That means that the rider is exposed to potential turning vehicles for longer and have to contend with cars turning as faster speeds.

At the junction next to Whitecraigs station a left turn lane forms out of the parking lane, separated by a side road turn out. The bike lane continues straight ahead into the cycle box. This means that traffic turning left has to merge across the cycle lane.

Presumably the designers of this layout believed it was better to keep the bike lane moving straight, allowing cyclists to maintain their speed and not have to turn. Perhaps they patted themselves on the back for their ingenuity getting a turning lane ‘for free’.

Incredibly dangerous, turning lanes that cross bike lanes create a concentrated conflict point between cyclists and cars meaning both parties have to anticipate the other’s movements to prevent side-swiping. In addition, it makes cyclists pull up between two lines of cars which is uncomfortable and risky.

These types of merges are prevalent in the US and are the bane of bike infrastructure advocates, it would have been better to merge the bike lane left into the space left by the parking lane, and putting the turning lane on the right.

There’s a gap on Fenwick Road

This is less a criticism of the project itself, which as I understand was never going beyond the finish point on Fenwick road, but a criticism of a lack of joined up thinking more generally speaking between Glasgow authorities.

When the large bike lane on Fenwick Road reaches a junction with Church Road it stops and turns into a ‘sometimes bus lane sometimes parking lane’.

It stops completely later on and isn’t present through much of Giffnock, despite the area being a more residential and commercial area and containing a school.

This whole area is a bit of a mess. Even driving through it is uncomfortable and confusing. The road fluctuates between being a four lane road, to sometimes three, swapping sides frequently, sometimes it has parking and sometimes not, at some points there are as many as five turning lanes and parking.

Nothing says “heart of a UK town centre next to a train station” like a sea of asphalt and a five-lane stroad

Finally, at the Giffnock Police station, the bike lane reappears. In total this gap is only about 500 meters but the area is congested and messy enough that it doesn’t matter.

Having to navigate a number of large difficult junctions and areas lined with pedestrian fences is enough to definitely put you off before you reach the measly bike lane at the other side. This bike lane, despite offering little, carries on until it reaches the edge of Shawlands.

If this area, which involves a density of housing, shops, restaurants and a school, would be made safer and more pleasant, then it could create a path directly from the Shawlands area all the way to Newton Mearns. It feels like an oversight that for the sake of 500 meters this utility has been missed out on.

The junctions and roundabouts are still really bad.

The Eastwood Toll is a large two-lane roundabout connecting the Ary Road and the Fenwick Road. Measuring about 65 meters across, its four adjoining roads have curved entrances and exists and all connect with two lanes in either direction. If there was a specification for a “high speed roundabout” this would qualify.

Naturally, there is no cycling provision but to add insult to injury, the bike lane does not even formally end as it approaches the roundabout, the paint just kind of.. stops.

On one section of pavement approaching northbound there is a blue “shared path” sign, implying there is some idea that bikes should mount the pavement when the lane ends and use that to navigate round. However, aside from this sign there is nothing else to indicate this is what you are supposed to do, its possible the blue sign is just there for bikes exiting Eastwood Park.

Here is where the bike lane ends as it approaches from the south. Note the care homes on the left and the fact the lane shrinks to be too small to fit even the cycle stencil inside of the lines.

And here is how the bike lane ends on the southbound, about 200 meters travel distance from the roundabout. Is the intention that cyclists should turn into the pavement here?

If you do, you’ll head down a pavement and straight into people exiting a barber shop, you can then cross the four lanes of the Eastwoodmains Road, navigate through some winding streets, until you reach the top of this overgrown staircase in the second image, about 180 meters from where that bike lane actually starts.

If this is indeed the intention of the route planner then I would suggest it is a bad one.

Pedestrian Barriers are Not For Pedestrian Safety

Sometimes called ‘guard rails’ or just ‘fences’, pedestrian barriers are ubiquitous in the UK. Most people assume their purpose is to protect pedestrians from collisions in areas where they cannot easily be avoided.

What most people don’t realise is that these barriers crumple like wet paper on impact, they provide minimal impact resistance. An observably large number of stretches of these fences have dents or other minor damage which some might assume is from signifiant crashes, however most of these dents come from low velocity impacts or large vehicles simply backing up too far and not noticing they had even made contact.

Compare this design to the crash barriers used on motorways and other vulnerable areas; those barriers are much lower to the ground because a crashing vehicle is best stopped by controlling the centre of momentum closer to the wheelbase. They are continuos corrugated strips attached to the ground by poles on the opposite side of the impact area, this means that on impact kinetic energy from the vehicle is redirected horizontally and spread along the direction of travel, decreasing the chance of the vehicle overpowering the barrier.

This is a clever and cost effective design, and very different from the spinally, hollow tubes found on pedestrian fences, loosely connected to each other and the ground with often just a single bolt.

Barriers Direct. (2022) Off Road Safety Crash Barrier. Available at: (Accessed 26/03/2022)

The design and ergonomics minded among us will also note another subtle aspect of these fences; they’re not tall enough to fully protect pedestrians if, for instance, shrapnel from a crash comes over or a wide vehicle gets too close to the edge. However, they are tall enough that even a tall adult will struggle to climb over in a hurry. This is compounded by the vertical struts which stop you being able to get a purchase and are placed close enough together that you cant fit a foot between them.

The reason for these features is simple; the main function of pedestrian barriers are to prevent pedestrians from crossing at certain points where they would impede cars, straying too close to the edge in areas where the speed is too high, or leaving the pavement where it is too small.

This is useful in allot of places, for example when you have a path connect to a road on an incline, it stops any loose prams or people running from accidentality running straight onto the road. However in the majority of use-cases they are used on corners and high-streets where the pavements are too small and there is a ‘risk’ pedestrians will try to use the space allotted for cars. When you have squeezed as much road space as possible to try and make cars go faster and have none left for people, those people get penned into ‘their’ space.

These barriers are traffic control for people and compensate for bad design, there are very few instances where they are actually necessary because of some geographical feature or other.

Pedestrian barriers are not to protect you from cars. They are for protecting cars from you.

Image from a story in Grimsby where a van collided with a pedestrian barrier and crashed straight through. Note the buckling of connecting bars and how the vertical struts pop out.
Haggerty, G. (2018) Damaged Pedestrian Barrier after Van Crash. Available at: (Accessed: 24/03/2022)

Pedestrian Cages Reduce Travel Convenience for All

An extension of the idea that pedestrian barriers are for the benefit of drivers and not for pedestrians; very wide / fast roads, badly designed junctions, and other features designed to try and squeeze as much capacity and speed from cars as possible, bring with them a feature that I like to call Pedestrian Cages.

Sometimes called ‘staging areas’ or ‘refuges’, these are areas in the middle of the road that split a crossing in two with two stages. Often the two sets of lights and crossing points are separated to avoid people trying to go straight over. These are typically surrounded on all sides with pedestrian barriers and almost always require you to wait for quite some time while traffic whizzes by.

I like to call them ‘cages’ as you feel penned in, the second priority, sitting tight in your special box to give the important traffic maximum time to pass.

Bowen, D. (2017) Crossing the street in Cardiff is an exercise in frustration. Available at: (Accessed: 24/03/2022)

Pedestrian cages often require users to move in strange ways because the entrances are not in the same position or becuase they are built on some other strange set of road geometry to, and they are frequently chained together meaning you have to cross multiple times. While these crossings make attempts at being physically accessible, the need to stop and turn frequently and to stand and wait in small areas decreases their accessibility overall.

People do not behave like vehicles; the more difficult it is to cross the street, the more likely people simply wont, decreasing the amount of people choosing to simply exist in an area. From a commercial standpoint, street spaces with amenities on both sides decrease the number of spontaneous consumer interactions lowers due to the effort to cross over.

Cars need a lot of infrastructure to work and staged crossings / cages are part of that, they are features that increase the amount of equipment needed for an area with minimal to no proportionate benefit, all for the sake of a bit more speed or a bit higher capacity. This can result in large areas covered in asphalt, fences, poles and lights which is not only not aesthetically pleasing but are environmentally damaging as well.

There are also cases where pedestrian cages are used to justify a more hostile street design, people walking are forced to use them with the effect of actually slowing down traffic due to the lights being used to cross so often; if people could cross more easily traffic would not have to be stopped so frequently.

While writing this post I came across the bellow tweet purely by chance, but I think it’s really illustrative of what a lot of our urban areas in the UK look like. John asks “Where am I?”, a difficult question to answer, as they really could be anywhere.

In pursuit of speed, every other requirement this junction might have is compromised, including capacity. In Confessions of a Recovering Engineer, Charles Marohn explains that engineers’ obsession with speed is a holdover from the early days of traffic engineering, a field which is young enough some of it’s early practitioners are still alive.

He explains how at the turn of the 20th century there was already a strong road network, mostly made of gravel or dirt tracks, sometimes paved to no particular standard. One of the fist things traffic engineers did following the brief to increase automotive mobility, was to pave the roads, make them uniform, and remove obstacles creating speed gains which were directly correlated to mobility gains. In other words, they figured out that speed = mobility = efficiency and that value has been embedded into the practice since.

If you ask most people which they would choose in a trade off between speed and capacity for a given road, almost all will say capacity. After all, what’s the point of taking 30 seconds off of the travel time only to get stuck in traffic? Yet the embedded value placed on speed results in messy, inefficient layouts like this which only deliver benefit at non-peak times and make everything else worse for everyone.

Roads, Streets and Str-odes

Marohn and the Strong Towns foundation define a Road as being a high speed connection between two places, its primary purpose to be the movement of people with few entrances and exists. A motorway is the ultimate expression of a road. A Street is defined as being a space for communities to build wealth, unlike roads, streets are destinations first and de-prioritise throughput, having slower speeds, lower car capacities. Streets are spaces for people to be and exist, cars and other motor vehicles are guests.

A Strode is a street-road hybrid which purports to give the speed and capacity benefits of a road, with ll the community wealth benefits and amenities of a street, but in trying to do so fails at achieving either.

Strodes are mini highways that plunge through communities, they are dangerous; being often built like motorways they allow individuals to reach alarming speeds when clear, but most of the time they are also completely congested creating wall-to-wall gridlock. Strodes are hostile to people outside of cars but they are also pretty unpleasant for people inside cars too. Strodes are a failure of separating concerns, to the detriment of all of their users.

Here is example of a particularly nasty strode in Darnley, an area that is residential but has pushed aside most other things to make way for big box stores and car infrastructure. It is covered in asphalt, pedestrian fences, and lights yet still does not deliver signifiant speed or capacity.

I recently found myself on it while attempting to cycle to the Silverburn shopping centre. Having to walk my bike along the pavement, the yellow line indicates the route I had to take, the red blobs are where I had to wait, each wait being out of sync meaning 2 minutes at each.

At one section I had to cross to a mini island and wait for another set of lights to change as the turning lane had been given priority separately from the forward lane, another capacity increase effort.

I appreciate the image quality is not great but you can view this link instead and imagine trying to, for example, visit the local shops from the housing estate.

This whole effort could have been avoided with the use of simpler crossings further away from the junction, however the design ethos of the road was to minimise the amount of time each lane had to be stopped, meaning pedestrians are forced to move in keeping with the cycle of the cars. More individual crossings for pedestrians means fewer lanes for cars blocked at any one time, the pedestrian’s journey can be cut up to give more priority to cars.

This type of infrastructure pretends to cater for pedestrians but in actuality treats the existence of them like a pest, by only allowing you to cross when it can be absolutely assured no cars can be given priority instead.

The Other Case Study

If all this has you thinking “even when we do get it right in this country, we still get it wrong” then let me offer a look at what things could be, with proper planning and proper design.

Shawlands is another sort-of-suburban area closer to the city, it has a mixture of low and medium density housing and connects to the Ayr / Fenwick road as the Kilmarnock road.

Shawlands is a different area than Newton Mearns but is quite similar in terms of street design, setbacks, and layout, featuring a similar mix of housing types and density.

As a demonstrator of this mix, the first image bellow is Glasserton Road, a low density street, lined with detached and semi-detached houses with big gardens. The second is Clarkston Road near to Cathcart station, a mixed use development with amenities and flats and, according to Google, is a 7 minute walk away from the first image. If you are unfamiliar with UK cities this type of mixed zoning pattern is pretty common.

For extra context, here are two streets, each about a 10 minute walk from the Ayr Road in Newton Mearns. The first two images are of the same position on Kings Drive looking both north and south, the second is Broomburn Drive, which is the next street over.

This is obviously different to Shawlands, but the point is to illustrate that Newton Mearns has even more space and wider, more flexible roads, so therefore has even less of an excuse for making bikes and cars alike struggle for space.

Our case study is the Victoria Road, a dense single-file road which leads from Victoria Park into the city via the Victoria Bridge (but also connects to the Crown Street Bridge).

While this is a very different type of road given the surrounding environment and traffic expectations, it has the same theoretical capacity as the Ayr / Kilmarnock Road; one lane in each direction and turning lanes. It has bus stops which inline with the lane and it has high quality bike lanes on either side for each direction of travel.

As the Ayr Road turns into Fenwick Road which turns into the Kilmarnock Road, it then turns into the Pollokshaws Road. The Pollokshaws road is a 6 minute walk from the beginning of Victoria road at the point of the image above, the two converge at Eglinton Toll and diverge again into the city.

It is home to the South City Way project, a fully grade separated bike path that follows some design decisions so good its almost Dutch. It’s certainly better than a lot of the “Cycle Super Highways”; the mediocre bike lanes which London calls acceptable.

How it Used to Look

This is a view of Victoria Road in 2015 looking south towards the park, about 100 meters down the road from the position in the above image, where Albert Avenue joins it on the left.

Note the range of bad design features:

  • Pedestrian barricades to restrict crossing points.
  • Pedestrian cages with two sets of lights making crossing the road an effort.
  • Road is too wide and fast to safely cross without using the lights increasing pedestrian journey times and increasing the number of times drivers will be stopped at the lights.
  • Wasted gutter space in the middle is necessary to maintain the design speed but serves no one.
  • Zig-zag lines are necessary to slow and re-centre vehicles as the approach the crossing which takes up space that could be used for parking and other uses.

Throughout this article I have put a driver-centric point of view in many of my arguments, this is a deliberate attempt to really drive home how good street design benefits everyone, including drivers, and to try and pre-empt some expected objections.

Notice how this road layout impedes almost everyone, including motorists with the lack of parking provision, all to make way for through speeds that are as possible.

This is a street, like so many others, that has been pushed aside to make way for people in cars to pass through with as little inconvenience as possible. When streets are designed around throughput they are effectively saying “this destination is not as important as peoples’ ability to pass it by”. This is not a place to go, it is a place to get around.

Here is the same street location looking both north and south from 2020.

A marked improvement in so many ways for all users, including drivers.

I said before that what’s really interesting about this project is how simple the adaptations were, and yet how transformative the effect is.

Victoria Road in 2015 looks just like so many other roads in the UK and especially around Glasgow, its not particularly special apart from the connection to Victoria park at one end. It provides a concrete example of what this kind of adaptation could look like while (at least for the time being) maintaining the current level of car through-put and parking, if not increasing it.

Lets look at what these features are and how they work.

What the Victoria Road Gets Right

Continuos Protected Bike Path

The first and most obvious thing is the continuos protected bike path running on both sides of the road. Unlike the Ayr road, these are physically separated by a kerb meaning that unless a car drives directly at them or is going at speed, it will not be able to mount and veer into the bike lane.

The bike lane is not as wide as the modern standard but is still more than enough to be comfortable riding in, and more importantly, it is consistent and changes with gradually at points where it needs to.

The surface is smooth asphalt instead of slabs and there is clear delamination between the bike path and the pavement.

Grade Separated at Pavement Level

Bike paths at pavement level are far superior to those at road level, they are easier to get on and off and they wear better because the entire path is raised instead of a free standing kerb.

This is another thing that the Cycle Super Highways get wrong; some, particularly the older ones, still fundamentally think of a bike as a small, slightly vulnerable cars instead of something between a car and a pedestrian.

As a result they opt to put the bike lane at road level with a kerb between the road and the bike lane which introduces a number of issues but primarily they minimise the ability for users to get in and out and means that any break in the kerb exposes the lane to the road.

They almost get the idea right; that bikes need protecting from cars, but they still have the bikes at road level and frequently expose them to car infrastructure features.

Large Pavements Preserved

Its uncommon but not unheard of for cycle projects to take space from the pavements to supply extra infrastructure like bike paths (because re-designing the car space is clearly unthinkable).

For the most part the pavements are wide enough to get two wheelchairs past side by side and never too narrow to get at least one through. There’s even enough space for some alfresco dining although I’m not sure what the permit situation for that is at the moment.

Good Use of protective ‘Islands’ and Push-Outs

A continuation of the topic of grade separation is that the Victoria Road employs excellent use of “Islands” or “kerb Push Outs” (I’m sure they have a proper name but I don’t know what it is).

These are the bits where the pavement sticks out for bus stops and pedestrian crossings, allowing the bike lane to pass through. This is another thing that London’s Cycle Super Highways get wrong a lot.

The islands give pedestrians a way to safely cross the bike lane with ease, to focus on the car lanes, and get them as close as possible to their destination (the bus stop of the other side of the road) before crossing meaning they can take more time or even cross without having to use the cross button, thus actually speeding up traffic.

The Islands are wide and well maintained, at bus stops they raise up to meet the bus to decrease the step (I don’t know if they are fully step free), and they’re long enough that people can move organically and spread out. The design isn’t just big enough for whatever feature it supports, it acknowledges that people will naturally try and take a direct path to where they need to be and will not necessarily follow the determined route.

As an example of push-outs being used incorrectly, take this junction near Aldgate East station on CS2 in London. This is somewhere I used to cross a lot as a pedestrian to get to bus stop H on Commercial Road.

Its not entirely clear to some people where they are supposed to stand while waiting. Pedestrians are supposed to stand back where the bin and tree in this image are, yet many will want to stand between the bike path and road given the roads massive size and limited viability.

This results in some awkward movements and milling about as some try to stand in the unprotected middle section, some try to squeeze onto the square island with the button, many stand in the bike lane itself.

All of this awkwardness is the result of the fact the kerb edge is too small and the bike lane is not at the same grade as the pavement. The kerb starts and stops and often isn’t big enough to stand on yet sometimes you’ll find yourself on it none the less. From my many commutes late at night crossing here, trying to be mindful of where I should and should not stand, while also trying to get as close to the road as possible so as not to be caught out by the short crossing times, the most generous I can describe this areas is “confused and confusing”.

Then there is this bike turning lane for cyclists turning left. You can see what they were going for with the turning lane and “beg button”, but these are poor compensation attempts for the fact that this road and junction are just too big, to messy and haven’t actually been redesigned at all.

Where are you supposed to go once you turn right on your special bike turning lane? There certainly isn’t another bike path to catch you at the other side. The road designers don’t really know either.

Desire Paths & The Expectation that Pedestrians Act Like Cars

You’ll have seen ‘desire paths’ before, these are where an intended route has been built but requires people to move in a way that is not intuitive, takes longer, or assumes the wrong destination, and so the people using it tread out a new route that is more natural.

Very often this involves the assumption that pedestrians will act like cars and follow a dedicated path, even if it involves an indirect detour, for the sake of avoiding conflicting traffic flows. An example of this is suburban feeder streets which often deliberately wind around and have awkward entrances to side streets; a more direct route is possible but it’s not detriment to cars to go 500m or so further. This is done to make through running (or “rat running”) inconvenient.

Where pedestrians and bikes are concerned this is an inconvenience because a loner distance to walk is just more energy expended. Bike and pedestrian traffic can flow in and out, merging and weaving in very complex patterns, they do not need to be flow controlled nearly as much as cars.

Here is an example of bad pedestrian deign and desire paths from near my parents at Patterton station. Note the desire path on the side of the entrance where pedestrians have walked over the grassy verge. Most of the foot traffic approaches the station travelling north-east and yet there is no pavement on that side entering the station.

The majority of foot traffic is expected to pass the station crossing the entrance, turn round, skim the long way round the drop off zone, and then walk back along to the platform entrance. The route is indicated by the first image bellow by the yellow line. This is extra insulting if you would then have to walk along the platform length again to get to the overpass to reach the other platform.

The second image in that set shows the actual route the vast majority of the traffic takes, walking on a small dirt ledge, through the cars, over this middle reservation thing, and into the station.

Its so accepted that the design is bad that almost all the drivers anticipate pedestrians and will stop and watch out for you. I would love to talk to the designers who implemented this in about 2009, did they really expect this not to happen? Did they really expect pedestrian traffic to happily act like vehicles and take the long route round?

Perhaps they thought there would be so much traffic moving round the drop-off zone that pedestrians had to be kept away from that area, in which case why make them cross over the entrance?

On Victoria Road it is incredibly pleasing to see the push outs offering buffer space, multiple zebra crossings with the accessible texturing, often joined with other features. This enables foot traffic to move dynamically, entering and exiting from a range of directions and rarely having to travel unnecessary distances. This reflects the varied ways in which people actually move and reduces potential conflict points.

For example, the second and third images here show a bus stop which turns into a street crossing and an entrance to a traffic-calmed side street. There are bike racks, bike-share racks and alfresco-dining coffee shops on the corner .

The Eglinton Toll

Further up the Victoria Road it meets the Pollokshaws road before they both diverge into the city centre. This area is a great example of how push outs with multiple entrance / exits aids people crossing the street. Its worth remembering that the Pollokshaws is still a single lane in either direction, despite being an ‘A’ road (larger class road compared to Victoria). At this point it also has two lanes which are ‘sort of bus, sometimes turning, sometimes parking’-lanes.

Both of these screenshots were taken at almost the same place approaching the point they meet, you can just about see the entrance to the petrol station on both. The Pollokshaws does have crossing lights just behind the camera (the images from that position were too dark) and an abundance of pedestrian fences, pedestrian cages and ultra-wide turn outs. Both of the roads are approximately the same “wall-to-wall” width relative to the pavement size.

Now, considering these roads have almost the same through-put, which of these looks easier to cross for someone walking / wheeling a bit slower? Which looks easier to speed a car on? Which road better uses the space available? Which one even looks nicer (accounting for the dull day in the second image)?

Viewing this area in 3D really illustrates this divide further, these are not all that different road types, but the way they’ve been built they are two different worlds.

No Central Reservation

This one is obvious but there are no hatched lines wasting valuable space in the middle of the road, no pedestrian cages, no wide turn outs into turning lanes.

If you use the Google Street View’s time travel feature (by clicking on the date in the top left) to go back even as far as 2017 you can see just how much space in the middle of the road just isn’t being used for much at all.

Bus Stops Moved to the Lane

This one may seem to go against my theme so far of trying to appeal to motorists but in reality this isn’t the case.

By moving the bus stops into the road lane more space is freed up at the sides for the bike infrastructure, the pedestrian “push outs”, and also for more parking.

Sure, as a motorist I’m sure the notion of being stuck behind a bus for all of 30 seconds while it stops is the worst thing in the world ever. But if it means there is now more parking available, is it not a valid trade off?

Motorists who want to get from one end to the other quickly can use a range of other options including the Pollokshaws Road which, as an A road, is supposed to be more oriented to through-traffic. Vehicle through-put on Victoria is now being hindered in order to increase the amount of vehicles that can stop and actually use the space, spend money in the shops, and enjoy the pedestrian-oriented infrastructure.

For cars, this place is now a destination first, and a transport corridor second.

Parking and Other Obstacles Placed Between Road and Bike Lane

An extension of the previous point, all roadside obstacles like bins, temporary signage, lamp posts, etc. are either placed on the pavement side in such a way they don’t interrupt the bikes or pedestrians, or placed on the island push-outs. This is not only an efficient use of space but is much safer and more accessible than if they were placed more randomly on the pavement as an after thought; some thought has been put into their positioning.

Moreover, by placing the parking between the moving cars and the bike lane, cyclists are more protected from accidents from moving cars and are not at risk of being cut off by a car entering or leaving the parking space. Bikes are completely isolated from the car section of the road and their interactions.

This again is another way that good cycle infrastructure acknowledges that bikes sit between cars and pedestrians; they are neither ‘big pedestrians’ nor are they ‘little cars’.

You have organised the road-space by separating and containing risk factors; large, fast moving vehicles are kept to the centre, smaller slower vehicles on the outside of them, and squishy, slow pedestrians on the outside of those, where the buildings and other amenities are.

Bike Path Behind the Bus Shelters

Related to the use of push-outs / islands, the fact that the bike lanes weave behind the bus stops and bus shelters is really good as well. With some dedicated cycle routes, and very frequently with painted bicycle gutters, the bike path will go through the area the bus is to stop in or, in some cases, actively direct the rider to overtake which is very dangerous.

By putting the path behind the shelters, at grade with the pavement, it can gently curve out around the bus stop, safe from the buses and any road vehicles which may try to overtake.

Lets have a look again at my dear favourite junction at Aldgate. Because of the insistence that the cycle way be at grade with the road not the pavement, the bus stop island is literally an island; cut off from the pavement save for a little pedestrian “bridge”. If you have limited mobility, a wheelchair or are pulling heavy luggage, you have no choice but to go up along the pavement then cross over at the single crossing. If you’re riding in the lane on a bike you effectively have a jarring speed bump.

Also note the position of the actual stop (the pole, marking where the front doors open), its behind the shelter which sits between the stop and the “bridge” meaning you have to squeeze past to reach it, and impossible if you have large luggage.

One of the reasons I direct so much criticism at the Cycle Super Highways is not because they are terrible (although CS2 is pretty bad); even the bad ones are better than nothing, but because of how they are branded. PROOF

Particularly the earlier CSH’s which weave in and out at sharp angles, have almost no overtaking space and get dangerously narrow at points, often just turning into a painted gutter.

They offer no meaningful redesign of the spaces they’re placed in, shyly dipping in and out to avoid the ‘important’ automotive infrastructure. This bus stop isn’t just a badly designed bus stop, its a bus stop which is badly designed because its designers did not want to take any more space away from the 5 lane highway that should be a vibrant high street.

These flaws would be somewhat excusable if bike lanes like this represented some new standard for all bike lanes across London; not great, but better than a line of paint. Instead, they are touted as the pinnacle of bike lane design, even their name, Cycle Super Highway’s, is evocative of some smooth, fast, state of the art, experience.

The ‘Quiteway’ projects are another example is this misguided thinking. These are quiet routes for people to take which take longer than the direct route but avoid the majority of traffic, another admission that cutting traffic across the board is not a serious enough objective.

This is not the best they could do, it is not a bold re-imagining of how space could be better used, it is a placation to the type of drivers who see all space not currently given to cars as being bad. It is the designers saying to drivers “don’t worry, it won’t get any worse than this”.

Raised Entry to Side Streets

In modern Dutch street design, the road rises to meet the grade of the pavement and cycleways and cut outs ensure the width is appropriate while proving space for bike racks, bins etc. This causes drivers to instinctively slow down, take more care, keep more of the cycleway and pavement clear and yield to traffic on the road they are joining.

Often described as “making drivers feel like guests to an area, rather than giving them priority”, as these streets are connecting to side streets, safety is greatly improved when drivers enter or exit them carefully.

Raised entrances these are better for accessibility because wheelchairs, prams, people with luggage, upright walkers etc. can walk across the junction in a straight line, they don’t have to manoeuvre to a specific crossing where the kerb bends down.

This is another example taken from Queens Park station, 2016 vs 2020. once again it is worth reiterating that no space has been taken away from cars, just remodelled. The van on the pavement in the 2016 image is a nice mood setter I feel.

Its (almost) Red Asphalt

One common mistake made by some bike paths is to utilise some sort of non-conventional material to pave them, or even to have no material distinction between the path and the adjacent pavement or road. In the Netherlands they have a problem with legacy paths paved in bricks which was once thought an appropriate way to build them but will rattle your bones to pieces when you ride on it.

The Victoria Road paths not only succeed in using proper asphalt (not tiles) but they also include another key concept from the Crow manual; the concept of way-finding.

The Crow manual defines way-finding as an integral consideration to the design of bicycle ways, suggesting that distinctive landmarks and memorable areas should give users a sense of where they are, using signage as a last resort. Paths should feel direct, take into account how people actually move, and require little effort to decipher; you should always know where to go next.

Part of this specification involves the consistent use of a distinctive red hue for the asphalt, meaning that all bike paths, be they large intercity paths or little lanes next to a road are instantly recognisable as bike paths, giving the user confidence.

The Victoria Road path uses a spotted red and black asphalt to distinguish it from the pavement and road in the same fashion, meaning that even when flush with one of these areas it remains visually distinct. It would be nice if the colour was more distinctive like the red asphalt of the Netherlands but its still better than nothing.

Mixed Messages

This issue of a lack of distinction between bike paths and literally anything else is prevalent in in many UK bike paths, and is part of a larger problem of a lack of any meaningful standards in bike infrastructure design.

Here is an example of mixed message way finding which appears a few times across Glasgow. This is Kings Inch Drive in the West of the city, south of the river near the Clyde tunnel. It connects a series of car parks and also some big box stores.

There is a cycle path painted on the pavement, another variation of the “shared path” pavement concept however, unlike examples we’ll look at in a bit, it makes the effort to somewhat differentiate the ‘pedestrian side’ and the ‘bike side’.

What’s interesting is that the bike lane is actually technically not bad (in some respects). Its a decent width, its smooth and consistent, its grade-separated from the road, and there are decent islands on the roundabouts to get across.

What lets it down is the fact there is nothing to visually or physically differentiate it from the pavement area save for a white line; its the same surface just with a bit of paint suggesting where to stand. This sends mixed signals to pedestrians, are they supposed to keep out? is it advisory only? Are the designers serious about this being a bike corridor? Can you, as a pedestrian, expect to have to encounter bikes frequently?

When a council throws up a blue “share the path” sign on a regular pavement it is clear they don’t really take the idea of cycling as a mode of transport or the path being a shared space seriously. Its the equivalent of a bad substitute teacher in a riotous class nonchalantly saying “ey, knock it off” while not looking up from their phone.

Its not serious about its intent, it isn’t setting out a plan for where different users should be. Pedestrians are not really expecting any bike traffic because the space looks like a pavement. Bikes may not be confident using the space because it doesn’t feel designed for them. Cases like the above are somewhat odd middle grounds, its not quite clear how serious the intent actually is. They are better than an advisory sign but at the same time not entirely cohesive; they don’t go the full way.

When you have a proper grade-separated bike path like the Victoria Road it is clear that that is a serious piece of infrastructure. It is very clear where each mode of transport is prioritised, what the intended paths are (and connections), and how the space is intended to be used. It feels as though it was designed by someone who not only knows the theory, but has been to the location to understand it, someone who cares about the users.

Here is a graphic from the government’s Gear Change Report which recommends good guidelines on modern standards of bike path design. It is interesting because it not only identifies common mistakes with previous projects, but also specifically highlights aspects of way finding.

HM Government Department For Transport (2021) Gear Change: A bold vision for cycling and walking. Available at: (Accessed: 13/08/2022)

A distinctive lack of distinction on UK paths

If you go to something like Google Maps and turn on the bike path layer you’ll see an effect I dub the “Green Confetti”; most urban areas look like someone has sprinkled confetti of various green shades indicating different degrees of bike infrastructure (the different lines denoting different grades of separation).

Our urban areas are littered with discontinuous bike paths of varying widths, lots of start-stopping bike lanes, routes that cut hrough estates, paths in parks shared with pedestrians and leisure riders, decent sections of bike lanes in the middle of nowhere with no way to access them, and so on.

Often you’ll be perusing a mapping software of your choice and you’ll see a nice stretch of path indicated as a “protected / dedicated path” or “path with bike lane” only to discover it looks just like a pavement. Looking further you may see one of these blue signs indicating that the area is a ‘shared route’; a multimodal bike and pedestrian route.

Here are some random examples from Google Maps looking at Glasgow. Note the confetti effect created by short bits of bike path and interspersed parks. Also note how the South City Way, South West City Way, and West City Way stand out as does the Clyde river path. There are the very early beginnings of a network but too many circular paths and paths leading nowhere useful.

The more time you spend with browsing areas in the UK, the more you begin to notice how even the really easy wins are missed out on. The centre of Glasgow is busy but it is not crowded, there’s no reason they can’t have at least a bike lane on every street within the CBD.

Areas like the first image bellow show small segments of bike paths of varying quality but they don’t join up! This area around Central Station, the largest station in Glasgow, is such a wide open goal yet no one has thought to just join these segments.

The second image above shows the example from Kings Inch Drive amongst other paths, most notably the former railway line north of the river which leads all the way to Loch Lomond. Even if Kings Inch is deemed to be good enough, it just doesn’t really go anywhere or connect to anything. You can ride on the road to get to the Clyde tunnel but the road is busy and dangerous and there is nothing for if you wan to stay on the south of the river.

Blue Signs

Here is an example of a supposed connection between a national rail station, a large chunk of suburbia, and the Ayr Road. Cool right? Unfortunately this ‘protected bike path’ is just a pavement with a blue “share the path” sign on it. It is a supposed ‘shared path’, which in this instance means a regular pavement that bikes are directed to use.

I’ve travelled this route many times in my life while visiting family nearby, the road is often too fast and dangerous for me to feel safe riding a bike on, but the pavement (shared path) is just only just big enough for pedestrians. While its not small, its not massive; I have had difficulty as a pedestrian overtaking people walking side by side, there’s no way I’m going to ring my bell at them on a bike and try to squeeze past.

I have no issue with pavement riding when other people do it; I believe it is a symptom of a lack of infrastructure and if you don’t like it then you should provide traffic calming and / or a dedicated bike way. However I personally hate doing it, I feel like a child, riding slowly to school on the pavements because I’ve been told to be careful of the roads.

It is slow, inefficient, and not fair on pedestrians who may only have just enough space for themselves and may not see me coming round blind corners like this. They probably wont even know that this particular pavement, although identical to other bits of pavement, has been “blue signed”.

Even if there are no pedestrians, the cyclist must often take sharp corners, crossing at pinch points, and can’t see far enough ahead to react to coming traffic.

Shared path designations are often applied in inappropriate places as a cop out by the road designers who think it a valid substitute to actual infrastructure.

The case for shared paths

There are places where it makes sense to have a shared path; areas of low traffic, paths through a park, or by the side of a road between urban centres where there are not going to be too many people. Good shared paths should be direct and clear, allowing you to see others from far away. They should have ample space for mixed traffic in both directions and be put in places where both bikes and pedestrians are probably going in the same direction from one point to another, not mingling or moving erratically.

In the Netherlands shared paths are most commonly designed as bike paths first, then pedestrian traffic considerations are laid on-top, as opposed to designing a pedestrian path and then trying to squeeze bikes in as an afterthought.

One such example is in fact the Ayr road which, at the south end, bends off to parallel the M77 down to Kilmarnock and acts as a collector road for the motorway. The flexy-post protected bike lanes give way as the road approaches the primary school (because what do little kids need with car safe infrastructure right?) to older, smaller red painted lanes which have all but faded away, similar to what the rest of the road had if you look back to about 2008.

As you continue past the school the red lane gives up entirely and the user is “blue signed” onto a pavement area. This makes sense, the foot traffic is low and the pavement eventually widens out to a comfortable width.

Then something odd starts to happen. As you approach the corner of East Renfrewshire Golf Club, the type of paving surface changes, the kerb edge becomes more reinforced, and intermittent gaps appear with bollards protecting them.

Further on, the look and feel of the “pavement” has changed, there are red markings with bike symbols on them, and more blue signs as if to say “Yes, this is still a shared path. Pedestrians may use it, but the main audience is bikes”.

The path has become an inter-city bike way, much like you would find all over the Netherlands, connecting Newton Mearns and Glasgow with Kilmarnock and, (if you don’t mind a stretch of road cycling), Irvine, Ayr, and the coast.

This is yet another reason why keeping, reinforcing, and extending the protection on the Ayr road and closing the gap at Giffnock is so crucial. With it, the road not only serves active travel capability to locals but forms a link from Shawlands all the way to the coast line.

This is the kind of infrastructure that is often billed as being a financial fantasy, and yet it can be found if you look for it. Its total utility will only ever be realised if it is connected to a wider network. PROOF

an electirc mountainbike iwth pannier bags, next to a bike path facing a blue "shared path" sign
An image of my own electric-adapted bike, a Trakbike Altitude folding mountain bike with a Yose Power ebike kit (and a tone of accessories). Photographed at the junction of the A77 and B764 on the Ary road.

Kerb Protected Junctions

This is another of those “can’t believe it happened outside of Amsterdam this side of 2050” features and very welcome.

What should a bike lane do at a roundabout? At a four way junction? Approaching a car park? How do we go about designing the solutions to these problems in a way that is safe?

Thankfully the Dutch have done that for us so don’t worry about it.

There’s only a couple of these on the Victoria Road because after this the roadside changes and other crossings can be used but it’s still remarkable to see this feature appear on a UK road. At the interaction of Allison St the route uses a Dutch junction to continue across.

These junctions use kerb protections to prevent cars from cutting into the bike line waiting space while crossing and use separate traffic lights for bikes to coordinate movement with cars.

Here is another screenshot from inside the junction box. You can see from the entry and exit points for side streets which could connect to mode paths if they were to built later.

Kerb protections on the corners prevent motor vehicles cutting off bikes and force them to slow to a safe speed whilst also providing safe refuge points for bikes to wait to turn across traffic. In this sense the junction is for bikes like a mini signalised roundabout; if you want to turn right you cross over, turn into the refuge and wait for the light direction to change.

This is actually relatively simple and cheep to implement yet is so much safer than the alternatives you’ll find in the UK, in which bikes are simply dumped into traffic and expected to move like cars in the junction. Yet features like this are missing even in places like Copenhagen, much more renowned for their cycling infrastructure.

Infrastructure that Just Gives Up

Often in the UK you’ll find yourself looking at a particular piece of bike infrastructure that just ends suddenly, then restarts later on. This is very often the case where a bike path meets a road feature that the designers don’t know how to handle, so they dump you out onto the road, say “I don’t know, figure it out”, and then welcome you back at the other side.

Junctions are a key example where bikes are often forgotten about or assumed to be able to fly; the kerb drops off, or worse still, the path is indicated to sharply merge with the car lane to get across. This is a small part of a broader topic of designers treating bikes as either “little cars”; expected to act like much larger vehicles, or “big pedestrians”; expected to move like pedestrians and use pedestrian infrastructure, weaving in and out of tight spaces.

Here is an example of this from Cycle Super Highway 2 in London. The grade separated path just stops and requests you push the beg button not once, but four times, to cross over four pedestrian cages sometimes barely big enough for a bike. This happens a lot on the CSH’s.

Here is another example from a particularly egregious junction on the north side of the Rutherglen Bridge on the A728. The junction is a mess so the protected bike lane just melds into the road and cyclists left to fend for themselves.

At the other side (on some exits, not all) you are welcomed back with this nice ramp up to another protected bike lane. “Welcome back! You survived! Here is your reward”.

Standard Junctions

In the UK, the problem of how to deal with junctions is usually dealt with using these ‘bike boxes’ or ‘advanced approaches’. The idea is that motor vehicles stop a meter or so back from the lights, cyclists can then sit in front of them and, if turning right, move over to the right side. Here is a typical example of a bike box from Auldhouse road.

These are bad for a number of reasons, lets start with the intimidation; sitting at the head of a column of traffic which can’t move until you do is just plain scary. As soon as the lights begin to turn you have to put all your energy into accelerating as fast as you can, lest you incur the anger of the drivers.

This is made easier with an e-bike but still isn’t great. There is still the possibility a car will come up behind you and not slow fast enough ramming into you, and you still need to be ready to accelerate fast which a fully loaded ebike with a 250w compliant motor may struggle to do.

Then there is the fact that many people will naturally drive as close to the light as they can get, the light marks the point to stop after all. This means that even good drivers will have a tendency to stop in the bike box before they even realise where the stop line is.

There’s the fact that the paint ware and tear means that very often these boxes disappear from view entirely or end up with indecipherable edges.

Lastly there is the large number of people who will disregard them entirely because they don’t care. Sitting in the bike box puts them 1 meter closer to their destination. Similar to when my dog, being dried after a bath, gets as close as he can to the door thinking it’ll get him out faster. This behaviour comes from the same place as when people overtake, sometimes dangerously, just to be caught up on at the next set of lights. There is no benefit to being 1 meter further forward and yet some people will still insist.

Dutch Junctions

Dutch Junctions are effectively roundabouts for bikes; traffic going straight through can simply continue, to turn left (for left-hand driving), the bikes can simply continue around the curve and skip the lights entirely.

This image is actually from a redesign of an American street but demonstrates the elegance of these junctions nicely.

Protective kerbs like these prevent motor vehicles from turning too sharply and cutting off cyclists going strait. If the bike is turning on the inside of the junction, they barely interact with it at all, only having to watch out for oncoming bikes to yield to.

If the cyclist is going straight or turning across the junction (in the image above this means turning left as they drive on the right), they wait before travelling to the next kerb and effectively joining the traffic perpendicularly.

This image from BikeSafe illustrates how these kerb protections work. Cars are unable to cut off cyclists by taking a larger cornering radius, bikes have a line of safety to wait behind while the junction clears.

The kerb protection provides a safe lane to wait behind for cars to clear the junction or for the lights to change. In the case where cars have to yield to bikes it helps the cars judge their margin of error. To turn right, the cyclist continues straight and then turns to wait until the lights change to authorise the other direction of traffic.

Dutch Roundabouts

Here is an example of a typical roundabout in the Netherlands, remember you ride on the right-hand side of the road there so imagine entering from the right side of the road and moving anti-clockwise. The car lanes are the dark asphalt, the pavements are light gray asphalt and the bike lanes are red.

In Dutch style roundabouts, the bike paths carry on around the circumference with a protected section between the road and the bike path. Like car roundabouts the bikes enter via a path which curves out, yielding to those already on the roundabout, and exist via a similarly curved path.

Because the ‘car roundabout’ is in the middle, cars cross the bike paths to enter and exit, meaning they pay attention to both cars and bikes from one direction at a time. Depending on the area, the density of car and bike traffic, either the cars or the bikes will have priority and yield to the other.

If it helps to think about it, consider how pavements join roundabouts; they curve round the outside and have gaps with crossing points where the cars enter and exit. These are basically the same but the paths are more continuos, instead of a crossing you have a yield section. Once you spend a bit of time with these, and especially if you watch videos of them in action, they seem really obvious.

The South City Way doesn’t feature any roundabouts Dutch style or otherwise, but I would be remise without mentioning them as they demonstrate that even complex driver interactions can be designed for.

Dutch Roundabouts & Junctions in Depth

I acknowledge that the concept of these junctions and roundabouts may be hard to imagine if you haven’t experienced one so to illustrate their function I’m going to use a case study of a typical UK roundabout.

This is an unnamed roundabout on Muirend road just west of Muirend station. It connects three residential roads each with one lane in either direction which widen as they approach the roundabout to include a turning lane and a forward lane, joining in a rough ‘T’ shape.

This is typical even for small roundabouts, the idea being that two cars can enter at the same time, the car going straight on doesn’t need to curve much and the turning car can hug the tight corner to get round. Its another example of over engineering where more space than necessary is used to try and not make cars have to slow down despite little to no actual speed or safety gains.

Like many road features in the UK, it has a few quirks and imperfections in its geometry that give it a distinction and are useful to demonstrate how good street design is not an exact science, it is a set of guidelines to work differently in each situation.

This roundabout connects with some painted bike lanes which in typical UK fashion disappear at the roundabout and reappear on the other side. It also has an interesting protected bike lane to allow people continuing onwards at the ‘T’ to bypass the roundabout which is a nice touch.

Here is the road with annotations showing the car lanes, red for traffic entering the roundabout, and blue for exiting. The next image shows the bike lanes, light green for paint, dark green for protected sections.

Clearly this is the optimal road design and nothing can be done to make it better for all users. The sides cannot be narrowed and the centre area cannot be made any smaller so there is no way to accommodate anything other than cars.

Except that’s not quite true is it? The current road designs do provision for another type of user; pedestrians. Here is the same map with paths for pedestrians indicated in purple, as you can see, no one would have difficulty understanding this interaction.

The pedestrian paths line the edge of the roundabout with the car interactions happening on the inside. Pedestrians are mostly required to yield to road vehicles but you can imagine if the crossing points here were pedestrian crossings how that priority could hypothetically change.

Now what if we were to double these paths? What if there were an additional layer of paths on the inside or outside? This is effectively what protected bike paths (or even just continuos bike lanes) would have to do. Note how similar this is to the pedestrian paths diagram; the points of intersection with the car lanes are almost exactly the same.

If we turn the pedestrian layer back on you can see this interaction take place. Again, the yield priority and use of lights should be determined by the designer based on nearby traffic, perhaps it is better for both pedestrians and bikes to have a refuge on the islands seen on Muirend Road and Langside Drive.

Lastly we can introduce kerb protections to let traffic mix where necessary and prevent conflicts and cut-offs where needed.

Obviously these are just rough lines drawn loosely on a screenshot of Google Earth and far from an actual design, but hopefully it can illustrate that these junctions and the interactions they involve are actually not that complicated or difficult to implement.

What the Victoria Road Could Improve

“What? But this is supposed to be the good example. What are we criticising this one?!”

Throughout we’ve been looking to the Netherlands as our gold standard for urban design and safe streets which accommodate multiple modes of travel. However good design is an ongoing process, it is not about swapping one unchangeable status quo for another, but about a continuos process of reevaluation and redesign.

Amsterdam wasn’t built in a day. The changes which have taken place in the Netherlands, from streets which looked like ours in the 70’s to what they have now, took place overtime.

There are still areas in the Netherlands where the best you can hope for is a painted bike lane (built in the 90’s). There are other areas which have dedicated bike paths but made of brick, bumpy and difficult to ride on (made 2000 – 10’s). The modern fully protected paths (with the red asphalt) are an invention of the last 20 years or so. New ideas being trailed all the time.

The South Side way and Victoria road is orders of magnitude better than the Ayr road, in the same way that the Ayr road with bollards was orders of magnitude better than it is now, in the same way that the current Ayr road is better than the small “door zone” bike lanes of the Kilmarnock Road, in the same way that any of this is better than the six-lane suburban strodes with no side walk you’ll find in north America.

By looking at what could be improved with better examples, we can re-evaluate the current state of design and realise its flaws and hopefully create improves in the next iteration. The decision to rip out the bollards on the Ayr road is movement in the opposite direction and represents a failure to think systemically.

In a generous reading, the decision to remove and not replace the light segregation is not a malicious attempt to make the road less safe, but simply a move driven by a belief that they have a ‘compromise’ which is ‘good enough’. It is the act of representatives which either do not value active travel, or simply don’t understand how infrastructure creates it.

So lets finish up by having a look at what can be improved on the Victoria Road, and what it can tell us about potential future design projects.

Turn-Outs Around Obstacles can be Quite Sharp

I complimented how most of the the turn outs, where the path curves behind a bus shelter or other obstacles, are smooth and well considered but there are places where sharper curves are used. PROOF

However some of the turn outs are less considered, creating sharp corners which can be dangerous, creating conflicts between the two directions of travel and potentially leave the lane.

One such instance is found at this bus stop near an estate in Laurieston approaching the river, seen here covered in some nice slippery leaves. Why does it have to be this sharp? It appears that it was built this way to ensure the angle of the pedestrian crossing lines up with an allay way between the houses to the left.

However given the space behind is unused (the road ends behind the line of bollards), its difficult to imagine this was the best they could do. Even if the crossing couldn’t be moved, the bus stop could have been pulled a little closer to the crossing to allow a smoother turn out further south, making it safer for both pedestrians an bikes.

Few Opportunities to Overtake

While the paths are built to a high standard, are consistent in width and wide enough for even novice users, it is rarely wide enough to overtake other cyclists. This isn’t the biggest concern particularly as the traffic is still relatively low, but going forward larger pathways like this should really be wider or at least have some sections of wider path for slower or less confident users to be safely overtaken by people trying to quickly get from a to b.

The latest Dutch design standards allow for two people to cycle side by side in one direction and another to pass them in the other direction with a minimum path width of at least 4 meters with the previous standard of 2 meters recently replaced. With

Of course, we’re a long way from having to manage that level of bike traffic, but will be felt as active travel capacity increases; the London cycle network has a tendency to cause cycling tailbacks at rush hour, in part due to the small width of the tracks. The designers of later London Cycle Ways are apparently finally making the lanes wider to facilitate this.

Bizarre Two-Way Sections

Speaking of inadequate widths, the route has one section where the lane narrows with little warning and turns into a bi-directional path. Take a look at this screenshot near Cuthberton St, you’ll see that the southbound side has a bike lane travelling south while the northbound has a dual direction lane allowing both north and south travel, which then merges back into a northbound only lane at Copelaw St.

This is apparently to connect with a bi-directional bike lane going along Cuthberton St besides a school. While I can see the argument for having the lane outside the school be bi-directional I think this is a compromise for the fact the street is not traffic calmed sufficiently, at the planners maintained the parking / drop-off space on the other side of the road.

Ultimately this is an attempt made to connect to a tributary street that may have been too difficult to redesign / rethink. I don’t think its the end of the world but it would not have taken much to make the lane 50cm or so wider to reduce potential conflict.

Street Parking Limits the Road

Throughout this article I’ve tried to frame the point of view of the driver as much as possible. I want to draw attention to the fact that good street design and planning benefits all road users, and that a lot of basic active travel infrastructure does not negatively affect cars at all.

I have done this because discussions concerning street design and road building in this country are inevitably centred around the experience of drivers. Ideas such as capacity being the determining factor in congestion are highly ingrained in our way of thinking.

Any change, even changes that benefit motorists, are often opposed by citing the idea that the only way to improve congestion is road widening and removing obstacles.

It is a knee-jerk reaction for many of us, even those of us that don’t normally think about the topic, to resist changes that look as though they affect road capacity. Every urban project is framed in terms of the convenience to cars. For instance, discussions around Low Traffic Neighbourhoods are entirely centred around hypothetical increases to journey times or congestion affecting people out of area, as if journey times and road safety belong in the same form and are comparable as trade-offs against each other.

This is the reason I wanted to talk about the Victoria Road. It is far from perfect, but is a great example of how adaption could and must look in the short-to-medium term. It shows us that you can not only build active travel infrastructure (and nicer urban environments in general) by rethinking the use of space, but you can actually increase parking and utility for motorists.

This is similar to the Dutch idea of “untangling”; the idea that separate modes are prioritised in separate spaces and along separate routes so as not to conflict. One type of motorist; the type that wants to pass through as quickly as possible, is being de-prioritised in favour of another; the type that is local and wants to reach the area as a destination. A conflict of values exists and space is remodelled to account for this.

After the easy bit is done; removing wasted space, we cannot avoid the fact that the Victoria Road is limited by its provision for cars. To continue to give the street room to grow it would be necessary to restrict car access more or remove it entirely.

Who Exactly Are We Designing Our Streets For?

Fundamentally this article is about choice.

Choice of how to get around, choice of which types of people are prioritised, choice for environmentally friendly travel modes, choice about what values we want embodied in the design of urban environments.

The design of our urban environments has always been in a state of flux; they have always been successively rethought, and re-organised depending on the needs and the values of the current inhabitants. There is no “correct” design that is the way things have always been or the way things must stay. And just because areas look as though they’re not changing or that change has been resisted for the past 30 years is not an excuse to avoid rethinking them now.

When people have a choice of how to get around, and when these choices are easy, accessible, and pleasant, you can reach a situation where the only people driving are those who need to drive or who want to drive.

Ending car dependency is first about eliminating unnecessary car use and giving people options, but beyond that its about re-framing the way we allocate space and move around, removing the car from the centre of transport consideration.

In the UK, any mode of transport other than the car is, as the result of embedded design or sometimes explicit policy, seen as a secondary concern and often not catered for at all. There is an attitude commonly expressed that public transport is a cheap substitute for those with no other choice than to use it. Even then, the train is still at least seen as being for blue collar office workers while the bus is for the poorer yet. In times of high fuel prices news stories inevitably arise about ordinary people “forced” into using the bus of cycling by circumstance, framing the injustice that such a terrible fate be forced on them.

Cycling is infantilised, seen as something that children do, riding their mini mountain bikes on pavements perhaps with a parent. Its something that road bikers do, dressed in Lycra, with tinted glasses on country roads. And something that perhaps you do, on trails in the highlands while on holiday, on a rented mountain bike mounted on the back of an SUV.

When the topic of cycling as a form of commuting is raised, the general opinion seems to be that doing so is an extension of the hobby of road cycling, and that only smartly dressed office workers do, by choice and mostly for fun. They are not even seen as people just getting to work, they are seen to be doing it because they are “cyclists“.

This is exemplified in the way that many people view cycling advocacy. When the topic of cycle advocates is raised they imagine performance and racing bikers, hunched over their road bikes, demanding unreasonably for more space to do their hobby to the detriment of the “serious” road users.

Choice of Travel

We have discussed many ways in which the designers of the past didn’t know what the standard of active travel should be, or what made safe cycling. “We gave you a 0.8m painted bike lane, what more could you want?” is asked, not in malice, but in genuine confusion.

While the cause might be innocent, the result means that people on bikes are often left to their own devices, left to navigate bizarre and contradictory road instructions that can’t seem to decide if a bike is a little car or just a big pedestrian. There are times you look at a section of road design and come to the conclusion that some designers believed that bikes can fly (or teleport).

I confess that until relatively recently even I did not take cycling seriously as a method of travel. I had some half baked idea that bike lanes are good, Copenhagen is cool, and meandering around a town centre would be nice on a bike.

However I did not understand the crucial role active travel could play in sustainable transport. I believed that the main focus of sustainable travel should be on building a copy of the London Underground under every city, bikes and walking was mostly an aesthetic concern.

I strongly understood concepts like induced demand and the issues with car dependency and car dominated spaces, but I believed that simply providing mass transport links would reduce car numbers on its own, that local transport issues would sort themselves out. I was inadvertently making excuses for car dependency. London itself proves this isn’t how it works; yes public transport is key, but if you don’t redesign streets you’ll still have the car-dominated landscape as you do today.

While the cycling situation in and around London is improving leaps and bounds, it still has a long way to go. The tube and other transport modes are an incredibly effective system -one of the best transport systems in the world- but the reason the capital depends on it so much is because there is often no other choice than to use it. The street level is still congested, smoggy, noisy, dangerous, and often an unpleasant place to be.

Sure you have a fast frequent tube train to take, but if you want to instead take the tram, bike, national rail or even walk, your ability to effectively do so will be limited by what your location supports, which is often just one of the above (excluding cars, which can go anywhere they like, at an average speed of 6mph).

The reason the tube is at capacity and tube strikes are so effective at causing disruption, is not just because the capital relies on it, but because it is dependant on it. The lack of other modes means the transport system cannot affectively absorb shocks, delays ripple out, and you get to spend 10’s of minutes in a stranger’s armpit whether you want to or not.

Outside of the few UK cities that have transport systems or are small enough to be easily walkable, you’re often left with a shoddy, infrequent, unreliable bus service or you’re completely dependant on the car.

Almost all car journeys are within 10 miles and about 60% are under 5, more people can cycle or use a mobility scooter (or some other similar device) than can drive. There will always be people that need to drive and there will always be people who will never drive. There will always be times when you need to use or rent a vehicle to move some absurd load a distance or go to some remove place which can be easily satisfied by vehicle share schemes and courier services.

So why then are we content with environments that force everyone to drive? Why do we insist that people lug around a small living room with them everywhere they go? Why do we continue to build urban environments this way?

Perhaps some people prefer to drive, perhaps a majority of people want to drive everywhere, perhaps you do, but why should everyone be forced to do the same?


Disability and Active Travel

There is a common assumption that disabled people largely rely on cars, which is cited as a reason to oppose perceived impediments to car travel. It is often stated outright that cars are the ultimate accessible transport mode, and that to restrict cars is to restrict accessible access to much of society. Very often this line of argumentation is brought out by people who are not disabled, speaking with genuine concern on behalf of those who are.

With that being said, many of the concerns raised that restricting car access and creating active travel provisions are inherently discriminatory against disabled people are simply unfounded. In addition to people who actually care, many people who make this argument are simply using disabled people as a political football to maintain the status quo, playing on the legitimate concerns of the others.

Some people, disabled or otherwise, will always be dependant on a motor vehicle to get around. Others will never drive because of their physical condition. The assumption that cars are always the solution to mobility access issues ignores the fact that driving is itself an activity dependant on a level of physical ability. I think many people would be surprised how many seemingly physically able people have some kind of visual or information processing impalement that disqualifies them from driving but not from bikes or smaller vehicles.

For more information you can read this article from Novara Media ‘Stop Using Disabled People As an Excuse Not to Ban Cars in Cities‘.

Even for those dependant on cars to get around, car dependency is a detriment. In an alternative universe where the car has just been invented, about the worst idea you could come up with to help those reliant on them would be to force everyone else into cars and create congestion. As stated in previous sections, when only those who want to drive or need to drive are in cars, driving is far easier and more pleasant.

Pedestrianised areas can also be of great benefit to disabled people; no longer having to squeeze through cluttered pavements and navigate fast heavy traffic, there is plenty of space to design accessible landscapes. Then there is the fact that mobility scooters, wheel chairs, and other non standard ‘vehicles’ like microcars can use active travel paths while full sized cars use the road.

Micro Cars

In the Netherlands there is the concept of the “Micro Car”. These are exactly what they sound like; little cars with usually one or two seats, that are speed limited and so allowed on bike paths.

They do not require a license but there is usually a control in place to stop non-disabled people from using them. Micro Cars are not bound traditional car rules due to their size and so can be parked on the pavement so long as they do not obstructing anything. (date unknown) Canta LX – Vos Minicars. Available at: (Accessed 03/04/2022)

Intended solely for accessible access, many micro cars do not feature a seat but instead the backs open up to let a wheelchair user glide in and control the car with hand controls only.

These are a great idea for filling the gap between pedestrianised areas for those with severely limited mobility that do not want to be tied to an adapted car / carer. However, more than this I like them because they demonstrate how the automobile typology can be rethought once you break out of the system for cars that currently exists.

When cars do not need to house a conventional engine, when they do not need to always have ample luggage space, carry round three to five redundant seats (given a typical car occupancy of about 1.2 people), when they do not need to be reinforced to increase survivability at high speeds, and most of all, when we are freed from the constant market and social pressure to guy bigger and bigger cars, when all these things are true, the car itself can be built again from the ground up.

I like micro cars because they are the “essence of car”; they are the bare basic components of the advantages cars bring, stripped down to suit an actual specific function, and not to be a generic all-rounder. They are designed at a scale to work within a new system of transport, one in which the car itself is not the focus.

This is not to say that micro cars are a solved problem; right now there is a big issue in Amsterdam where another type of micro car, the Biro, can be purchased by anyone regardless of ability, and so becomes the unrestricted runabout of some rich people who would rather not bother cycling.

However this is a problem of regulation, a problem that is being actively addressed as we speak and demonstrates how cars, even micro cars, will come to dominate a space if given unrestricted free reign.

On a more positive note it demonstrates how car use might look in the future as modal shift continues, that the car (or something like it) still has a place in our urban areas, it just needs to be considered in context and designed for in accordance to the values of a shared space. (2018) Amsterdam considers action to get micro cars off the pavements. Available at: (Accessed 26/04/2022)

Forgiving Systems

In design we have this concept of a systems “forgiveness”. A forgiving system is one which can withstand user error or accident, minimising the negative impact on the end user. It allows users to recover easily from errors or to avoid errors entirely. An unforgiving system is one which impacts the user more severely on error. PROOF

A motorway is an example of an unforgiving system; a small error can quickly compound into a much larger one. If something goes wrong with your car, and even if you make is safely to the lay-by, there is always the risk that another vehicle hits your stopped car to catastrophic effect.

An example of a forgiving system would be a text editor with Undo, Auto-Save and Spell Checker functionality, helping users find the correct spelling and grammar, accounting for the user forgetting to save, or for unexpected computer faults, and reverse the state of the document.

Walking is another forgiving ‘system’; there’s only so much harm you can do to someone walking into them (most of the time), you can turn on a dime, start and stop as you please, and mingle in busy traffic with little collision risk.

One of the advantages of cycling as a transport method is that it is much more similar to walking in terms of forgiveness than driving a car. It takes little effort to injure someone with a car while comparatively it is quite difficult to seriously injure someone with a bike. It is still possible to have a bad fall, but most crashes have a much smaller risk profile, especially compared with the certainty of injury being hit by a large metal box at just about any speed it might be travelling at.

Because of the ease of overtaking someone on a bike and the fact that most people ride at similar speeds, there is no real punishment for riding at slower speeds; you can ride the speed that’s comfortable, and others can usually overtake with ease if need be. Try driving at anything more than 5mph under the speed limit (or often at the speed limit) in the UK and describe how patient the other cars get. Even on very dense cycle routes at rush hour, people will easily adapt round an obstruction like someone expectantly stopped, even if it may appear intimidating at first.

And if you go the wrong way? Just find a gap in traffic and spin round on the spot. You can stop as often as you like at the side of the path and easily lift your ‘vehicle’ out of the way.

All of this is to day that even while riding a larger cargo bike or trike, the stakes are low and therefore the risks are low, the tension of riders is lowered, the attention needed is lowered. You need not take on the incumbent risk of lugging about 2.5 tones of steel and metal just to retrieve a pint of milk.

Freight & Emergency Vehicle Access

There’s another bizarre idea pervading that says the only way to move freight about is in the back of a large Transit van or a full sized HGV, and that the only way to have provision for this is to give over the majority of public space to cars. Both of these assumptions are nonsense.

The first thing that needs to be said addressing this claim is that a great many vehicles we use for freight today are just too big. There is no need to have massive HGV’s ploughing down our city streets because its easier and cheaper to send one of those as opposed to smaller, more nimble vehicles. Companies like Amazon and DPD will send one oversized van each to run all day long along convoluted routes about suburbia, often to deliver small packages to each destination, rather than sending multiple smaller vehicles like cargo-bikes.

When I worked at Waitrose & Partners I got an amount of insight into the logistics processes of supermarkets and other retail companies. Large HGV’s will depart from central distribution centres and stop at two or three stores, in cities potentially hundreds of miles away before returning back, because this was the most cost effective way of distributing goods. Each driver and truck is a set cost so the fewer drivers / trucks per day the better.

Unfortunately this has the effect of adding risk to the supply chain, forcing branches to wait if the truck was delayed at another store, and affecting two or more stores if something happened to a single truck (which happens far more often than you’d think). The only reason this risk is incurred is because larger vehicles are cheaper, requiring only one driver.

This is before we consider the problem of multiple deliveries where different companies run separate vans to the same locations multiple ties a day. Even if the van starts out full, it is still not an efficient system especially when some companies require the van to move within a minimum distance of each stop, even if the driver could just park and walk.

In some cities in the UK you may begin to see cargo bikes crop up. Cargo bikes are bikes with large buckets built in and are typically electric assist (e-bikes). Cargo bikes can hold vast amounts of goods and can often easily constitute a van replacement. As they are bikes the relative emissions and congestion costs of sending more riders out or the same riders more frequently is non existent, and parking is much less of an issue. For a signifiant subsection of small business deliveries cargo bikes can be a logistical revolution.

My Streatham (2019) InStreatham’s Electric Cargo Bike Scheme now available to businesses! (Available at: (accessed 27/04/2022) (2018) Urban Freight Lab will help UPS evaluate its new e-bike delivery service in Seattle. Available at: (Accessed 27/04/2022)
Cargo Bikes can hold other types of ‘cargo’. Amsterdam Bicycle Company (date unknown) Cargo Bike with Kids and Flowers. Available at: (Accessed 27/04/2022)

Naturally there are times when a full sized van might be required, while you can move a sofa with a cargo bike, the effort is not for the novice rider to say the least. However by opening the possibility of new types of freight a range of hybrid vehicles can take the floor. Companies like Amazon, DHL and UPS in the US have been experimenting with cargo bike hybrids for urban deliveries. Even if the bike itself is as large as an equivalent van, it is still far safer and far more environmentally friendly than a van and better suited to an urban environment.

Loading and unloading large vehicles is also possible in areas that are largely pedestrianised. Much of the conflict created by loading on ‘regular’ streets is due to the pressure to keep as much of the road lane clear for cars, incentiviseing parking on the already small pavement and bike lanes. When you have wide pavements and bike lanes, you can more easily allocate space for loading; bike and foot traffic can merge round obstacles easily when they’re not already competing for space.

Here is an example of a recent case in Amsterdam where a large concrete mixer was required on a quiet, pedestrianised street. On a typical car-dominated street this would cause quite the disruption, yet here the intense traffic can simply merge around it.

Even on streets in the UK, bike lanes of sufficient width provide an easily clearable path for emergency vehicles; it is far easier for bikes to be dragged out of the way of an oncoming ambulance than a column of car traffic.

Lycra Clad Men

The reason that most people, when they think of a “cyclist”, imagine a man in their 20’s, decked out in specialist road biking gear including Lycra clothing (this seems to be the feature that stands out for people) is because road cyclists are often the only ones brave enough to be consistently out and about.

They are not the dominant demographic of all people who might want to cycle, they are just the only ones willing to brave the current road conditions because they don’t fear death love the sport that much.

Even for those who brave dangerous roads to commute or make trips to the shops (so-called utility cyclists) are pushed to take on attributes of the “Lycra cyclists”. You are pressured to wear as much reflective clothing as possible, to wear ‘fast’ tight clothing, to keep pace with the motor traffic to limit overtakes, and you’ll probably be hunched over an upright A-frame instead of a more casual step-through. Being asked to mix with motor vehicles you will trend towards acting like one for safety.

If you search for an image of London’s Cycle Super Highways at peak times, you’ll find countless images like this one bellow of packed cycleways, a reflection of what its like to actually be there. This is great! Don’t get me wrong; having congestion on your bike paths is a good problem to have.

However take note the amount of specific cycling clothing vs work or casual clothes, the necessity of helmets, and the upright frames, the concentration on the faces of most. It’s not universal, but many people still often look more equipped for a race than the office or the park.

How people dress and the equipment they bring is an indicator of what they feel they need to be prepared. They tell you about the environment, how safe it is, how safe people feel, and how much skill is needed to cycle there. (2019) Evolution of cycle superhighways in London | Interreg NWE. Available at: (Accessed 03/04/2022)

Now lets look at a random image of Utrecht in the Netherlands (although you could do the same for any city or town in the Netherlands). This image shows a typical rush hour scene in the Netherlands, the only unusual bit being the bike lane is actually quite small by modern Dutch standards.

In the Netherlands you’ll rarely see people wearing “cycling clothing”, most just ware whatever they happened to have on, be that a suit, a dress, or work gear. They don’t need helmets because its completely safe, and they prefer step-through “Omafiets” bicycles which they barely maintain and will actually brag to you about how beat up their bikes are.

Hardley bike-crazed enthusiasts, these are just regular people who have simply chosen the most convenient way to get around.

The most important thing to note is the diversity of people cycling. From little kids to pensioners, athletic and not athletic, office workers and construction workers, confident and less confident, able-bodied and physically-disabled, mental disabilities or none. People with disabilities will often ride recumbent bikes, trikes, scooters, micro-cars and other non-typical mobility aids which they can use on bike lanes.

As one last anecdotal example, here are three screenshots of people cycling caught on Google Maps of our case study roads, the Ayr Road, Fenwick Road and Victoria Road. While this isn’t in any way qualitative evidence of anything, I feel it helps to create an image of the above effect.

The first image is of the Ayr Road prior to any protection being put in. The second is of the only bit of protection caught on Google Maps on Fenwick Road, where we find this second person in red. The last image is from Victoria Road.

Which one of these is the odd one out?


The Ayr road is a microcosm of the transport and urban design situation in the UK.

The result of a combination of half-baked ideas of what cyclists want and need, bollards were added under an understanding that protecting cyclists would encourage the use of bikes, and removed again because the safety of cyclists is not a seen as important to those in charge. It’s brief moment as a genuinely good (not great) piece of infrastructure was more a fluke than a plan, and its value was lost on those who made and unmade it.

Many individuals, governments and organisations talk about wanting to reduce congestion and increase active travel. Some mean it, some just want to look as though they mean it.

When I was in school in the early 2000’s we were surrounded by messaging about climate change and the need to use “personal responsibility”, to solve it. While the insistence on personal consumption is now seen as a cynical marketing technique from the fossil fuel industry, there was at least the acknowledgement that the private car was a contributor to climate change. We were urged to drive less and ask if there was an alternative way we could make a journey such as walking or cycling.

While the message was clear, it was backed with very little real incentive. Much like many active travel campaigns today, the desired result (more cycling, less driving) was shouted over and over again at us, but very little happened to encourage uptake. There is an attitude that a lack of active travel is the result of not making the point well enough or not shaming people into doing it enough.

This image Jon Owen on twitter presents the dramatic irony of active travel attitudes in the UK. Source:

Anecdotally, it seems as though car dependency has become more ingrained since then. We seem less able now to acknowledge the simple fact that the car has an environmental impact, and that we must try to reduce car usage overall. I’m a little baffled, looking at the election material for 5th May 2022 that almost no counsellors are stating the objective to reduce car numbers, perhaps because they know that stating such will garner a negative reaction.

Car numbers have doubled in the past ten years, never mind the last 20, the cars themselves are often less efficient today and are certainly far larger.

Study after study shows that there is a latent desire for cycling and active travel infrastructure in the UK. A recent UK study found that approximately 71% of Brits support more cycling infrastructure, and about 44% could consider cycling more if it was safer.

I’ve always found it interesting how many fellow Brits will cycle on holiday, or strap a bike on the back of a car for a weekend trip. A great many of us have experience cycling at some point or another, there seems to be at least a couple of bikes in every garage in the country. Whenever there is something like a critical mass ride, we come out in droves, with our kids, or on our own. There is a latent desire for more cycling infrastructure and a baseline level of interest amongst a proportion of the population.

What stops people is not (as the consensus when I was at school assumed) laziness or a lack of information of the benefits, it is the lack of safe provisions and stress involved in doing it. It does not matter if cycling is technically safe, if it is stressful, and if riders are not confident in the route then they simply won’t do it.

In Britain, like in many parts of the world, we are contending with a rapidly ageing population. This has a number of implications, but for transport specifically we have a problem where too many people will be unable to age-in-place due to being car dependant. The number of people relying on mobility aids and scooters will continue to increase for the forceable future while we have trains that lack level boarding, infrequent and inaccessible buses, and pavements which are too small and falling apart.

Many of our town centres were retrofit in the 60’s to accommodate the car, ploughed through to squeeze every last bit of performance as possible, and locked in place due to a lack of political will to change them. Increasingly the only political action taken in this country is in an attempt to remodel it based on a vague image of how things were, as remembered by the people in charge.

Transport was, and can be again, a solved problem. The solutions exist, the barriers are entirely political.

We once had tram networks in every city sprawling out into the suburbs and countryside. It was possible to go almost anywhere by a combination of train, bus, tram or coach. Cycling and walking were easy because everything was at human scale and there were few cars to contend with. And all this was before the technological capabilities we have today.

With today’s technology we have sped up trains but now have a saturated network. We have much more comfortable buses but refuse to lay on enough of them. We have e-bikes, scooters and wheelchairs but few places to put them. And of course we have efficient automobiles within the reach of a majority of people.

Rather than mixing modes carefully together so they can work together, we have saturated the land with cars such that even the cars cant move. In the 60’s and 70’s they believed it was possible to design around this problem with overpasses, large car-parks and road widening / clearing, and we now live in the result. If you could talk to the most enthusiastic proponent of the private car and suggest the notion of ‘car dependency’ to them I suspect they’d be horrified. “What do you mean ‘no other option’? Cars are supposed to be liberating, not confining!”

It is time to stop trying to solve the impossible geometry question of one large metal box per person in a space and to let the car do what it is most suited for. It is time to stop beating the dead horse and nievely questioning “Why doesn’t it move? Its supposed to move when its hit?!”, to stop trying to solve congestion with more and more capacity.

By the time the UK looks anything like the Netherlands today the Netherlands will look completely different. A commitment to active travel (or, if you like, intelligent land use) is a commitment to continual adaption and land use reassignment based on the needs of the time.

The Float Tracker: Eliminating Cash Loss Through Data Vis | Waitrose & Partners

The Float Tracker system is an unofficial piece of software to track physical cash levels (also called “float levels”) and provide insights by graphing the data across time.

It achieves this by taking in data from various parts of the cash process systems, providing holistic ‘snapshots’ of till behaviours, contrasted with real world events.

The insights from the Float Tracker allowed us to reduce the overall levels of physical cash in each of the tills whilst actually increasing their ability to deal with unexpected surges in trade.

This post is part of a wider series discussing my various activities as Senior Cash Partner at my retail branch to overhaul operations, eliminating losses, and designing & implementing new processes.

This is a long and context heavy post. You may want to skip to the bit about the outcome.



This post concerns my experiences working in a retail branch and includes discussions of sensitive data and branch operations in order to contextualise the featured project. All information discussed has been carefully sanitised to remove identifying details as much as possible, to completely anonymise individuals and to change some details to appear authentic while being fake and representative. This post written in good faith and should not be taken as representative of real branches, people or organisations.

When I first took on the role of Senior Cash Partner at my branch, I inherited a cash office run by one person (who had just left), 13 cash-accepting tills (5 staffed tills and 8 self checkouts) with weekly cash losses in the hundreds, sometimes thousands of pounds per till.

We would loose hundreds of pounds worth of National Lottery scratch cards every week, numerous prize-draw tickets. Some of our old-style self checkouts (SCO’s) would “eat” notes, sheading them to pieces, cash would be swapped between tills casually by users without the system knowing.

Paperwork was disorganised, investigations were near impossible to conduct or even know where to start, and it turned out that till operator training was more a game of Telephone than a formal process.

The person I was replacing was highly skilled and intelligent, but they were a jack of all trades across the branch and so unable to dedicate focus to the issues listed. It needed someone to focus in and take ownership, making the section “theirs”. The problem was just assumed to be unsolvable.

Lets employ a bit of Socratic method to delve into the issue.

What is A Till?

To understand how a retail unit tracks and deals with cash losses / gains (called simply ‘discrepancies’) its useful to understand a few key bits of jargon and processes.

Once again, the information here is provided to give context and has been generalised to remove sensitive data and organisation specific details. Other retail units and shops will differ but most supermarket chains in the UK can be assumed to have generally similar processes.

Tills come in different forms, these are as follows:

  • Mainline till staffed tills with a conveyor belt and dedicated packing area. Suitable to use with shopping trolleys and only found in the larger branches.
  • Kiosk till which are smaller, more condensed staffed units, with space for a basket and bag, usually serving restricted items like cigarettes, Lottery services, and Spirits.
  • Self Checkouts of which there are a few variants:
    • Security Scale SCO’s At our organisation these were the standard and are now being phased out in favour of more modern designs, the “Skinny SCO’s”. These are old noisy boxes, unintuitive to use with insensitive scanning beds (the bit that goes “boop”). Bing early generation self checkouts they are large, clunky, prone to breakdown and their bagging area security scales slow customers down, cause frustration and don’t have any real benefits.
    • Cash Accepting SCO’s The same as the Security Scale machines but with an extra unit added on the side to accept cash. These can still be found in some branches but are mostly being phased out due to unreliability.
    • Skinny Checkouts Newer units which have no security scale and do not accept cash. These are more streamlined and take up much less space both in terms of breadth and depth. The screen and scanner are mounted on the front casing which can swing upwards to access the computer and a very small receipt printer. These are mounted in line on a continual platform that is simply cut to length.

The COVID 19 pandemic accelerated the phase out of the old style SCO’s not just because of the unhygienic nature of physical cash, but also the sheer amount of time the attendants have to spend maintaining them; unsticking stuck notes and coins, resetting the security scale, all of which restricted customer flow and inhibited social distancing.

I could write a whole post on the psychology of SCO’s and insights based on observation from a couple of years of working with them. If you’re interested in the psychology of checkout design, have a look at this report by my former colleagues at the Design Against Crime Research Center.

We went from having 5 staffed Kiosk Tills and 8 large Cash Accepting Self Checkouts to an array of 12 cashless Skinny Self Checkouts (Skinny SCO’s) and three cash-accepting Kiosk Tills. Once COVID-19 hit, the middle kiosk was taken out of service and remained so until I left the partnership one and a half years later.

The new layout diminished the amount of cash payments slightly, but a compensating effect meant that the remaining cash activity was intensified and concentrated on the remaining kiosks.

How Do Tills Deal With Physical Cash?

Where cash accepting tills are concerned there three ‘types’ of cash held within the unit:

  1. Loose Coins: Held in the cash drawer (the bit that pops open for the operator to give change), separated by denomination.
  2. Notes: Usually adjacent to the loose coins in the cash drawer are the notes used. Typically these are separated by denomination but depending on the configuration of the drawer they may just be bunched together.
  3. Bagged Coin: A bulk reserve of bagged change kept in a secure location allocated to each till. Each bag holds a standardised amount of each denomination.

Should the till run out of a denomination in it’s loose coins drawer, it can be topped up from the bagged coin. Because the change is a reserve, the digital system draws no real distinction between Bagged and Loose Coins; it doesn’t know or particularly ‘care’ what the denomination levels are or how much is still bagged vs loose; its all part of the same lump sum. Remember this, it will become important later.

The digital system not only doesn’t discriminate between Bagged Coin and Loose Coin, but it doesn’t track individual denominations at all, it sees all cash movement as being an equivalent in 1 pence (the smallest GBP denomination).

Factors influencing cash flow in and out

This disregard of individual denominations seems counter-intuitive at first but makes sense when you think about it from a system design point of view. How could a digital system possibly know what combination of change each specific transaction is using? How could it know the breakdown of the cash handed over by the customer?

Perhaps I gave them a 50p piece, or perhaps I gave them two 20s and a 10, perhaps the customer found a 50p, gave it to me, and was given a £1 (an action you’re not really supposed to do but happens often).

There’s ways to calculate what the optimal change should be, but so many factors come into play, which frequently result in ‘sub optimal’ change being given, including but not limited to the following:

  • Customers requesting specific change (e.g. £1 coins instead of an equivalent note)
  • A particular denomination runs out
  • Incorrect change being given accidentality or by malicious actions by staff
  • Customers regularly not accepting small change which then gets placed back in the till
  • Found change on the ground being placed inside the till
  • People performing scams which results in them tricking the cashier into giving them more change.

When accepting cash, the operator inputs the value given to them by the customer, which in turn is used to calculate the value they’re told to give back to the customer, serving record keeping purposes. For an example, if the total is £17.32 and a customer gives me a £20 note, I’ll select £20 from the option list to tell the till what I’m placing into it. The till will pop open the drawer and request I give back £2.68. It doesn’t have any way of knowing how I made that value up.

It’s not uncommon for input errors to occur, meaning that these records are wrong, even though the till balances out in the end.

For instance, imagine I’m a customer purchasing something which totals £5 and I give you, the till operator, a £10 note. The input screen will let you type in the value or select from a list of “suggested” inputs, generated to save time typing “10.00”. You now accidentality hit £20 on the input screen suggested values. The terminal will tell you to give me £15 but you know this is incorrect and instead give me £5.

The record will show the wrong figures but the till is still balanced in the end and I’ve still received the change I expect.


Discrepancies describe the difference between the expected value of a till and its actual contents.

The digital system tracks cash issued to each till, through it’s transaction records it knows how much cash it expects to find once totalled. By manually counting the contents of the till, we can produce a snapshot of this amount and compare them.

Actual Value - Expected Value = Discrepancy

Some amount of discrepancies are inevitable and often self balance; a little bit of change falls behind the till, a customer leaves their change instead of accepting it. A partner makes a mistake and gives too little change, a scammer makes off with some petty cash, some change is found on the floor and so on.

Typical guidelines state that a discrepancy in the range of -£10 to +£10 is acceptable, and that the +-£5 range is very good.

There are a couple of factors which contribute to discrepancies and compound issues relevant to cash processing.

1. A certain amount of discrepancy is unavoidable. Even with perfect actions from the operator (no human error), customers leave a proportion of change behind choosing not to take it.

Sometimes (not often) coins come in that are either damaged or are actually a different currency that slipped through. We got a lot of international traffic from customers coming in from the airports and off of Eurostar so both customer and staff mistaking a euro for a pound was a common occurrence.

Then there is the fact we do not have any operators who don’t make human errors, given that they are humans. Change falls between cracks, sometimes incorrect change is accidentality given, even the old SCO’s would sometimes create errors, this is the imperfect nature of cash.

2. There is no reliable way for the tills to autonomously report on their actual contents. Even if you fitted the cash drawers with scales, cameras, and other features which could auto-measure the amount of cash at any given time, and even if you could guarantee the accuracy and calibration of such technologies, a bad actor could trick the system easily using random objects, fake coins, and slight-of hand.

Then there’s the fact that such a magical self-reporting till would probably last a total of five and a half minutes in active use; despite appearances, a shop-floor is a highly abrasive ware-and-tear environment. Equipment needs to be durable, it needs to withstand constant use, hits and heavy loads all day every day, sensitive reporting equipment would not last.

There’s a reason that consumer printers are still, after so many years, notoriously unreliable. Machines that deal with physical mediums and lots of moving parts in this way require a lot of maintenance and consistency of the medium.

Think of the uniformity and quality assurance systems of an industrial packing machine, churning out tens of thousands of units a day, that require full time technicians to always be present, monitoring vital signs and performing repairs. The little coin scale we used to perform manual spot-checks will frequently de-calibrate and is susceptible to errors if something is touching it or leaning on it.

Considering how customers crumple, un-crumple, fold, exchange, sit on, tear, write on, warp in to non-Euclidean geometry, lick, drop, and rub physical cash over lifetimes that can span decades, the fact that self checkouts are able to run autonomously at all is a wonder. And autonomous, accurate reporting of cash levels is completely infeasible.

Reconciling Discrepancies

Now that we understand how to find a discrepancy, what can we do with the information?

Sessions are digital records which denote a period of time to which transactions are assigned. Typically done per week, sessions allow us to cordon off a start and end date in which to look at transactions in order to defined periods to perform investigations in, explain discrepancies and then draw a line under them providing a “clean slate” for the next block of time.

While it’s possible to close and open new sessions at any point during the week, a branch like ours will typically keep one session open for the entire week, reconciling the result at the end of the week.

This performs the basis of investigations (if necessary) and plans for improvements to hone in on issues, but it also provides a time frame for issuing new change to the tills.

In our efforts to tackle losses, our branch employed an optional operational policy, to perform a ‘spot check’ every day before trade opens. This provides a consistent data stream through the week showing discrepancy change day-to-day. Random Daily Spot Checks (RDSC) can be employed on-top of this to target problem times / days / individuals.

Change demands can be done at any time but are best utilised when they are spaced apart; a till is unlikely to change much between 1430 and 1500 but may be quite different between the hours of 0930 and 1500. The time taken to perform the check and the disruption of closing the till are the determining factor that restrict how often spot checks can happen.

Spot Checks

Spot checks allow partners to gain a snapshot of a tills state at any given time.

Spot checks involve manually measuring the contents of a till and producing a readout from the digital system including, amongst other things, the total expected value of the till’s cash levels. If done correctly, you have a verified data point for a specific timestamp and a discrepancy.

Spot checks involve shutting down the till until the count is completed and the readout is printed. If the till is being used while the digital system is being consulted then the expected readout will not match the actual count. Likewise, if the count has any sort of error, the entire spot check has to be re-done.

Given that spot checks can be done during trade, shutting down a till while customers are potentially queueing is not ideal. Spot checks have to be done quickly and efficiently, and if the count is bad then that time is considered a waste.

Spot Check Record Keeping

Spot checks vary between contexts and branches in terms of how they are performed. However there are consistencies in terms of paperwork which factored into the design of the float tracker.

Values are sometimes recorded on specific float record forms (or just on a strip of receipt roll paper) then the total values and discrepancy are recorded in columns on a spot check form. This form is usually refreshed weekly, with enough columns for each day, however it can be used flexibly using multiple sheets as needed. Recording values sequentially in columns allows managers to compare results and their changes day to day.

These forms are held for a month or so, tucked away in a file, only looked at during investigations and with no long-term records kept.

If you think of an individual spot check being a snapshot in time like a plot on a graph, a group of spot checks together form a picture of changes over time, and the more checks you have in a given period the clearer an image you have of what is going on at any given point.

Of course this assumes you have time to actually look at the data, compare it to other relevant datasets, and make sense of it all.

Change Issuance

Branches will store the majority of their bulk change in their cash office, a highly secure (typically reinforced) part of the building with restricted access to even managers. Our organisation’s policy even states that the branch manager cannot be given independent access to the safe, such is the security of these rooms.

On the tills, bagged coin is held physically closer to the till to which it has been assigned, the digital system having been informed of which till got what. This is typically a very limited amount, enough to cover a single day.

Change Issuance is the process by which bagged coin is assigned to a till from the cash office.

So now we come a little closer to the problem on which this whole project is based, a single question that gets more complex as considerations pile up:

How much change should each till be issued?

And how frequently?

There are so many variables which influence the decision of how much to issue to each till at any given time. The complexity of the interplay between these is the original motivation for the Float Tracker.

First let consider the stakes; Why does it matter? Why do we care? Why not just hold all the cash reserves at the till and keep nothing in the cash office?

If there is too much cash in any given till, it increases the risk of being targeted for theft. This is less about the value of the bags which, relative to the weight, isn’t actually that high, but more about the psychological appeal of a potential thief seeing a large pile of cash and getting an idea in their head.

People can be motivated into stealing by a number of factors, most notably the desperation of the individual and the perceived ease of pulling off said theft. We like to think ourselves moral and “Theifs” and “Criminals” as being a morally compromised other, pre-disposed to evil deeds, but the fact of the matter is that crime is a complicated matter and that any of us, under the right circumstances, can do things we wouldn’t have thought possible.

Risk mitigation factors into the dynamic of how motivations are formed; it sees that once an individual has an idea in their head, the likelihood of pursuing extra-legal activities increases by bounds. It is therefore optimal where possible to stop ‘ideas’ forming to begin with.

While the bagged coin may not be worth much relatively speaking, consisting of a lot of low value denominations, to the right person in the right circumstances, its just a big pile of attractive coin, in a drawer. The weight and bulk of it makes theft ergonomically difficult but this actually doesn’t matter to someone with theft in their mind.

Additionally, having more cash will make the container heavier which will increase the time taken to fill up a till, which very often has to happen during trade when there’s a bustle of customers about. Even if a potential thief figures out that stealing bagged coin is widely impractical, they may still be desperate enough to try and steal it anyway, or they may turn their attention to other aspects of cash processing, wondering where other vulnerabilities lie.

So in short, having too much bagged coin is a very bad idea. The less bagged coin the better.

Having too little bagged coin poses a different obvious risk, that a till will run out of particular denomination during trade. The effect of this happening and the risk factor is, as with everything else, highly variable.

In a basic scenario, a till runs out of a single denomination, and other denominations can be used more heavily to compensate which usually isn’t that big of a deal. However things get more detrimental as more denominations run out. Two 50ps instead of a £1 will not negatively affect a customer to a great degree, but receiving five 20ps or even ten 10ps would be viewed unfavourably by most customers. As some denominations are used more heavily, others will run out faster.

As this situation gets worse, the till may be forced to close which can put real pressure on busier stores at peak times. Alternatively a mid-day cash issuance could be performed but this poses obvious security risks, trailing bags of cash across the shop floor.

So What is The Optimal Amount of Cash to Issue?

As you might expect, the individual denominations do not go down at the same rate. But more than that, the relative rate at which each denomination increases (or decreases) changes based on a range of factors that are difficult to pin down:

  • How busy is the shop?
  • Are there local events on such as a football match which might increase the proportion of cash-users (what proportion of pasangers coming through are on commute and how many are recreational)?
  • How familiar are the local clientele with Self Check Outs?
  • How willing is the local clientele to use card?
  • What is the physical position of the checkout?
  • What is the staff preference concerning this checkout?

Its a very difficult question to answer with no fixed way of deciding, relying largely on the intuition and experiences of a given cash partner to know what worked before and make a judgment.

An Example

One of our tills, numbered 301 is favoured by partners versus 303 because 301 is closer to the door while 303 is tucked away in the corner meaning that in a pinch, 301 is more accessible than 303.

During the deepest Covid lockdowns when we were the only retail unit in the station open, basically only to serve Network Rail and the train crews, the £1 coins would deplete at a vanishing rate on 301, and slightly slower on 303.

As trade increased, this began to slow until the tills would both break even, hardly using their reserves of £1 at all, because the number of customers paying with £1 coins would equal the amount given in change.

Then, as trade continued to increase, 301 would end up depleting its supply of £1 again while 303 would toggle back and forth between staying level and increasing its supply.

If we charted this be behaviour it would look something like this. Not real data. Not to scale. Hopefully obvious.

The Outcome


Data Driven Actions

During my work as senior cash partner it became quickly apparent that improving cash processing and solving operational issues for staff on the tills was an issue of data visualisation. We knew what the symptoms of the problems were but could not effectively pin down when they were happening, what factors were influencing them, what timescales and processes to investigate, and what to make of the various sources of data we had to work with.

Once a few big easy-target issues had been dealt with and the dust settled a little, patterns emerged which pointed to processes which could be improved.

Its worth re-iterating at this point that malicious theft is only one portion of any problem and usually quite easy to track; practised thieves operate in a pattern, their actions align with a given shift pattern (scammers will target individuals), and they tend to get braver as more time goes on and they believe they’re going unnoticed. In terms of data-visualisation they tend to be quite a “noisy” data stream.

More difficult to track down are the common mistakes made innocently which are far more common, areas where partners do not realise that their actions are causing issues, tracking scam runners and conditions that cause people to rush and make mistakes. This can involve process changes but can also involve talking to people one-on-one, re-training them if needed, while being sensitive to not make the individual feel infantilised or like they’re in trouble. Having a good “case” built and plan thought through is a pre-requisite.

Manual Tracking

Never underestimate the power of a spreadsheet.

The first iterations of the project involved filling a Google Docs spreadsheet with data including the total float levels and discrepancies. The immediate effect was being able to see, for the first time, the long-term effects of new processes & changes and enabled me to convince management to invest the extra time and effort in more frequent checks.

However this required a lot of manual work from entering the data, transforming it, updating the charts, changing the titles, exporting the PDF’s and stitching the PDF’s together in a format that could be used in the end of week report to the managers.

It was also difficult to sample specific date ranges and to jump between time periods because of having to manually change the charts ranges. The whole process is very manual start to end.

Data Clumping & Scale

Spreadsheet data is quite flat; even if you have a large dataset it is difficult to get a sense of scale from a list of entries, compounded by the issue of charts showing one date range needing an awkward update to its settings to change.

With a linear list of data, it is often difficult to get a sense of scale; if you have 6 data points for Monday, one for each other day except for Thursday where you have a cluster of 3, it’s difficult to get a sense of till behaviour at a glance when they’re all just in a list.

Charts generated can, with configuration, display time-adjusted series but this adds time to setup and can sometimes complicate the issue of exploring specific ranges and mixing series’.

I squeezed as much as I could out of the spreadsheet but the more weeks passed, the more tedious the process of imputing the data, updating the relevant charts, exporting the PDF’s and compiling the reports became. The the data itself was stored in the sheet which got to be unwieldy and wasn’t a long term solution.


I decided that a small but versatile application could not only eliminate the hassle of this multi-step process but could enable users to quickly explore long term data and speed up the process of Random Daily Spot Checks.

The basic brief was to design something to be built quickly and achieve the following aims:

  • To be a central repository to track a branch’s spot check and float level data.
  • To give insights into till behaviour over time and with reference to recent events (like station closures, football matches etc).
  • To allow cash office partners to reduce overall till float values to optimal levels by observing recent behaviour and comparable contexts.
  • To follow a principle of data abundance and the adage “more good data overrides bad data”; users can quickly input counts with no authentication, the occasional mistake or bad count overwritten by more counts and an authorisation process by an authorised user later.
  • To look and feel like any other digital system the staff might use, to share a common visual language and design patterns.

The system should be robust, designed for non-technical users and offering no impediments or blocks in the high-paced, pressurised environment of the tills. When you have to shut down a till and occupy another partner’s time to supervise, you can’t wait for redundant animations to finish, for a lag on every enter-key press, or for the app to hang because the connection dropped.

Count Classifications

The application centres around it’s main data type: Counts. A count represents the result of a single spot check, either a full check or a partial, and can be saved in any state of completion. The server uses a classification system to sort incoming counts and present them in different ways on the front end.

  • Unverified: A count which is submitted with expired authentication or a low-access-privilege user which must be authorised by a higher-privileged user.
  • Incomplete: This is a count which does not have enough data to be included in the data-visualisation areas and analytics sets.
  • Partial: Some counts include sufficient data to render Bagged Coin can be used for some of the data visualisation but not for the full count. Counts with complete Bagged Coins but missing other details are classed as “partial”.
  • Complete: Counts with all values present and submitted under sufficient authentication.

Authentication Levels

To facilitate this data input system, a privilege system was designed to control which actions a given user is able to utilise. For my branch’s use I defined three roles using these privileges, ‘general user’, ‘cash partner’, ‘managers’, but in theory any number of users could be defined, one per person if you liked.

  • Standard User: This role has an empty string for a password that only has basic write abilities; counts submitted are saved as “unauthorised” (which really means ‘unverified’) requiring a cash partner or above to approve them. The lack of authentication is a strategic choice based on evaluation of how much damage a malicious user could do.
  • Cash Partners: This role is for any trusted partner, someone who regularly performs spot checks. This role allows the submission of fully authorised counts but still cannot remove data, only mark it for review.
  • Managers: Includes senior cash partners and management who oversee cash. This role has all write, update and delete capabilities for all data types. This role has a much longer password and quick session timeouts.

Design Prototyping with Figma

Learning from a couple of projects which preceded this one, I was adamant that this project would be designed upfront with prototyping software, fully thought out and with strict adherence to brand design given it’s context within the shop.

My previous projects immediately before this one involved building a clone of an old Microsoft Windows game in which I focused on building the engine and algorithmic structure first, thinking about its layout, interface options, look and feel, use context and other details as I went along. After all, the engine and mechanics were the thing.

This wasn’t necessarily a bad ideas but as time went on this lack of direction towards a single, clear end result (beyond replicating the main functionality of the game it was based on) created problems given that some of this functionality is tied to, or influenced by, the desired look & feel. Continually stopping a train of algorithmic work to come up with an interface idea which will potentially be rehashed later is an impediment that slows progress a lot.

Figma is a fantastic tool for design and prototyping, I had already used it for numerous pieces of work including Tailored Nutrition, Mosaic, lots of client work, and the redesign of this site. It allows you to pour thoughts out onto a page like a digital scrapbook but also to create mock-ups which look identical to the equivalent HTML and CSS. Its fast and versatile with a very low learning curve so check it out if you haven’t already.

Brand Analysis

I began by collecting material relating to the branding of Waitrose & Partners, first looking at the official brand guidelines, core colours, and examples of where these are used in existing digital sources such as their websites and internal applications (not pictured here for security reasons).

Beyond the core colours I wanted to look at the other pieces of tertiary branding such as the “Give a Little Love” campaign which was in full swing at the time, and other commonly used colours. I was particularly interested in how white-space was filled and how contrast is used.

It was important to me that the app feel a part of the eco-system, that it read to partners as a Waitrose app but I didn’t need to stick to the brand too exactingly; other sources take liberty with specific colours.

I had a rough idea of the layout that I wanted, it had to focus attention on the man content but also allow the user to jump between areas quickly so I decided on a side-bar based navigation layout with page titles and page-specific details on a bar running along the top.

These decisions were decided in response to one of the main applications I dealt with in my cash-office duties. This application, which we will call Flint here, presented users with an empty page and left-aligned top-level menus. On click, these presented cascading drop-down menus to get to the individual section you needed. This section would then open up in a new window, meaning that the main page wasted 90% of its space while still requiring the user to navigate tricky cascading menus.

I knew that the app would involve a fair amount of lists and large vertical input forms so a side-bar layout eliminated the need to handle a top-level navigation.

It was imperative that the application stack and / or hide its complexity behind intelligent design as much as possible, it had to focus the user on one “thing”. As discussed in the context section, most of the users are non-technical and the use-case environment may be high paced so distraction, confusion & clutter is completely unacceptable.

The diagram bellow shows an approximation of how Flint’s main page looked, although in reality the menus are about half the size shown here making them difficult for even able-bodied users to interact with.

Bellow is a hypothetical refactor of Flint with the exact same content. A clear separation of concerns focuses the user on the main page content, tabs are used to keep everything on show at once but these could easily be cascading menus or even a drop down / sliding drawer, just so long as the content is larger.

Not only is space used more efficiently but large amounts of overflowing content can ba handled far more effectively than before. This basic layout shows what the original design for the Float Tracker based on.

I then iterated some layouts and colour combinations to settle on the look and feel of the application.

After deciding on the layout system, I designed the main pages and user-interactions. I wanted the user to land on a list of graphs to communicate recent levels across all repositories and then click into each graph to show the inspector view for that repository. We also needed a central list of counts which should be filterable, and a reusable component for entering a new count and editing an existing count.

On top of these there would also be pages for managing the data types; users, repositories and partners. A User is local to the application and controls authentication and authorisation while Partner represents the till login number and name of am actual person and is used to sign counts. These pages were low priority given that the application could run with manually updated seed data.

A persistent “Add New” button was added to most screens to allow users to quickly jump into a new count irregardless of the current state of the app, the button was placed and styled to create an association with a common design pattern found on platforms like Twitter and Tumblr which have similar features.

Modals were selectively used for many Create Update and Destroy (CRUD) operations in order to keep the user ‘in place’ and to help with component reuse. With actions like deleting a count, a reason must be recorded and the user must identify themselves by selecting their till number, creating a compounding complexity of forms on top of forms so modal pop-ups are used to simplify these interactions and to bring the user back to their starting point on exit.

Theme and Component Design

Once I had hashed out the layouts and user-flow, I gave a pass over each frame to ensure consistency between colours combinations, text sizes, margins, drop-shadows and so on. From this it was possible to define named colours and a set of “basics” colours which replace the native browser named colours like “red” and “green”.

Another feature I wanted to try for the first time was the implementation of a “dark mode” and “light mode” theme, up until now all of my applications picked one style and pretty much stuck to it.

I took my primary inspiration from GitHub’s dark mode which appealed to me with it’s use of neon colours; at the time I was still not much of a fan of dark modes. One of my main issues with the way that many applications / sites implement dark mode is that often there are contrast issues, the contrast levels either being too low and difficult to see, or detailed elements like text being too bright and sharp, straining the eyes. Sites like GitHub that get it right largely do so because they solve this issue in particular.

I was keen to find areas where the same colours could be used for both light and dark modes such as the gray used to outlines and borders on inputs, the red warning text, some buttons etc.

I collected the common elements into one place and added other components which might be used later and collated them into a component library.

Tech Stack

The base of the font end was a React-Redux application for performance and data sharing between different elements of the state. React context was used heavily for local shared state for things like count editing and the inspector views. The application is a single page app using React-Router’s hash router given it’s ability to port to React Native if that option became desired later.

This project was also my first big typescript project, using the typescript create-react-app template for the front-end and a custom typescript setup for the back-end.

The back end is an express app secured with passport.js for authentication. There was no hard plan for the application to be used outside my branch however the idea that other branches could hypothetically spin up their own instance was important and so there was a plan to dockerise the app.

The app used a component and CSS-in-JS framework, unusual for me, with Emotion and Chakra. I was not amused by it. See the later sections for my thoughts.

For the back end I was keen that to use a SQL database, moving away from MongoDB; I was happy with my Mongo knowledge and realised I was lacking practice with SQL which is still more flexible and widely used in industry. I designed the data tables in Lucidchart’s diagramming tool with the entity relationship package, which you can view here.

To build the database, handle migrations, and build SQL queries Knex.js excels, allowing you to chain functions together representing the components of a SQL query in nice familiar JavaScript. Objection.js is an ORM (object relational modeller) is built on-top of Knex and allows you to build models and define database entities to interact with your database. It provides a comfortable middle ground / bridge for developers more used to things like MongoDB.

Chakra & Emotion

This could also be an entire post in itself, and may be some day.

This project was an opportunity for me to push myself to use new technologies and deviate from my typical tech stack. One such area I had previously been staunchly against was the idea of using a component library framework. I’ve used component libraries in the past but only for specific needs like date-pickers, the majority of the components would be custom made and the main layouts and styles implemented with CSS / SASS.

I was inspired to use Chakra.js, a component library built on-top of Emotion.js, one of the most popular CSS-in-JS libraries.

Chakra lets you pass props representing CSS attributes to your components and is touted to be a convenient way of quickly writing CSS. I found it to be a somehow even worse implementation of the already misguided utility-class method exemplified by Tailwind. This is definitely getting its own article at some point.

However this alone is not enough for me to not give Chakra a fair shake, what killed the experience for me was that a) Chakra is inconsistent on how controlled components (like text inputs) handle change events. Never before have I spent as much time fighting with an input to behave in the way I expect or trying to figure out if I should use <NumberInput /> or <NumberInputField /> .

The second thing was b) There was no date-picker. What’s a component library without a date-picker? Jokes aside, Chakra will frequently lack components that you would expect to be featured by default, and are the reason you use a component library in the first place.

You’ll be getting along fine, using <Box /> after <Box /> wondering what the functional difference is between just writing a regular <div /> and writing some CSS like a normal person, and then Boom! Stopped in your tracks and searching through another article listing component libraries which will need to be stylised and add bloat to your package size or through inscrutable documentation.

You become a designer for the framework, focusing on it rather than benefiting from it working for you.

React Vis

There are a number of chart options when it comes to a React application, I won’t go through a full breakdown as that could also be a post in itself.

D3 is still my preferred option for data visualisation but it is tricky to use alongside React given that it works by injecting data into the DOM and performing transformations progressively to said data. This poses a problem given that, strictly speaking, any manual DOM manipulation within the React app is an anti-pattern.

If you just search for “react d3” you’ll find many articles and an unmaintained ‘React-D3’ library which attempt to integrate D3 with react. Almost all of these will make the mistake of simply placing some amount of D3 calculation logic in useEffect’s and then simply placing the output in the render method, violating the basic benefit of using React and frequently causing unnecessary re-renders.

Some libraries such as chart.js calculate the output of graphs behind the scenes and then render the output to a canvas element. This eliminates the DOM manipulation issue as the library can track changes and is effectively providing the framework with an image to paint on each render.

The drawback is that you loose out on the flexibility of D3 and are locked into preset graph options and whichever configuration settings your chosen library supports.

Then there are libraries like React-Vis which lay somewhere in-between; they provide wrappers for pieces of D3 functionality that are designed to be used in a compossible manor.

React Vis was made by Uber and was the library I chose to go with after research as I felt it was the best all-round compromise. Its compossible components are rendered intuitively in the JSX and can be configured by passing props, which I feel is much more in keeping with the style of writing React components than calculating and building a configuration object and passing it to a single <Chart /> component, but this is of course personal preference.

Good chart libraries usually already provide combination charts but what’s nice about the React Vis method is the ability to simply bring in a LineSeries or PointSeries and place it in the JSX. Want to get rid of the Y-axis? Just delete it! No need to scour the docs to find the right option to turn it off.

This is still a compromise, far from perfect, and I would still consider all available options per project but until someone can properly integrate React & D3, a good compromise is the best you can try for.

React Context and Reducer Hooks

This type of application has a number of areas where a large amount of shared state is used by several components but is still too localised to be put in the global Redux state, the app can be thought of as a collection of mini localised unit-applications that communicate with one another. The two most prominent examples of this are the count edit / add form and the inspection viewer.

With this type of situation the temptation would be to hold all the state logic in a top-level component and pass the necessary data and callbacks to each child, which can then pass them down as needed. This introduces a number of issues and inconveniences not least that these types of prop-drilling and callback trees are the problem that Redux is supposed to solve.

In addition, when child components need to perform data computation and complex algorithmic work, the top level component becomes bloated, loading and perform data parsing at inconvenient times and when the consuming component is unmounted.

By combining the React context and the hook useReducer we can create a Redux-like experience without exposing unnecessary data like mouse positions, series highlights and tooltips to the Redux store unnecessarily, and does so in such a way which compliments typescript.

useReducer allows us to dispatch actions to a reducer, just like with Redux, and have the reducers make immutable changes to a state object. Placed within context, each component can access the state object and access the sections it needs and dispatch modifications as needed.

By using enums for the action types, and action creator functions, enforcing type conformity is easy. By extracting the reducer, initial state, action creators and action types to their own Utils file you can create a separation of concerns and import what you need in each component.

Notification System

The application has a notification system built in, initially intended to provide the user visual feedback on a save action.

The implementation is fairly simple; an invisible layout is rendered over every page, it subscribes to a list of queued notifications in the Redux state. Each notification is represented by a standard object with options that specify how the item should render and a time property which, unless the notification is specified to be persistent, will define the amount of time before the notification self-dismisses.

Some notifications have links or actions which will dispatch events to change the state of the application (like redirecting the user to the inspector view with preset options). There was provision to have some notifications stash themselves in a drawer for the user to view again, similar to how many operating systems implement notifications.

The advantage of this system is that the notification can contain anything, it can render with a particular colour scheme such as a blue “information” for external events that the user may want to be aware of, a green “confirmation” for things like confirming a successful save, and a red “warning” for negative side effects like a network error.

This means that anywhere in the app I can write a simple dispatch function, pass in the required and optional props and have a notification appear. Notifications slide in from the side on top of any which are currently rendered, as others are dismissed the stack drops down. When the user mouses over a notification the expiry timer is paused.

Inspection view

While the main landing page graphs provide a brief comparative view at a glance, it is the Inspector view that provides users the ability to pull the majority of insights.

The inspector view allows users to quickly jump through date ranges to get a snapshot of the tills state and judge it’s behaviour but also to drill into specific counts and compare the change over time.

Date ranges

The date ranges allow users to filter the queried data and regenerate the graph seamlessly, with a minimal load time. It defaults to showing the last four weeks of counts but can theoretically show any time frame, given that the application has no gauge of how many counts exist in a given stretch.

Data Inspector and Series Selection

Two tooltips allow the user to interact with the graph, the first showing overall details for each count such as the date and float total (although the version in these screenshots here only show the timestamp).

The ‘local’ tooltip shows data for the specific data point and can be clicked to highlight the series to make it stand out.

The information is already distinguishable from other elements on the graph including the time series, the height of the point, the series colour guide etc. The the tooltips allow users to focus their attention and explore from point-to-point, without having to jump back to the series labels. This helps simplify what can be a complex array of data.

Series Adjustments

The inspector has two modes, one which shows just the Bagged Coin and another which merges Bagged Coin and Loose Coin by calculating the effective amounts.

Bagged coin has the disadvantage of being uniform in value; you’re never going to have more than say 10 bags, the bagged coin will usually be somewhere between 3 and 6 bags. This poses the problem of overlapping points and series, which are difficult to read.

The “adjustment” feature calculates the relative amount of each value and changes them to offset by a set amount. Each series will receive an “offset”, a value which it uses to change the vertical placement of each point, the series are then clearly visible as being in the same position but distinct.

Of course, the series could swap positions every step between counts creating a “leap frog” effect, but chances are such that a given series will remain above / bellow another for a period of time.

The following examples show situations in which an ‘adjustment’ is useful, and where it can conflate issues (see the left side in the third image, the series begin to look as though they are on the next line). These images show the same datasets, the first has no offset, the next has a small offset, the last has a large offset.

The series algorithm will alternate between offsetting positive values and negative values, for example, the first item will be offset by +5%, the next by -5%, the next by +10%, the next by -10%.

Shadow Points

Given that there will be between 8 and 20 values, it makes sense that the series lines and points would be small, this poses an issue given that small points are difficult to focus on with a cursor.

The app renders “shadow points” behind every actual point which provides a larger target area for pointer events, meaning that its easier for users to hover and see specific details on the tooltip.

Count Input

The component used to edit and add counts is the other heavily used section of the app. The same large component makes up the majority of the page and so the distinction between the ‘edit’ page and the ‘add new’ page is whether data is pre-loaded into the state.

In fact, when adding a count, the first save will redirect the user to the edit page with minimal perceptible effect to the user.

Count Validations

The validation functionality is used to perform two main functions, certifying that a count has enough data to be displayed alongside other counts, and to categorise the count into the completion states; “incomplete”, “partial”, “complete” and “unverified”.

Both the front end and the back end use a validation function, and unfortunately for me that meant keeping the two in sync manually, copying changes back and forth depending on what changes I needed to make. The front end uses the validator function to warn the user of the current state of the count and to attempt to reduce re-saving.

The back end is more strict and must use the validation to change how it saves each item (or perhaps not, should it fail certain checks).

Number Steps

The input components for bagged coin, loose coin and notes are all reusable, they normalise values into their pence value given that 1p is the smallest possible denomination. All calculations are performed on the pence value and validated by calculating valid “steps”, e.g. a 20p input will go into an error state if it is given the value “£0.30”.

The first image shows how the reuse of the single input for a loose coin series, the second shows the logic used to add trailing zeros to the display value when the user tabs or clicks away.

User Selector

By the rules of the partnership, each count should be performed by at least two people, the ‘counter’ who performs the count, and the ‘supervisor’ who observes the count without interacting (they may write down the values or help out in another way).

The input allows users to select their name from a drop down list or type to filter the results. This matches not only the user’s first and second names but also their till number and initials meaning that however the user tries to identify themselves the system will try to approximate who they are. This is helped by the fact that there are a limited number of users per branch so the result matching can be quite loose.

The user can then click from the drop down or hit enter to select the top result.

Submission Panel

The form presents users with three buttons to submit the count, “Save”, “Save and Close” and “Save and Next Count”. This form is set to a sticky positioning at the bottom of the page meaning that it will display at the end of the form if the form’s end is on screen, otherwise it will pin itself to the bottom of the screen.

“Save” saves the count and displays a notification while allowing the user to continue entering data, “Save and Close” does the same and re-directs the user to the list of counts or back to the page they were on (only available for some locations), “Save and Next Count” saves and redirects to a new count.

In the Real World

You’ll notice if you view the app that its a bit rough around the edges and even missing some sections, not least because the branch on deployment is behind the main branch due to embedded sensitive data that I don’t want to put on GitHub.

Perfectionism was a real impediment working on this project, it was never finished and I was admittedly shy to show it to my colleagues before it was “done”. Ignoring that it will never be ‘done’. I started using it in March of 2021 and kept it mostly to myself at first.

I cant remember what prompted me to show my colleagues but I’m glad it happened so soon, the best antidote for perfectionism, and the assumptions and lies it plants in your head, is to expose it to other people. My colleagues were impressed and eager to get their hands on the app.

We never got to the stage of actually imputing numbers on location at the tills during a count, but we were able to input the data into the shonky, half-built graphs, and pull a number of key insights despite it’s half finished state.

The app made the end of week reporting so much faster for me and was used to track down a new scam which had just cropped up and was evading us at the time.

It allowed a massive reduction in float sizes and for us to find ways to build resilience into each till preceding events which were happening around that time. This included the run up to 17th July 2021, the day in which all Covid protections, including basic things like mask-wearing in indoor public places, were to be prematurely removed in England (but not the whole UK). This was a period of rising trade, beyond pre-covid levels, and further uncertainty about what the developing behaviour from the public would be as we moved into the next phase of the pandemic.

By the time I left the partnership in September 2021, the tills had held steady at a discrepancy of +-£10, the “very good” band of operations, something we had all assumed was a goal achievable by any branch except ours, an exceptional outcome for the project.

Still a little bummed I didn’t get my consistent +-£5 though.


App professionalism comes at a time cost

As pleased as I am now by the way this project turned out, I cannot deny that it became a monster incarnation of something which in all rights should have been smaller and faster to produce.

I felt that this project took an inordinate amount of effort considering the relative simplicity of the outcome; “how come this app is not really more complex than my past projects but took longer?”.

Well, one explanation is that being an essential worker during a time of global crisis an having to interact with costumers every day who seem to flip-flop week-to-week between treating you as “the hero’s keeping the work running” and “just shelve stackers who are not bringing me service fast enough, Covid is over now don’t you know?” has a detrimental effect on one’s mental health and creates burnout.

Another explanation is that this application brought a level of production maturity that pervious works such as the chess app just did not have. A project like this had to be a showcase of skills built up until this point and deigned as though it were a production app to be maintained by the organisation after I left.

Many of my projects until now had had a focus on a particular core aspect like algorithms, a game engine, CMS functionality, etc. This one had to do everything from brand identity to a user and consumer focus, to new tech stack changes, to security concerns and so on.

In retrospect, a lighter, more stripped down version of the app could have been produced faster to begin generating insights long before it got to its current state.

Typescript should be top-down

My next project, following on from immediately from this one, was the Scratch Card Tracker app and re-used much of the tech stack from this project, with a number of improvements.

Given that this project was my first big typescript project, the most noticeable improvement in the Scratch Card Tracker was the quality of typescript used.

The Float Tracker suffered from inconsistent use of typescript standards with many instances where TS wasn’t used or where there was an abundance of any and unknown declarations to get the project moving again. This is somewhat to be expected from people new to typescript or new to strongly typed languages entirely. Unfortunately it creates a feedback loop as the more weakly typed a section of code is, the more brittle connected sections of code become, and the more you feel the need to just drop an any and move on.

Starting The Scratch Card Tracker I defined data-types from the beginning such as Actions, State types, ColourSets, Counts, Games (series), and stored them in a central file (although I must acknowledge that there are opinions about how to handle global typedefs but who cares frankly given how closely tied all the functionality of the app is, I saw no reason to not just import them from a types.d.ts file.

Having core data types right from the beginning meant that sub-components inferred stronger types (where TS “figures out” the type of a variable from its source) and so made more strongly-typed bindings, meaning the incentive to use ‘cheats’ like any were reduced. Strong typing cascaded from the top of the app downwards instead of having to be retroactively applied by adding them lower down and following the error stack slowly upwards.

This is not to say that having set data types is the answer to all the woes you might encounter with typescript, and there are certainly times when it is useful to just remove type definitions, but it’s worth thinking about areas where you can introduce strong type definitions from the beginning and cascade them downwards rather than getting caught out later on in the development process.

As a general rule, if your weak type bindings are lower in the component tree / call stack then you can probably get away with it. If there are weak type bindings at the top but constantly strong bindings later on then you’ll typically be alright but may run into some issues. If the type binding is chequered or has an area of weak bindings ‘half way’ all hell breaks loose. Lastly, if you want strong type bindings later on but none higher up you might as well walk away and go a bike ride or do some painting instead and never touch the project again.

This diagram communicates my general thoughts on type-bindings; consistency is key, and it is easier to put strong typing up front and become loose later than to try to introduce strong typings later.

Proper prototyping is essential but don’t get bogged down

Beginning this project I had a good idea of the necessity of prototyping, but I think I had slightly inflated ideas about how absolute a design could / should be before actual work can begin.

In an ideal world it would be possible to design every component, every component combination, every colour, every modal and every page / state and so on. In reality, not only is it not worth your time to mock every single modal, so long as every base piece can be found elsewhere and the general user flow is thought through.

In addition, there will inevitably be changes that come up through the built and UAT feedback process, its just what happens. You’ll find yourself going back and retroactively adding features to the design from the real deployment and diverging from the design.

Going forward I considered the prototyping phase to be essential but also sought to view it as a starting point for the project, to eventually be jettisoned and to grow beyond, not a strict rulebook to be bound to.

Stop trying to find a way around it and just write the CSS

Alright, I admit it, I am biased against component frameworks.

However I do still maintain that there is a right way to build a component library / framework and there are about 12 wrong ways. Perhaps a framework is inherently a compromise, that there will never be a “perfect” one because each will invariably have to choose from a set of trade-offs.

I’ve since worked on teams using Material UI, an implementation of Google’s Material Design system which has a range of it’s own problems but is rarely as blocking as Chakra was to work with.

MUI has a wide-ranging set of components out the box, very often we were surprised at how often a desired feature was present. It’s various methods of writing CSS-in-JS are still sometimes a pain in the backside, but I do appreciate that they’re trying to cater to a wide range of audiences and seem to do so well.

Ultimately though the source of much of my frustration comes from the fact that much of these technologies seem to be convoluted 5-dimensional-chess manoeuvrers to avoid just writing some CSS.

I understand the drive to encapsulate pieces of styling instead of having enumerate SASS files compiling into a global CSS sheet which then causes unexpected conflicts between components but, for fear of sounding like a stereotypical pensioner whining about “back in my day”, I can’t help but feel the solution is to just write better CSS?

We ended up having to define quite strict standards for setting up the ‘theme’ in our projects in order to try to standardise styles between components, and encountered situations where two unrelated components should look alike but diverge slightly, because at some point a chunk of CSS was copied and pasted and then unknowingly conflicted with something else in the page. Encapsulation moved from being the thing that enforces consistency to an impediment to consistency.

Every time I find myself tracking one of these issues down I cannot help but think to myself “what if this was just a SASS variable, wouldn’t that get rid of all this? Is this not a solved problem already?”

Anyway… get of my lawn you darn kids! And take yer no-good gadgets and googas wicha! I got my SASS runner and I like it! *harumph noise*

Trying to prove a point with code.

There is no project which exists outside of a context and a human story and this was no different, there’s also a reason I’ve struggled to get round to writing it until now.

I’ve joked at several points about the mental and physical stain and burnout of being an essential worker, in a retail unit, in a station, across the Covid pandemic (at least until I left in September 2021). Putting the jokes aside it has had long lasting effects and I’m not sure any of my colleagues or myself are quite the same people we were before it all started.

At least through much of 2020 we had the sense of urgency and emergency which stood to validate the stress of the work; it was tough but we had a duty to perform and were up to the task. By 2021 we were all severely burned out and it was showing, the camaraderie and “we’re all in this together” of the past was gone and the continual flip-flop between people taking Covid seriously and acting as though it was all over (and definitely not coming back, this definitely isn’t the 4th or 5th time we’ve said this) was compounding the issue.

We can’t disconnect ourselves form the broader context from our work and it is clear to me now that this project, and the ones to follow were a way of dealing with the trauma, frankly speaking. I could work on something which gave me a sense of achievement, something to focus on rather than the outside world, and something which I believed was a logical step up to the next phase of life, Covid or no Covid.

I believed in the partnerships mission and had the idea that I could use this and the Scratch Card tracker to get my foot in the door at the partnerships head office, driven in part by the belief that I was not qualified enough to just search for a development job outright (a strong case of imposter syndrome).

This would also helped create a bit of narrative consistency; I would use my position in the partnership to improve the branch, leave behind a lasting legacy, and then move into a developer job within the same organisation which could not have been obtained otherwise. This, it was felt, would justify the hard work, the sometimes back breaking effort, and the lack of any meaningful break in over a year, and ‘make it all make sense’.

In reality, while my skills were benefited by the project greatly, this project and the Scratch Card tracker were not even on my portfolio when I applied to my current position, and the partnerships head office rejected my application outright; they needed the team leading experience more than the specific skill-sets.

I was so deep in my own little world, head down, just trying to get through each week that there was no time to stop, take a breath, and think rationally.

The thing that eventually ‘snapped me out of it’ was my living situation falling apart; my then flatmates turned abusive and threatening before trying to kick me out and I had to pack up and move back to Glasgow to bunk with my parents. I was out of options, and probably on the verge of a nervous breakdown (yeah that was a fun couple of years, I love London really…).

It feels as though every one of my posts in recent years has ended with a section about burn out, but this had an air of finality about it. The reason I was so engrossed in this uni-linear career / escape plan / escapism, and the reason I was so attached to the partnership was because it created that narrative consistency; it meant I was working towards something when, in reality, I had all that I needed to get my current position from about mid-2020 onwards.

In retrospect it is easy to say that we all (myself and my team) did good work irregardless of context and irregardless of appreciation, that the time spent making these improvements and pushing each other was not wasted, and has had lasting effects but that thought doesn’t help when you’re in the midst of it.

Still, if there is anything in this which you think resonates with you or someone you know, take this as the ‘red flag’ sign you’ve been waiting for.


In November 2018 I completed one of the 30 Days of JavaScript projects completing the challenge and gaining a great boost to my skill sets early on.

The #JavaScript30 is a 30 day challenge by Wes Bos, It comprises a series of mini-projects and exercises to look at core JavaScript features and browser API’s.

The challenge is to complete one challenge a day to a minimal standard and to use no external libraries, frameworks or compilers except for surface level aesthetics like fonts.

Since completing the challenge I’ve steadily upgraded and polished-off each project, striving to give each a unique twist or aesthetic.

If you’re new to JavaScript or looking to brush up your JS fundamentals I would highly recommend giving the #JS30 a go (with the free course), even if you’re experienced, you might still encounter some things that’ll surprise you!

Cloud Notes

A hyper-simple note taking app with auto-saving and cloud storage, inspired by OneNote.

With React-Redux on the front end for single page app efficiency, this app utilises local storage and MongoDB to allow the user to resume their progress on load but only save what they actually need. Security with Helmet.js, authentication with 3rd party Oauth2.

showing the tag filter
A simple tag system allows notes to be grouped and recalled quickly

I wanted to flex my new skills in a project that was clean, followed a structured project plan, and solidified my learned findings. I also wanted to mature some of my visual design work given my tenancy to flip back and forth on a design theme and make stuff up as I went along.

This app was built after projects such as Pinapathy and the Stock Price Viewer. I was proud of the things I had done and learned but still felt uneasy given how much I had to wrestle such things as getting Passport Oauth to work with React.

the notes menu being interacted with
An example of matured responsive UI feedback; in the past I would toggle between items going lighter / darker on hover, on click etc

The code structure such as the server routes and packages needed, as well as the front end components and application structure were planned in advance, I was able to successfully reconcile some of the things that bothered me with the previous projects, and I achieved my goal of a super “clean” app, even if it’s functionality was not much of a push on my skillets as I would seek out in later projects.

drop menu being demonstrated
UI features such as a drop menu which closes on out-of-bounds clicks and an unsaved-changes indicator.

Simon Says

A virtual Simon Says game replicating all the functionality of the physical toy. This project was useful early on for learning about time-based functionality, HTML sounds, and tasteful machines.

Simon says is the classic game where a sequence of lights and corresponding tones is played at you and you repeat the sequence back to progress to the next level. Starting at one beep, every level adds to the sequence building up until you eventually trip up and cannot remember what comes next.

large image of main view

This might seem like a simple device to implement, but the further you look, the more complexity you have to account for in terms of not letting people click while the sequence is being demonstrated to them, accounting for the “strict” setting and implementing a power on-off switch. What’s really being asked of you, is not just to deal with sequenced events, but to build a multi state machine to dictate what happens when.

It was also a fun chance to develop some aesthetic and layout skills, I wanted to inject some skeuomorphic styling on the buttons, took care to match the font on the front and spent some time trailing styles to make the score indicator look like a real digit display to really bring up memories of using little toys like this.


A clone built with React on an Express back-end. Authentication by Passport.js using both local and 3rd party oath2, Mongoose and MondoDB as the database, hosted on Mlab.

pins in masonry style layout
The react-masonry package works to animate items efficiently into place in a way that is not possible with just css

The app replicates Pinterest’s masonry layout using react-masonry, allowing cards to create that cobblestone look, slotting into one another. Pins can be re-pined by new users, added to boards and have likes and comments posted.

The front-end was built using React-Router for pagination and to split the various aspects of functionality.

an individual pin in full-screen
An open pin with it’s source link credited and some comments underneath

The name was a joking placeholder on the observation that Pinterest’s once usable format was heavily modified and moved from it’s original format in the name of increased advertising and ‘engagement’. “Interest” meaning more click through’s instead of meaningful curation is replaced with “Apathy”.

user homepage
A user’s home page showing their boards and the three most recent pins

Straw Pole App

A relatively early project, a full MEEN stack (Mongo, Express, EJS, Node) app to allow users to post poles with simple, bold visualisations displayed to others.

list of open polls
The landing page listing active polls

The app used an Express server with Passport.js for authentication and followed strict CRUD principles in the route layouts. Pages were templated from EJS partials and bootstrapped using Semantic UI. Poll results were visualised using D3.js.

a sign in form with styling from semantic-ui
Login modal using Semantic UI for the first time

This was a good project for feeling out if a CSS framework was something I’d like to use more of going forward (nope as it turns out) and developing clean code practices.

a poll voting screen
Another, larger poll with custom option capability

For instance, at the time I didn’t use Mongoose promises and was not yet using ES6 syntax so there’s a lot of ‘pyramid code’ yet the app is still clearly readable, something to perhaps take on board given that some later projects, while far superior on a technical count, are difficult to reverse engineer.

a code snippet
An example of callback-based Mongoose leading to pyramiding; every nested callback adding to the indentation

Rouge Like React

The final project on the old freeCodeCamp curriculum, a seemingly gargantuan task to push the React framework to create a procedural generated rouge-like dungeon crawler.

This was my second really big React project and also served as my first introduction to Redux.

The game is grid-based, displaying the user in roughly the middle of the map, rooms branding off in various directions. The player’s view is obstructed by default, showing only their immediate surroundings. The player can move around, pick up items and health packs and fight enemies by ramming into them, every time calculating damage for the enemy and player.

game screen showing disrupted view
The Main game screen with darkness enabled.
screenshot of a generated level

The game progresses through levels which are generated completely randomly each time with a set, or slightly varying number of health packs, enemies etc. The player can progress their weapon to deal more damage on each hit of the enemy and prepare them for the final boss (a really tough enemy!)

The game was balanced to make it actually challenging to play; there is a genuine trade off between getting more XP, health and risk factors going into the next level. The collectables and diminished view port incentivise exploration of the auto-generated labyrinths.

Games like this and the Game of Life are brilliant for learning fundamental data structures and data-visualisation methods in an intuitive way. Years later I found myself learning about such data structures, not knee-deep in C or Java, but by relating what I was reading back to this project.

The core data structure is a matrix; a two-dimensional array representing the rows and columns, each entry holding cell data. A single Board.js component is tasked with itirating over this array and painting a cell a particular colour, off-white if the cell is a floor, blue if it is a wall etc.

React then handles updates to this board by re-rendering after mutations apply to the array. This was a great project to learn Redux with, given that it is an ideal use case for Redux’s feed-forward immutable patterns.

Given that nothing on the board moves independently, there was no need for a sequencer or ‘game tick’, the only actions come from the player moving, this is one of the realisations that helps to break down the problem early one; you only have to listen to four key press’es effectively.

On player move, the action-creator looks to the cell the user wishes to move to and decides an action based on what is found there, it then calculates the next state of the board and updates it all at once.

The biggest challenge with this project was dynamically creating each level, every level, and every game had to be unique. A function was created that followed this basic process:

The centre of the board was found, a starting square of 9 x 9 was turned into ‘floor’ (the default cell being ‘wall’). This was designed to ensure there were no proximity collisions on level load, hoping that the user would not notice the centre of each map was the same.

A function for generating a single ‘room’ took in a direction as an argument and decided on a size (width * height) within constraints. Then, in the direction dictated, using the previous centre as a starting point, it would move it’s pointer a random number of cells across (within constraint). Then in the perpendicular direction it would also move a random direction but only to a maximum of two cells.

For instance if I was ‘moving’ right, the pointer would move to the right a random around between 2 and 7 and then move up or down between 0 and 2.

a diagram of the room generator function
This diagram shows how the room generator function to find the new centre would check valid cells and shift in the x and y directions to find the new centre.

This would then give us a new section of floor space which overlaps with the previous (thus extending the room) or, if operated by a wall, a door would be made at a random point to connect the two.

The last thing this function would do is make note if any value was outside of the board boundaries, this allowed the implementation of the last major function; the recursive path generator.

The recursive generator would, for each cardinal direction, keep generating rooms using the previous function, picking a new direction each time, allowing it to loop back on itself. It continues until the data being returned would signal that an outer edge had been hit, and the function would stop. This enabled truly unique levels every time.

All that remains is to randomly place a set number of entities per level; enemies, weapon upgrades, health packs and the exit point leading to the next level. A recursive function is used to do this, randomly picking a cell and calling itself again if that cell is occupied.

I also put some small quirks in the game to give it some personality such as the “you died” screen and the choice of weapons in the progression such as “Rock on a stick” and “The power of React itself”.

This being a project in summer 2017, it was built using an older version of both react and redux which is amusing in hind sight. How remembers React.createComponent({}) ? or lifecycle method based Redux store subscriptions?

a lifecycle method from the old redux

Looking back, this project was a key moment in my development career. Sure, the code is highly inefficient and messy by my current standards given that three years have passed as of time of writing. There were also some pretty bad mistakes and antipatterns which I learned from later on such as the un-pure functions called from within the reducer and functions which dispatch also in the reducer.

But the biggest effect this project had was that it allowed me to realise the size of a challenge I could overcome. Before starting, I had taken a break from code because I had not idea where to even begin with this challenge. I believed I would quickly burn out or waste weeks worth of time only to eventually fail, thus validating my imposter syndrome.

I can’t remember what exactly what let me get over this self-imposed block but I do remember the thought process, bringing together all of my experience and knowledge of algorithms to that point, and experiencing inspiration about the issue of procedural generation which lead me to start.

Direction Planner

The Directions App was an attempt to reconcile challenges around balancing complex responsibilities and needs in day-to-day life, inspired by a personal need.

A new take on the classic “work life balance” dichotomy, the Directions App presented all actions and responsibility as equal, and aimed to offer ‘mindless’ task direction without simply creating to-do lists.

This was a significant project to me, it was my first proper Redux application and allowed me to hone in React knowledge that I had previously only uses in fits and spurts.

Much later on, the notion of non-coercive task organisation and my findings from this project influenced the “traffic light system”, a component of my project Boots & the Future of Wellness.

View the live demo and repository with the links or read on to learn the backstory.


Ok so we’ve all built To-Do lists, you learn the basics of a new MVC framework and can easily test your work. Then maybe, while continuing your learning, you make a version with data-persistence, probably with localstore or maybe something like Redis. Then if you really want to, you can set up a database and save the data permanently which is a great way to practice React-Express integration.

If you desire more in-depth productivity and planning tools there is no end or free software available to help you ‘do more, faster and smarter’ or ‘take control of your work’ or ‘plan every last detail’.

I found myself in a personal quandary. I, as ever, had a lot going on in my life. I was slowly coming to the realisation that just powering through; working endlessly, pushing myself beyond limits, just wasn’t working. Day’s blurred into one endless stream of “stuff”, with five things demanding my attention at once, an endless wish-list of things I’d like my life to have (or not have) “once this is all over”.

I would burn out, I was kept physically fit by running about all day but my health took a beating with regard to diet, sleep, and of course, mental state.

You are a machine

Everyone has at least some experience of living like this and maybe gave or received advice that sounds something like “You’re not a machine, you’re a person, you need time to breath and do other things”. I agree with this sentiment broadly but I think it misses something: a ‘machine’ of most types does not run endlessly, without “rest”, or without “breathing”.

The definition of machine is broad but lets generalise of a second, imagine an abstract “Machine”. A machine can run for a duration of time then needs repair. A machine can run at sustainable levels for long periods. A machine can be pushed beyond it’s quoted physical limits but with the cost of quicker time-to-fail or malfunction.

I don’t know about you but that sounds like a pretty good description of a person to me.

A person is a biological system that has needs and conditions with affect their behaviour and abilities in their ‘functioning’, living day to day life. To take some easy exemplars, if you don’t sleep enough, you can put in all the extra hours that you like but won’t necessary be as productive. If you write something while caffeinated it may have a different read to something written in a more subdued state. If you do work while a little tipsy you may find you peak in creativity and inspiration but make sloppy mistakes and quickly drop bellow productive levels.

Here’s one I still struggle with, if you are stuck on a problem, taking time away, rather than trying to power through, can let your subconscious process it in ways you are unable to, leading to faster solutions. As intuitive as it may be to step away while the clock is ticking.

“This is not a task-list”

So how exactly do you balance things when you have five ticking clocks and now, the pressure to do this “self care” thing you just learned about?

You could try a simple planner and a to-do list but these both have the issue of making everything a “task” to finish. Is walking in a park a task? Reading a few pages before bed? What about things that repeat, like if you are job searching and need to do a little every day? Do you continue on weekends? How much do you do a day? How do you measure it?

The Directions App was an attempt at doing just this, it ordered all items with equal weight, utilising a tag system to differentiate them.

  • Priority: this denotes actual task items, things which need to be completed
  • Ongoing: this is used for tasks which repeat for a duration of time
  • Fun: used for recreational activities
  • Health: used for activities which benefit health and well being
  • Social: used to section social activities

In this way you could combine which would show items denoted by which filters were active. Looking to do something recreational but also healthy? Turn on ‘Fun’ and ‘Health’. Set some time aside for task work? Use ‘Priority’, and so on.

Looking back

I still have a fondness for this app even if I didn’t actually end up using it all that much after a while. It was a useful way to explore things which exist between boundaries such as something which is fun and enjoyable to do but is still ‘work’. I realised that by assigning everything a tag and grouping them together, I could see the interlink between various tasks but it didn’t work so well to actually designate time, to come up with that magic formula where everything is balanced and just falls into place.

On a stylistic note, it was useful for me to develop emerging styles and layout patterns which would be refined further later on, even if it looks somewhat garish now.