adam.nz aboutpostsprojectscontact
Bootcamp, Svelte and a New Website

Bootcamp, Svelte and a New Website by Adam Shand

About a year ago, I attended a three-month JavaScript bootcamp at DevAcademy (thank you Covid subsidies!). Despite my general dislike of online learning, it was a fabulous experience.  I got to refresh my knowledge of HTML/CSS, learn a decent amount of JavaScript, and practice the basics of React.

At the end of bootcamp my old employer got in touch and asked if I wanted to use my new React skills to help out on the wonderful Trap.NZ project. I was excited to use my new skills on a real world project, but the more I used React, the more I hated it. At every turn, it seemed like the obvious way of solving a problem was usually the wrong way.  And weirdly, the more I learned, but worse it seemed to get. So after a few months, I quit and went back to IT freelancing.

I didn't want to lose my new JavaScript skills. Without a programming job, that meant I needed a side project.  And I wanted to find something that made more sense to my brain than React.  So I started rebuilding pieces of this website in various JavaScript frameworks (Astro, Svelte, Next, Redwood). Each iteration I learned a bit more ... finally I settled on SvelteKit. Active and friendly community, good documentation and tutorials, and best of all it's simple, clean, and obvious.  No UseEffect, no nested ternary operators, no cumbersome CSS in JS. It's just JavaScript, HTML and CSS .… with some helpful wrapping.

For as long as I can remember, I've had ideas. I have notebooks full of ideas for businesses, poems, apps, houses, blog posts, products, stories, gardens, books, hobbies, websites, hilariousness, etc. If I'm honest, the ideas that get realised are usually the ones that never make it to a list, they get made immediately in a gush of enthusiasm. The notebooks are where ideas go to die. Yet they linger in the back of my mind, taunting me with possibilities.

I'm also a collector and curator of information. I collect quotes and gists (arcane nerd magic), stash other people's writing, write documentation, and save funny images. By far, the most popular page on this website is my collection of Syntropic Agroforestry links. Mostly I do this for me, I'm trying to learn or remember something ... but sharing is nice, so they eventually make it to a website. Over the decades (!) I've gone through more websites that I can remember (MoinMoin, PyBlosxom, Drupal, Dokuwiki, PmWiki, Weebly, WordPress etc). Each change requiring a time-consuming process of moving everything over. Each time, I silently promise myself that "this will be the last time I do this".

So this time, it really is the last time. 🤣🤞🏻😬 A new website, written from scratch with my fancy new JavaScript skills. I've built everything "from scratch" because I wanted to learn how. No CSS frameworks, no component libraries, and only a couple of NPM modules (md5 & snarkdown).  SvelteKit on the frontend, PocketBase on the backend, and CapRover for deployment.  It's taken an embarrassingly ridiculous amount of time to build, break, change, and fix things … again and again.  But learning, right?

It's not perfect, every bug and quirk pains me, but it is good enough for the moment. It's time to make some space for other ideas.

journal posted on 2 Sept 2023 in #making & #nerding

Copyheart 1994–2024 Adam Shand. Sharing is an act of love.