• Home /
  • Frontend data validation for a clean architecture - Edinburgh Branch

This workshop introduces the philosophy of frontend validation and gives you a hands-on experience of using a popular validation library.


Nicole Rauch


6:00pm - Refreshments & Networking (SkyScanner)
6:30pm - Workshop starts
8:30pm - Event ends


When data is transferred to a JavaScript-frontend, it's not immediately clear how the correctness of the data structures can be established. Even using TypeScript does not help because those types don't exist at runtime. If we load the data into the frontend without checking its correctness, we risk errors due to incorrect data structures. Even worse, those errors can happen at any time!

To avoid these errors, "defensive" programming is often applied. This means that the code is full of null-pointer checks and the like, which reduces readability and maintainability. To improve this situation, we should check the data as soon as it arrives at the frontend, and we should reject it if it doesn't match our expectations. This leads to a clean and slim architecture for the whole frontend.

This workshop introduces the philosophy of frontend validation and gives you a step-by-step, hands-on experience of using a popular validation library called ZOD. You will learn how it helps you work with valid data in the frontend, including the automatic generation of TypeScript types.

About the speaker

Nicole Rauch is an independent software developer and development coach with a solid background in compiler construction and formal methods. Her focus is on Specification by Example and Domain-Driven Design, working with React.js in the frontend as well as working with legacy code. Nonetheless, her secret love is for functional programming. Also, she is committee member and co-organizer of a number of conferences and unconferences and co-founder of Softwerkskammer, the german-speaking Software Craftsmanship community.

Prerequisites and practicalities

For the practical elements of the workshop, participants will ideally have had some exposure to TypeScript or JavaScript. However, knowledge of a similar language that has Generics (e.g. Java, C#, C++) should be sufficient. We will pair those that have actual TS/JS knowledge with less experienced participants.

Bring a laptop with a recent version of Docker, and an IDE (recommended are IntelliJ/WebStorm or VSCode). A docker image will be provided that contains everything that's required - from Nicole's server from May 1st OR on a USB stick on the day.

Our events are for adults aged 16 years and over.

BCS is a membership organisation. If you enjoy this event, please consider joining BCS. You’ll be very welcome. You’ll receive access to many exclusive career development tools, an introduction to a thriving professional community and also help us make IT good for society. Join BCS today

For overseas delegates who wish to attend the event, please note that BCS does not issue invitation letters.


BCS is following government guidelines and we would ask attendees to continue to also follow these guidelines. Please go to https://www.nhs.uk/conditions/coronavirus-covid-19/ for more information, advice, and instructions.

This event is brought to you by: BCS Edinburgh branch

Frontend data validation for a clean architecture - Edinburgh Branch
Date and time
Wednesday 3 May, 6:30pm - 8:30pm
15 Lauriston Place
This event is sold out