Gleam is the language that powers this site. It runs on the fantastic Beam engine and has been a pleasure to work with. I highly recommend people check it out, supporting the ecosystem and the creator behind the language itself!
Learn more about Gleam →This entire website runs in a container hosted on Fly.io. It was easy to set up, scale, configure and so forth. What more could I want from a cloud vendor?
Learn more about Fly →Lustre can be multiple things depending on how you're using it. Lustre is a DSL that allows me to write HTML as Gleam code, though Lustre can also be used as a frontend framework.
Learn more about Lustre →Wisp is the web framework I use. Wisp is written in Gleam, it's fast, and it doesn't get in my way - Exactly how I like it!
Learn more about Wisp →I've never been much of a front-end developer, and TailwindCSS helps me overcome that disability.
Learn more about TailwindCSS →I like getting statistics. Stuff like where my traffic comes from, which blog posts are popular, etc. I don't care about tracking people or visitors' identities. That's why I'm using SimpleAnalytics. It allows me to get some statistics without infringing on privacy.
Learn more about SimpleAnalytics →There's not much secrecy regarding my email, but I don't want to hand it out to every bot that might come along. That's why I use Web3Forms, which allows me to verify that users are not bots while allowing people to contact me.
Learn more about Web3Forms →My blog posts are stored as HTML files in the container. Simplifile makes it easy for me to read these files.
Learn more →I need to be able to scheduel blog posts, and therefore I need date and time management. Birl gives me those features.
Learn more →I don't do much with JSON, but I have some data that needs to be loaded on startup, like metadata about all of my blog posts. Gleam JSON makes this easy.
Learn more →Gleam OPT provides access and functionality to Erlang's OTP framework. I use it primarily to create in-memory caches to reduce reads from disk.
Learn more →Vix is a Elixir library for image processing. I use it to manage images at different sizes to reduce the amount of data I need to transfer to user. I.e. it allows me to create a more optimized website.
Learn more →Snag is a great little library that provides an error type which makes it easy to see what is going wrong in my application
Learn more →I write my posts in Markdown, which has to be turned into HTML in one way or another. Marked is a JS library which does exactly that. It has great support for extensions and allows me to configure things exactly how I like them.
Learn more →