Building Data Driven Websites with Hugo

We recently moved spatialthoughts.com from WordPress to a static site built with Hugo. The new site is a static site that is deployed with GitHub Actions to GitHub Pages. The redesign is not merely a frontend change, but enables us to automate the whole process of running our live cohort-based classes. The interesting part of the whole migration is the backend design - where all the data for our courses and cohorts is stored as YAML files - and all pages are generated from them. This post explains our design choices and how the new site is put together from the data files. The new spatialthoughts.com home page, built with Hugo ...

Reflections on AI as an Educator

This is an ongoing post with my thoughts on how AI is changing how we learn and how to keep your skills relevant. See the updates at the end of the post. AI Tools are accelerating how we build software. For data scientists, it means we can easily build scripts, notebooks, plugins and data pipelines for analysis. Here are some of my thoughts on what this means for you. Andrej Karpathy, a widely respected AI researcher and educator, said something very insightful and offers a useful mental model. “You can outsource your thinking, but you can’t outsource your understanding.” ...

Building a CRM for My Small Business

I started Spatial Thoughts in 2020 as an online training academy. We have been hosting cohort-based training courses ever since and the business has steadily grown over the years. As with many small businesses, most of our data is scattered across spreadsheets, emails, and different SaaS platforms. As the number of training participants grew, I found it increasingly hard to find the data I needed to make decisions. For example, I frequently would go down a rabbit hole to answer questions like, Which of our participants received scholarships for a course but haven’t yet completed the certification? Can I get a list of our QGIS-certified participants from Germany? Do we know anyone who is skilled in both Earth Engine and Python and lives in Australia? We are launching a new course and want to reach out to everyone who has completed our intermediate Python courses. Can we get their emails? These were really difficult to answer and involved manual searches and digging through various spreadsheets. I had always dreamt of having a unified database that I could query and find an answer. This type of database - also known as a Customer Relationship Management (CRM) - is something out of reach for small businesses like mine. The costs and time involved for building something custom and tailored to my needs were never justified. But things have changed rapidly in the past few months. With AI-coding tools - like Claude Code - building systems like these is no longer out of reach. I spent a lazy afternoon with Claude Code and built exactly what I needed. Everything from data extraction to building a private web app. I was blown away by the capabilities of modern AI tools and want to share the process here. ...