So the past couple of weeks I experimented with a different vibe coding goal: working on a system to fairly schedule leagues based on bye-week preferences and such, called quite unimaginatively, league_scheduler. I worked with chatGPT for the original Python-based version. It was a much better experience than the little app I tried making a couple months back. After the ChatGPT version, I made some edits to allow it to be configured via YAML. The results seemed pretty fair when I presented them as options and everyone was excited that we had a tool that could do this as opposed to spending hours manually going through the permutations. It’s not perfect, since it doesn’t test every possible permutation, but it gets the job done.
This week, I tried using Claude to make a Rust-based version that can run compiled natively with a graphical user interface. I gave Claude the python script and gave it all the details. There were a few hiccups: the first two iterations did not compile. But the final version seems to work mostly-correctly. I even got Claude to implement the ability to save the preferences and reload them (Claude decided that Rust likes JSON files more than YAML files, so this one uses a JSON version of the YAML file). There’s a bug where the save and load button icons aren’t quite right–as in there are no icons–but this was a much more pleasant experience. I’m going to need to spend some time documenting what Claude did, as Claude’s comments aren’t the greatest. All in all, this version of my vibe-coding experience worked out much better.