"Today is Rākaumatohi
High Energy
A productive day for completing mahi, getting things done and starting new projects. Be active or connect with whānau."
—Maramataka app, 19 Mahuru 2024
*
I remember when I first bought myself a motorscooter. It was a teeny tiny Yamaha Razz that went at 50km/h and sounded like a sewing machine. If I was going up a steep hill and had my laptop in my bag (laptops were heavy back in the early days), I had to push with my feet at the same time to keep momentum going.
But the thing that I LOVED about it was the freedom. We were a one-car household, and even though my partner didn’t necessarily need to use the car that often, I still needed to check in with him to make sure he didn’t need it, or to coordinate timings between us.
Having the scooter changed my life. It allowed me to go anywhere, anytime, without having to coordinate with anyone! I felt this rush of freedom and self-empowerment. And that’s exactly what I felt last Sunday afternoon when I gave Claude a run to teach me how to write a Python script.
It was like putting together a puzzle, with each piece revealing more of the bigger picture.
I wanted to find a way to automatically update a team Slack channel with the Maramataka day of the month, and a bit of information about what that day meant. It would mean connecting a Google Calendar, Google Sheets, Slack, and setting up an automated process between them all. I decided the best way to do this was to write some code. Gulp! The last time I wrote any code was about 20 years ago, and even then I wasn’t that good at it!
So, I turned to my new BFF, Claude.
I can’t honestly remember why I decided to use Claude.ai as opposed to ChatGPT to help me with this project. Perhaps because I wanted to use it as a way to test a new tool at the same time? But I’m glad I did. (TL;DR Claude is MUCH better than ChatGPT for almost everything I’ve tried both for).
I gave Claude the background of what I wanted to do.
"I want to work out what day of the Maramataka calendar it is each day by accessing a public Google Calendar. I then want to do a lookup of this day in a Google Sheet, and pull the corresponding description into a slack channel and want to automate this daily," I told Claude. "Can you help me?"
Claude responded (very politely) saying, of course! Then proceeded to spit out a long process that I’d need to follow. Woah woah, Claude, I’m going to need you to step me through this really slowly because I don’t know what I’m doing!
What followed was a fascinating back-and-forth as Claude guided me through the process. We started with the basics — including helping me download and install Python on my Mac and getting familiar with the Terminal. I downloaded XCode to write my script in, and felt like a real developer!
Writing the actual script was both exciting and daunting. I plugged into this public calendar, and accessed this amazing resource for the daily Maramataka descriptions. I set up a Google Sheet with the names in one column and the descriptions mapped in the next.
Claude provided a structure, explaining each part as we went along. I learned about importing libraries, setting up API connections, and the logic behind retrieving and sending data. It was like putting together a puzzle, with each piece revealing more of the bigger picture.
But the real adventure began when we tried to make the script run automatically. We explored cron jobs, delved into the mysteries of launchd (a macOS feature I'd never heard of before), and even considered cloud-based solutions. Each attempt came with its own set of challenges and learning opportunities.
There were many moments of frustration and cryptic error messages. "Load failed: 5: Input/output error,". Each time I’d copy and paste the error message into Claude, who patiently offered explanations and then gave me updates to my code. We'd try one solution, encounter a new issue, and pivot to another strategy. It felt like we were detective partners, piecing together clues to solve a complex case.
I was continually amazed by how Claude didn't just provide answers but explained the reasoning behind each step.
One particularly memorable moment was when we were trying to schedule the script to run at 1 AM. We discovered that my Mac needed to be awake for the script to run, which led us down a rabbit hole of macOS power management settings. Who knew that computers had such complex wake-up routines?
Throughout this process, I was continually amazed by how Claude didn't just provide answers but explained the reasoning behind each step. When I asked about finding the Google Sheets API credentials, for instance, Claude walked me through the Google Cloud Console, explaining each step and why it was necessary.
In the middle of this back and forth process I’ll admit to getting pretty exasperated a few times! I would get stuck enough that I ended up ‘cheating’ by asking for help from a couple of the devs in my team at Springload. Thanks to Aaron and Andrei for helping me with some of the python code and also for finishing getting my Heroku scheduler set up properly. It would have taken a lot longer without them!
Finally, after much trial and error, I woke up to find the data automatically posted in Slack, I felt a surge of accomplishment. It worked!
Reflecting on this experience, reminded me once again of that exhilarating thrill of freedom I’d experienced with my wee Yamaha Razz (you’ll be pleased to know that I upgraded from that years ago to something that had a bit more power). With Claude by my side, I now felt like I had the ability to do ANYTHING.
I'd discovered the power of AI as a learning tool. Claude wasn't just a source of information, but a patient teacher and collaborator.
So, if you're standing at the edge of a technical challenge, wondering if you should dive in, take the plunge. You might just surprise yourself with what you can achieve, especially with a helpful AI assistant by your side.
And, if you haven’t already got one, I also totally recommend getting a motorscooter to bring even more freedom into your life.
Get in touch
Let’s make the things that matter, better.
Email: hello@springload.co.nz
Phone: +64 4 801 8205