Let’s make an React app and API that lets us log in with Google.

We’ll show a “Log in with Google” button on our homepage, and rely on Google‘s servers to tell us some facts about the user (like their email address), which we’ll then store and use to authenticate the user in future.

This flow is triangular: we have our client React app, our own API server, and Google’s oAuth servers. Doing it right means making API requests between all three.


This post was co-written with Dom Freeman, Senior Software Developer at FutureGov.

Recently, we’ve supported a few councils on developing their service directories. We’ve learned that while it’s fairly straightforward to make a service directory, making a good one can be difficult.

It’s not enough to show people the services near them, Google Maps can do that. To make a directory effective, you need to show coverage areas, accessibility information and be sensitive to the problems residents may face.

Following a data standard makes these jobs easier. Once a few directories have a standard in common, it’s easier for others to adapt this information, building on this work to create their own…


Decoupled websites can be pretty great. The idea is simple: make pre-rendered static webpages ahead of time and put them on a web server. The result is speedy, secure and trendy.

The advantages come from doing the hardest, slowest work at build time rather than request time. In a traditional app, databases and APIs are queried within the interval between the user clicking a link and the new webpage appearing. For a decoupled, static site, all that work happens as part of a build process, which is re-run whenever the site needs to change. …


Hello!

I’m a non-binary designer and web developer, and I’m looking to start mentoring one (or a small number of) junior folks.

I’ve got six-ish years experience and work mostly with local government and charities in the UK.

I was a bit of a career changer too — I started as a journalist, and I don’t have any formal design or computer science training. What I know about design, I mostly learned from the GDS way of doing things.

I’ve led a few CodeFirst:Girls courses and used to have a teaching job at a London university, but I don’t get…


People increasingly expect apps to be location-aware.

Much of our lives, and the lives of people we create services for, revolve around the unique context of our places. Our communities and neighbourhoods, perhaps now more than we ever realised before, are more than where we live but also where people work, socialise and learn. A common need we find when working with local authorities is a need to connect residents with services, organisations or events beyond the council and in their local area. We see user stories like:

  • I need to find services in my local area
  • I need to know what’s going on around me
  • I…


Enterprise content management tools have traditionally been a bit rubbish.

The experience for content authors was often particularly awkward: writing pseudo-HTML by hand and hoping that the results might bear some resemblance to the intended design.

The new WordPress block editor can help us change that. It’s an experience more akin to Medium or Squarespace than the traditional “big empty text box” editor. If you’ve not used WordPress in a while you might be surprised at how capable it’s become.

Here we’ll look at:

  • defining a custom block using modern JavaScript syntax
  • styling the block to create a good experience…


The revision history feature in Google Docs is pretty useful. With the ability to intuitively see how versions differ from each other and restore old versions in a couple of clicks, it’s a big enabler of collaborative work.

The legacy apps we’re used to replacing might include a rudimentary edit history (item was edited at X time by Y user) but nothing that meets modern raised expectations.

Here, we’ll explore how to add a feature like this to a service directory app built in Rails. …


A common problem in directory-style apps is representing the opening hours of a business or service. It’s easy to provide a simple text input and move on. But, if we want to power a Google Maps-style “open now” feature, we need to use a more structured format.

In this example, we‘re representing the time people can access local community support in one of our service directory products. To boost usability, we wanted the editor to resemble the opening hours sign you might see in a shop:


There’s seemingly a new design tool out every week, but Figma has some unique features that put it above the rest, and make it a particularly good fit given the restrictions of the public sector.

First, I’m not associated with Figma, I just like it. My go-to design tool used to be Sketch, followed by a brief phase with Adobe’s XD.

When I say public sector, I’m thinking mainly of the national and local government offices I’ve worked in, but I’m sure most of this applies to any large enterprise company too.

Let’s start with the most obvious.

It’s (pretty much) free

It’s…


I just got back from Front End North, a weirdly affordable (but still very good!) front-end conference.

It’s rare for me to get a chance to do something career-related in Sheffield when I’m so used to travelling back and forth to London, so with the time I saved, here’s some things I learned or found interesting.

Jaye Hackett

Strategic designer & technologist. Why use three short words when one long weird one will do? jayehackett.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store