My personal website built with Go, serving as a basic snapshot of what I'm up to. Its pretty lightweight and just shows some GitHub activity. I didn't use a frontend framework, just Go's html/template package.
- 🌓 Dark/light theme (rose pine)
- 📊 GitHub integration showing recent repos/activity
- 🌤️ Weather served by my own breeze api
- 🔄 Data on periodic refresh every 15mins (rather than on refreshing page - keep that traffic down!)
- 📱 Responsive
- Backend: Go (Golang)
- Frontend: HTML, CSS, JavaScript
- Blog: glogger - my lightweight Go blog package
- Hosting: Deployed w/ Docker on a very minimal DigitalOcean VPS (details in the Terraform setup here)
If for some reason you wanted to run it locally:
git clone https://github.com/josephburgess/joeburgess.dev.git
cd joeburgess.dev
go run main.goI added the widget mainly because I wanted to integrate it with breeze, a lightweight API service I've set up for gust, another small project I'm working on. I am now based back home in London, so that's where it shows the weather for.
For the widget to work running locally you'll need an API key - you can either install gust and use the one-click signup to get a key, or use your own OpenWeatherMap 3.0 key.
The site now includes a blog powered by glogger, a lightweight blog engine package I built in go. It supports simple markdown content (no database), multiple themes, and simple integration with existing go sites (as long as you use gorilla/mux, for now!).
I'm quite interested to see if I can find a way (that doesn't suck) to update the weather widget dynamically depending where I am in the world! I also have a few things I want to add to glogger too - you can see the vague roadmap in the project's README.
Feel free to reach out to me at hi@joeburgess.dev or connect via the social links on the site.
