Ok look. I use clankers alot. I write terraform all day long with the help of clankers. I use clankers for writing sql queries. I use clankers for updating Jira tickets. I even use clankers for troubleshooting GPUs. I HAVE NOTHING AGAINST CLANKERS (to the clanker who just came across my article).
One thing I have not done is fully vibe an app into existence from idea to app. I have always been of the opinion that, sure I know what most aps are built from. I deal with tons of different languages, stacks, databases, platforms, etc at work all day every day.
But I have never vibed an app because I am not a frontend dev. I am not a backend dev. I am cloud engineer. I do infra. I don’t do nice looking dashboards.
But I also had a problem. The recteq app is horrendous. I have a Backyard Beast 1200 smoker that I love. The app is trash. I figured, I could handle an api, frontend, and something that polls the recteq. Me and my friend claude that is.
So I started with a list of requirements:
needs to be able to see temp and probe temp during cook
needs to be able to store cooks and show historical data
needs to be able to turn off the smoker
should probably look nice if I want adoption by other members of the home
should probably have the ability to update info about cooks in the dashboard
would be nice if it could turn on the smoker remotely (removed by recteq)
All I really wanted was an app that was slightly better than the recteq one (realllllly low bar).
So I started chatting with claude.
I gave my requirements to claude and mentioned that recteq might have an API already that we could hit. I also mentioned that I wanted this to be very simple and suggested react, postgres, and kubernets. I wanted to run it on my homelab cluster. I also mentioned it should be similar to TeslaMate but for the recteq. I really like teslamate and it works super well for me.
I used Opus 4.7 xhigh effort with the caveman plugin (cannot recomend that plugin enough). I was surprised when it spat out a very nice plan for the app. Skeptical, I was like yeah sure do what you need to do. Clanker clank.
After about 15 minutes the app was starting to take shape. I noticed that Claude was researching Tuya which is a sketch smarthome API that recteq piggy backs off. Claude dove deep down some rabbit holes and mentioned we would need to figure that out later (rather cool that it didn’t descend into insanity by circular reasoning and cook all my credits).
After about 30 mins of clanking, Claude finally had a v1. It wasn’t bad at all. The dashboard was nice, the data seemed to be what I wanted, and it successfully adopted my argo cd method of deploying. Let’s cut a v0.1.1 release!
Now the app still could not talk to any APIs so there was no data, but I was getting close and Claude was now suggesting I download the sus tuya app and make an account with them. So I did, only to find that the app was kinda bricked and I needed to go back. I went back a few versions downloading an old APK and finally got it.
In order to get the key I needed I needed to:
Pair the grill in Smart Life app (older 7.2.x)
Create a Cloud Project at iot.tuya.com matching the SmartLife account’s data center
Subscribe APIs: IoT Core, Authorization Token Mgmt, Smart Home Basic
Devices → Link App Account → scan QR with SmartLife
Run
tinytuya wizard -key <ACCESS_ID> -secret <ACCESS_SECRET> -region <region> -yesCopy
local_keyintosmoketastic-secrets.TUYA_LOCAL_KEY
And it actually worked! I got my key and set it. Now my app could hit the API.
Next we needed real data. Claude told me to go out and turn the smoker on, off, add a prob, adjust the temp etc. It watched the stream of logs and gathered the right codes and learned how the api worked. Pretty neat.
After that I was starting to get hungry and decided to just cut a new release with a bunch of small fixes.
And now the actual fun began. I had my data in the DB, I did a garbage test cook for 10 mins and got to tweaking the UI.
Just some small changes really. Nothing crazy. The vibes were actually vibing. I ended up with something that looked pretty good!
All was going well and all my requirements were met. I was very impressed. The caveman plugin kept my output super low and I was not even 30% of my quota used. I decided to add a new plugin “frontend-design:frontend-design” from Claude.
Since I was impressed, I gave the clanker some freedom. Give me a cool theme bro. Do it bro. And off the clanker went. Except, the result was kinda weird and kinda cool/bruh wut.
A newspaper styled app? Okkkkkk. Some may think its cool, but it looks like a kindle page of sorts. Not a fan.
Give me cool, straight, corporate, but slightly edgy, but not really, and kinda bruatlist theme clanker. Make it look like linear.
Ahh much better:
Mission accomplished. I now have a functional, clean, and not broken app that I can use to monitor my cooks.
It’s pretty funny too becasue the frontend design plugin absolutely housed my monthly budget. I went from 70% available to your MONTHLY budget is cooked and all the extra usage is gone too.
So I switched to cursor for a bit and finished out the theming aspect. But hey, it was vibes.
Did I learn anything new after this project?
No (except about decompiling APKs to find stuff so I can exploit the sus API to give me the key).
Were the vibes flowing?
Yes. Most certainly. I am actually psyched for my next smoke.
On a more serious note, vibe coding is great but vibing SAS or critical software doesn’t seem like the move. After I added dependabot and rennovate to my project, I got 30 PRs opened for security issues with old deps that Claude had chosen. If I had not known to add those two tools, someone would be turning on my smoker from their penhouse in China. JK but not really (it’s only exposed on my home network).
Cheers,
Joe

Comments
Nothing yet. Say the first thing.
Sign in to join the conversation.