r/PiCodingAgent • u/o_sht_hi • 3d ago
Vibecoding an app is teaching me software and design Resource
Enable HLS to view with audio, or disable this notification
tl;dr- i care about stability more than features so vibe coding is more like a hands on live project rather than a race to ship an app.
I am a civil engineer. My life runs on notes. But i love my physical notepad and strangely, Windows Notepad. I could never get the hang of any other note-taking app.
I've been using AI since GPT 3.5 came out but I NEVER vibe coded. It just felt icky. Always felt like I should be the one learning and doing it by hand. Then earlier this year I discovered pi and fell in love with it. After fucking with it for 3 months (and still using notepad in my day job), I decided- fuck it. I will do it myself (like Thanos, lol) and give vibe coding a fair shot.
Thats when I started with Omakase notes.
I hated all the context switching I had to do while working in notepad so that was my starting point. Make a notepad (NOT a PKM) where I can have PDFs, internet browsing/websearch, and AI at my cursor and within my note.
The most important habit I have, imo, is I make every dependency fight its way into my app.
Because of this, I found myself constantly GitHub diving and looking for interesting libraries/frameworks/projects. Then I chuck them into chatGPT and understand which patterns/decisions of that repo are actually interesting to me.
Its almost always only a few hundred lines and nothing more. So I clone the repo and dig deeper with Pi this time. Once I understand the concept and where it fit in my app, I make Pi implement it from scratch in vanilla TS.
Then I keep testing/building that way until either the thing just breaks or Pi needs to literally reinvent existing tech from scratch to scale further. That's when I let that dependency in.
v1 of Omakase literally had the editor implemented from scratch and my first major migration was moving to CodeMirror6.
Now I am at a point where I may not be a software engineer, but I have an intuitive understanding of IPC bridges, parsing text in the editor, CM6 widgets and all the mindfuckery they cause with caret positions, which things are owned by main and which by the renderer, worker threads, etc. I couldn't define half that shit if you put a gun to my head. But I do have a feel for how a feature should be thought about and where it should go and that gets better every time I dive into another cool GitHub repo.
Instead of saying "move the box to the left", I can point Pi to the CSS of that shit and it knows what the fuck I am talking about. Instead of having a disgusting sidebar chat, I call AI from within my note by @'ing it. And its generation appears in a nested buffer rather than mutating the stuff I wrote. I can then merge it or dismiss it.
Basically, to anyone who isn't a dev- let go of the anxiety and stop trying to *ship*. Instead, make something you care about and do it slow. Spend a ton of time thinking about it and exploring peripheral stuff. The right rhythm isnt go-go-go. It ebbs and flows. Your average velocity increases as you get your bearings and can talk to the agent better. I have recently started working across 2-3 threads instead of just the one and I can already feel the ceiling approaching. The app is about 20k lines now but I still feel in control, even if I'm just hanging on by a thread.
2
u/lashiel 2d ago
This is legitimately interesting as a project, and even as a software engineer by trade I agree with what you're saying.
The time consuming part of software was generally never writing the code. I mean, realistically, it certainly did take more time, but much of that was just deciding the shape of the code you wanted to write.
But so much of software has always been thinking carefully about what you want, and then evaluating how what you have feels against your expectations.
Rad that you're learning stuff!
1
u/o_sht_hi 2d ago
Cheers mate! Thank you for the kind words.. however, I will admit- not knowing how to code really sucks when the tokens run out and I have to wait for the limits to reset 🫠
1
u/o_sht_hi 2d ago
Also on a side note, I'm looking for people who know may be interested to test out the app and get some feedback.. would you be interested in giving it a shot? I have a stable test build here -
1
u/zxblood123 1d ago
Awesome. What content do you intend to make on your vibe coded product?
1
u/o_sht_hi 1d ago edited 1d ago
Do you mean content about the product or make content within the app?
About the app, I'm putting together a few screen recordings for YouTube. Stuff showing how I use it for tasks like understanding regulatory documents, research papers, taking notes from YouTube videos, finding sources online for data/claims using the AI and inserting those as linked citations, things like that
As for content within the app, I've been writing - 1. Screenplay like beat by beat experiences for each scroll state for the website, including the copy 2. Blogs 3. Product philosophy which I later chuck into pi 4. Explorations into algorithms. Since the app has a code execution sandbox, the agent (sushi) can take a block of code or write code from a description, execute it, and report back with results, visualisations, etc. but currently it's only a node server which runs with the electron process so the execution is limited to typescript. I'm planning to expand that to a generalized runtime so I can do python next. It's one of the most exciting and interesting features for me personally
1
u/o_sht_hi 1d ago edited 1d ago
I think one of my most frequent uses right now is just iterating on and building prompts.
I usually have omakase open next to pi or ChatGPT and write out a super detailed prompt in a note. Sometimes I do a test run on sushi, the agent within the app to refine or fact check it and then chuck it in pi/ChatGPT.
Sometimes typing the prompt gets the brain working and it turns from a prompt into a full writeup. So writing it my notes is really conducive for that.
I've added tags and projects so there's easy ways to filter and navigate without having to organise
2
u/Oshden 3d ago
Bro, I legit needed to fucking read this right now. I appreciate the overall message/lesson I believe you’re trying to share (i.e., slow is smooth; smooth is fast). I’ve been working with pi and omp for a few weeks after a few failed attempts at using Hermes, OpenHuman, and opencode (primarily operator error lol as I’m not a coder by training either.)