CODING TRAIN | The Nature of Code


A design system for an unconventaionpal publication. Automated flow to create book interior design and web version of the book.



BRAND IDENTITY GENERATIVE WEB DESIGN BOOK DESIGN



SERVICE

Working with an automated workflow to create book interior design and web design with both traditional graphic tools and programming languages.


TOOL

HTML/CSS/JS, React.js, Tailwind CSS, p5.js
Adobe InDesign, Illustrator, Figma



The book existed in both printed and digital format.




Origin


The old edition was published in 2012 and used Processing(Java) as the programming language. After 12 years, Daniel Shiffman rewrote the book in p5.js, with modified and new chapters. On one hand, he needed a modern and welcoming design for the printed book and the web version. And on the other, these designs have to be realized through code, an automated workflow that dynamically updates content from Notion, as opposed to the conventional way of book design.



My Role


As the designer engineer in the team, I provided first round of design mockups created in Adobe InDesign, Illustrator and Figma to gather feedback and refine. Once we have a winner, we implement the design through code, both in the PDF and on the website. I worked closely with a full-stack developer, to ensure visual coherence, navigate through the repository and refine CSS code. 








Process

For Coding Train, they value friendliness, accessibility, and open source. Our goal is to make education and creative coding available to as many people as possible. 

On one hand, there were many efforts that went into design details to achieve this. We worked with an illustrator, Zannah Marsh, to integrate delightful graphics and diagrams in the book. Additionally, we incorporated small emojis, friendly font, colors, and rounded corners of text boxes to further enhance the playfullness. On the website, the interactivity is one of the biggest feature - where the examples sketches run live, the exercise solutions be interactive, and attaching video tutorials along side the text copy. We provide all sorts of content formats so that different types of learners can pick a medium that suits them best. 

On the other hand, to democratize education and make this resource available to the public, this project lives in a public GitHub repo with documentations, so that this model can be adapted by any other educators.




Detailed features of the physical book.


Technical


On the input side - the book content is written and copy edited in Notion, pulled into GitHub as HTML page using a node-based action written by our developer. And the design living as a CSS code file, while be applied to the HTML files.  And the output - the printed and web versions - have 2 different build processes. The printed PDF file is created through the Magicbook library, and the website is built from Gatsby. The CSS files are also separately written for these 2 different formats, using SCSS and tailwind CSS. 



Build process of the printed and web versions of the book.


Team

Author | Daniel Shiffman (Coding Train) 
Developer | Jason Gao
Designer | Tuan Huang
Illustrator | Zannah Marsh
Publisher | No Starch Press




TUAN_HUANG © 2024


REACH ME AT