

I have finally built my dream Pebble watchface! Introducing Carbon, a watchface with everything I want to see at-a-glance on my wrist: the time, the date, the temperature, and the weather forecast for the next 24 hours.
Features:
- The current time, of course, with a large, high-contrast font.
- The current date and day of week.
- The current location and timezone.
- Current temperature and high/low for the day.
- 24-hour temperature graph with secondary apparent temperature line.
- 24-hour precipitation probability graph with cloud cover.
- Daylight indicator with sunrise and sunset times.
- Moon phase on the midnight indicator.
- Current weather condition icon.
- Battery level and charging status.
- Bluetooth disconnect indicator.
- Respects system 12/24-hour time format
- Temperature unit detection based on locale (defaults to Celsius, but Fahrenheit if you’re in the US)
And it’s open-source! https://github.com/cr0ybot/carbon
Currently there are no customization options, but I have that on my list amongst many other potential improvements.
This project began as an Alloy JS project but I quickly ran into memory limitations that I could not surmount. Maybe someone more talented than I could have pulled it off. I was actually attempting to recreate one of my favorite watchfaces, Graphite by Stephan Huele, assuming that it was abandoned—however, that watchface was actually updated for the latest hardware while I was in the thick of memory woes. The name “Carbon” was actually a nod to that project, and not to the Carbon icon set I eventually landed on due to having the most exhaustive set of weather condition icons I could find.
Released from the need to duplicate features and deciding to transition to C code, I let my imagination run wild. Could I come up with an even more perfect watchface just for me? If I was attempting this 5 or 10 years ago, no, I could not have, because I am not a C programmer. I have dabbled, but it is not a core strength; the only reason this came to fruition was with the help of some LLMs for syntax and the Pebble watchface agent skill. I do not consider this a “vibe-coded” project since I was heavily involved in and wrote some of the actual code myself, but it was certainly “AI-assisted”. I was very careful to format and architect the code the way I wanted it, because I still think humans need to not just be involved in what they create, but be the entire driving force behind it with clear intentionality. I hope that is clear from the results.
I doubt I will be making a habit out of developing LLM-assisted code for languages I don’t specialize in from here on out, but I also can’t say it wasn’t an enlightening experience. Some engineering skills do transfer, at least, and it wasn’t difficult to pick up on code that was incorrect or inefficient. I’m sure there are still a thousand things that could still be picked apart, but it works, and it’s exactly what I wanted to build.
Check out the project source code at https://github.com/cr0ybot/carbon
Get it on the Pebble app store: https://apps.repebble.com/48b38a54db6d45cb85be6521
