I go through stretches where I am an avid homebrewer (of beer). It is an incredible extravagance to get a whole weekend day to sit and basically watch water boil. When I can, I do.
There are some homebrewers who like the deeply mathematical nature of brewing, who love measuring and optimizing. I, on the other hand, do not. I want basically a recipe scratchpad. And I definitely don't want a bunch of social/sharing features, and I don't want to have another username and password out in the wild.
I created a working demo pretty quickly. I have written oodles of React but have only briefly touched on hooks. I also have written a fair amount of Typescript, but only under the auspices of the Sharepoint Framework. I wanted to use those, because I like the way the hooks syntax looks, and because Typescript, I have found, makes development fairly bugproof. I was somewhat agnostic about the data layer of my application. Knowing I would be making a static site in the end, I decided to try FaunaDB since it advertises itself as "for" the JAMstack.
This led me to write some additional GraphQL. Between this and Typescript, I really liked how tightly everything was typed.
At that point, the rest of the technology came together pretty quickly. Netlify was an obvious choice for hosting. Moreover, I was able to port over my node backend into serverless functions, which made for one nice neat repo.
Cloudinary has a great free image plan. TinyMCE works just fine. Sendgrid for emails, ditto. Great API.
Finally, my friend Gino was able to whip me up a sweet logo/header image.
Obviously there is lots of cleanup and smoothing out of functionality. I want to style the transactional emails. I need to tighten up the form submission process. I need some content on the home page.