Building my own (MVP) Ham Radio Log
The other day, I saw a really cool Fediverse post from KC8JC - J.C. is writing his own logging software in Python and used it for the K1USN Slow Speed Test as a beta test!
In my previous post, I discussed my own experience participating in a recent K1USN SST, and when I saw J.C.ās post I had already known I was soon to participate. I got inspired and decided that morning that I too was going to build my own logger and use it for the contest.
Iāve been learning Golang for a bit now, and wanted a project to practice and learn by doing, so Iām using that for this project. To start for the contest, I wrote a very very simple CLI program that used an ORM to store the log in a SQLite database, the fmt package to process user input, and took the basic information for the contest (Callsign, Name, QTH, RST) in a space separated input and saved it.
For a very basic program written in an hour and a half, it worked perfectly and was very efficient for contest style logging. I was quite proud of the work so far, and it was a fantastic āminimum viable productā (MVP) test of both the program and my Golang skills.
Later that night and since then, Iāve been working on expanding the program a bit. Thanks to some Go advice from DuÅ”an, I have: added callsign lookup with the net/http package and the HamCall.devAPI, moved to a single dependency by using database/sql instead of an ORM, and made the CLI interface a bit more intuitive.
Thereās still a lot of work to be done, but itās pretty cool what Iāve managed to setup in the 24 hours prior to writing this blog post. I am very picky about my logging software and its functionality, so despite it being a very opinionated program in the way it operates I am excited to keep working on it as a hobby project and learn more about Golang, databases, and programming in general.
Building a logger has been a project Iāve wanted to do for a while, although initially I had wanted to do it in a web interface. Starting simple and getting a usable product is awesome and checks off one of my ham radio bucket list items!
Iāve published all of the code on Codeberg if youād like to check it out - although my practices for writing clean and safe code might not be the best around, I still plan on working in public and hopefully can inspire someone else to work on a project theyāre passionate about.