
{"id":66,"date":"2026-03-22T23:16:44","date_gmt":"2026-03-22T23:16:44","guid":{"rendered":"https:\/\/shofutex.net\/?p=66"},"modified":"2026-03-22T23:16:44","modified_gmt":"2026-03-22T23:16:44","slug":"vibe-coding-round-two","status":"publish","type":"post","link":"https:\/\/shofutex.net\/index.php\/2026\/03\/22\/vibe-coding-round-two\/","title":{"rendered":"Vibe-Coding Round Two"},"content":{"rendered":"\n<p>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, <a href=\"https:\/\/github.com\/shofutex\/league_scheduler\/\">league_scheduler<\/a>. I worked with chatGPT for the original <a href=\"https:\/\/github.com\/shofutex\/league_scheduler\/tree\/main\/python\">Python-based version<\/a>. 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&#8217;s not perfect, since it doesn&#8217;t test <em>every<\/em> possible permutation, but it gets the job done.<\/p>\n\n\n\n<p>This week, I tried using Claude to make a <a href=\"https:\/\/github.com\/shofutex\/league_scheduler\/tree\/main\/rust\">Rust-based version<\/a> 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&#8217;s a bug where the save and load button icons aren&#8217;t quite right&#8211;as in there are no icons&#8211;but this was a much more pleasant experience. I&#8217;m going to need to spend some time documenting what Claude did, as Claude&#8217;s comments aren&#8217;t the greatest. All in all, this version of my vibe-coding experience worked out much better.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":60,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/posts\/66"}],"collection":[{"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/comments?post=66"}],"version-history":[{"count":1,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/posts\/66\/revisions"}],"predecessor-version":[{"id":67,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/posts\/66\/revisions\/67"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/media\/60"}],"wp:attachment":[{"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/media?parent=66"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/categories?post=66"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/shofutex.net\/index.php\/wp-json\/wp\/v2\/tags?post=66"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}