I don’t have an addictive personality. Yet for the last few months, I have been borderline problematically obsessed with creating an Mac app (for my own use) called Juju.
So, despite having three half-written newsletters sitting in my Drafts folder, I thought this month I’d tell you about Juju, my tray-based time-tracking app that does nothing for my writing career except potentially hinder it by sucking up every spare minute I have.

Friends, meet Juju
I track my work sessions
Always have. “What gets measured gets managed,” and all that. Last year, I started a Google Doc and kept a simple log of my work sessions that looked like this:
Tuesday, 2nd June
09:00 - 10:46: Camp Be Better
Went through footage from the second episode today, making a tidy reel, cutting all the extraneous bits and pieces. We have about 1.5 hours of usable footage from a single day—that’s damn good!
As the doc grew in length, I realised that I’d accrued a lot of data almost by accident, and that I could—if I wanted to spend the time—visualise how much time I’d spent on each project in a graph.
So I migrated the entire document to Google Sheets.

And used the data to make some cute charts:

This year, I made even cuter charts:

Where the madness came
One day, I woke up and thought, “I love my process of keeping logs, but I don’t want to open Google Sheets every time I start work. If only there was an app out there that did this exact thing.”
All the time-tracking apps I found were too complicated, filled with too many features. I wanted something simple that would sit in my tray and never get in the way.
I asked ChatGPT:
How hard would it be to build an app that sat in my top tray and let me record work sessions and make graphs out of the data?
Without meaning too, I spent the next hour working on a roadmap for building it, outlining how the menu and a pop-up dashboard would work.
I’ve never built an app before
Despite not knowing anything about coding, I downloaded all the tools I needed to start building it and got stuck in.
Within a day, I had a half-working app. I searched for ‘meditating’ icons and chose one, then altered it a bit. The name Juju comes from what I always say when Julia asks me a question while I’m immersed in deep work: “Sorry babe, I’m in the juju.”
It worked! I could click a Start Session and whatever project I was about to work on, and it would create a timestamp. When I was in a session, the little meditating icon got cute floating ‘juju balls’ over their head. Then when I was done, I hit End Session and a notes field pops up:

I write in what I worked on, hit Save, and boom! The Session is added to a CSV file that’s kept in a hidden folder.
Over the next week, I built the dashboard that showed simple graphs based on my data. Then I made those simple graphs a bit more complicated.
Next, I built a Sessions tab in my dashboard that showed the session data:

And finally, I built a Projects tab where I could add/edit/delete my projects, including changing the colour in the graphs.

As I used it, I smoothed out the kinks and added extra bells and whistles as I saw fit. After a month, Juju was damn near perfect.
Except I’d gotten the bug…
I couldn’t stop.
Even though the app was perfectly functional and I used it every day, I couldn’t resist the urge to optimise further. I’d built Juju using a framework called Electron, meaning there were clunky building blocks that I didn’t have full control over, resulting in a large app size. It was like making a website on Squarespace—simple, slick, but reliant on a large foundation that I didn’t own.
A quick Google showed me there are loads of different coding languages and I’d built Juju on the easiest (but heaviest) one. Turns out, if I wanted to built the app with a language called Swift, it would run faster, be more lightweight, and the UI would be even slicker!
Just 1-2 more weeks of work … and then I’d quit…
Yes, then I’d be satisfied.
I endeavoured to rebuild Juju on Swift, with the help of multiple AI tools. This is a new pastime colloquially called ‘vibecoding’ and it is a TIME SINKHOLE. Hours slip by without my eyes leaving the screen. It’s an addiction. It’s gotten in the way of my socialising, my exercise, and terrifyingly, my writing!
While I’ve been keeping up with rewriting a TV pilot every morning (and working as a full-time video editor in the day), I’ve noticed a drastic output drop-off in my writing sessions because when I have a spare minute, I vibecode.
It’s ironic, because the purpose of Juju was to track my deep work sessions for better insights, and the main insight is: playing with Juju is stealing my creative time.
It’s time to get back to work
The app is built. It works. There are still issues, but it works. I need to tear myself away from the never-ending cycling of optimising and get back to what matters: writing.
From now on, I will allow myself only two hours a week of vibecoding time. And never in the morning! The morning is when I write best, so I’m going to get back to 6am starts and rewriting Seen Book 3.
And with that, I will finish this session.
👩🏫 What I’m Reading:
Alright, Alright, Alright: The Oral History of Dazed and Confused

I listened to this on Spotify and LOVED IT! Listening to anecdotes from the director, cast and crew about making one of my favourite films was my happy place. Highly recommended for any Dazed fans.