# Client-side GraphQL
So, a GraphQL API isn't much use without the ability to use it from the browser,
so here's where we implement the faces gallery as a client-side app. Whilst
it's possible to do progressive enhancement I've removed all functionality from
the faces controller to prove that all the data loading and changing is
happening via GraphQL.
I've used [React](https://reactjs.org/) and [Apollo
client](https://www.apollographql.com/client) via
[react-apollo](https://www.apollographql.com/docs/react/).
Things to look at:
* `assets/js/app.js`
* `assets/js/components/Gallery.js`
* `assets/js/components/AddFace.js`
* `assets/js/queries/list_people.js`
* `assets/js/queries/import_person.js`
[Demo](http://localhost:4000)
Next, let's flip over to `step-5` to see some magic.