A simple cellular automata emulator built with NextJS and CooperTS and styled with tailwindcss.
I think cellular automata are fun and can make nice looking designs, and I wanted to lean into that.
CooperTS is an Elm-inspired functional programming library for Typescript that I use and contribute to as part of my day job. I enjoy using it enough that I decided to use parts of it here, too. It is focused on using the compiler to eliminate run-time errors.
This whole little project is a place for me to play, and that is particularly true of the translations. I implemented my own translation system that works with NextJS's Static Site Generation (NextJS's built-in translation routing doesn't work with SSG). It is also strongly-typed: if I create a new translation but forget to provide a translation for one of the supported languages the project will fail to compile.
Most of the site is translated into Portuguese and Japanese. However, the translation quality is not great; I used Google Translate and proof-read the results myself, but my Portuguese is rusty and I'm only a beginner in Japanese.
First, run the development server:
yarn devOpen http://localhost:3000 with your browser to see the result.
Push to main. Vercel will handle the rest.