So You Want to Build AI-Generated Apps And You Know Absolutely Jack about Computer Science? (vol. 1)
Day 1 Ground Floor Basics To Help You Out
They say:
“It’s never been a better time to build with AI”
“You don’t even need any CS background to build with vibecoding!”
While they are probably right, the reality is your Lovable app seems to be eternally 85% of the way there to an MVP, and you just don’t seem to have the technical knowledge to bring it to the finish line.
Your cursor app started strong, but as it gets bigger and more complex you always seem to fall into a death spiral mess that even the agent can no longer fix.
“ah, I SEE the problem now!”
the agent replies to you for the 6th time after you’ve pasted your incomprehensible runtime errors back into the prompt with “Fix it!” It does not in fact see the problem. Saying “ah, I see!” is often one of the signatures of the death spiral in agentic coding.
It’s true, many types of simple websites and apps can be entirely coded with agents or appmakers like bolt and lovable, in some cases almost perfectly done in one shot from a simple prompt. However, with many types of complex full-stack applications as of May 2025 we simply are not there yet1. You are going to need a little more human intellectual horsepower input to get AI generated apps fully over the finish line, and I might be able to help you with that. You can do it without really ever learning actual coding.
This article series is my guide for the person who knows absolutely nothing about computer science or app building, to share what I think are some of the most fundamental basic building blocks of big-picture AI and CS knowledge that anyone can add to their toolkit without getting into the weeds of heavy coding, aimed at non-coders. I hope this series can take you from fumbling around in the dark with AI agent coding, to a level of basic proficiency and generally getting you on track to getting the results you want out of AI.
Credentials: I’m not the world’s leading authority on these matters, but I’ve been a professional full stack web dev since 2004, I’ve been coding since ‘96, I have a computer science degree, and I've been vibecoding since 2022. I’m presently building an ai-generated startup app2. You can take or leave my input with that in mind, and if you have anything to add, the comments section is open.
Vol 1: Day 1 Basics - Interacting With AI
Develop some intuition about what’s happening under the Hood
The AIs that help you code are generally LLMs, which are powered by neural nets, which are sometimes condescendingly referred to as “next token predictors.”
When I tell you: “I better take my umbrella today because later it might ________”, your neural net in your head immediately fills in the blank with rain, because that is the most common next token you’ve been trained to expect would go there given the context. However, it is possible I was about to say “...because later it might be extremely sunny with no shade and I don’t want a sunburn.” Also perfectly valid, but it’s not what most people would guess, and it’s not what an LLM would guess.
Like us, LLMs predict the next token usually based on what they have statistically seen the most of in a similar context to your query. It’s not enough to ask the LLM for what you want, you need to also always anticipate what the LLM is likely to have statistically seen the most of in relation to your question. Were you going after the rain umbrella or the shade umbrella in your query?
The statistically most likely output is not necessarily the wrong answer. For the statistically most likely cases, it’s often the best answer. You need to develop an awareness of where your problem’s solution likely falls on the midwit scale:
When it comes to software development, the LLMs have read all of stackoverflow, all the programmer forums, and seen all the common types of coding problems that everyone always gets stuck on. That means it’s seen a lot more discussion about React Native 0.5 (released years before the model’s training) than it has about React Native 0.79 released April of this year, potentially after the training data cutoff of some models. So you will need to anticipate that if you are dealing with a problem very specific to React Native 0.79 for example.
AIs are happy to go off and explode your project by installing outdated conflicting package versions and implementing midwit solutions for you if they are the most common solutions they’ve seen.
Actually tell your coworker how you want to work with them.
Imagine a new intern joins your team at work. Interacting with them on slack simply sucks. They overshare about their personal life. They are incapable of executive decision making, asking for your input at every little step of the way in their projects you assign them. They use really annoying Gen Z slang. It probably wouldn’t be long in this scenario before you tell the intern in a friendly way about your preferences for working together:
“can we keep our personal lives off of slack please?”
“Go ahead and just make your best judgement calls to complete the project and then we will review it together at the end, I can’t be interrupted all day with your questions.”
It’s not out of line to make requests like that to your coworkers, and it usually works.
Yet when its an AI agent who is our coworker, a lot of us forget to ask it to respect our preferences in the same natural way, something it’s generally very good at! I hear from many people frustrated by AIs longwinded, encyclopedic answers, that they lose patience working with it. Yet they never tried telling the AI exactly the same complaint they are telling me.
prompts:
“be extremely brief in your responses to my questions. your responses should generally not be over 2-3 sentences. i will ask when i want further clarification. don’t hit me with encyclopedia page style responses.”
“respond in only JSON output. do not provide any intro or explanation, just the JSON.”
“I can’t stand it how you spell ‘okay’. please always spell it as ‘ok’. loosen up man.”
“from here on out, respond to me with the persona of an extremely smart 23 year old software engineer on slack who is extremely brief and uses genZ slang all the time.”
Whatever your preference is for effective work, just ask. If the answer was overwhelming, tell it. If it’s going way too many steps ahead and you want to focus on just one at a time, tell it. When you find yourself about to complain to someone else or to a forum about problems working with AI, try telling the AI that very complaint.
Don’t just rely on AI as an executor, It’s an educator.
Your vibecoded app is outputting a wall of errors that you don't understand, and just telling it “fix these errors” seems to be making things worse. You may not need to understand those error messages word for word or understand a single line of code, but simply asking the agent to walk you through the nature of the problem and an outline of it’s logic in the solutions it’s considering may be enough to help you put together the missing piece of the puzzle together.
Instead of: “fix it!”
try:
“what do these error messages mean?”
“why did these errors only start appearing after you implemented that last feature?”
“your fix just produced more errors. in very simple language explaining to a non-programmer, describe what you were attempting to do with your fix.”
“I still don’t understand anything in your explanation. make it even simpler for an absolute idiot.”
Suppose you have a basic webpage or app scaffolded out and your are about to add a big feature to it with AI. Before launching into a huge new implementation, go back and forth with a few rounds of educational questioning with the agent.
“suppose i want to add a mailing list signup to this page. without doing any implementation, what are some of the most common strategies developers use to do this, and what are the top most common premade solutions I could use for this?”
You will get very insightful answers without needing to know any coding that help you understand what the AI is doing later when it gets to the implementation instead of being lost.
Ask follow up questions. follow your curiosity.
“Tell me more about the Google Forms approach, what are the pros and cons?”
Before you even attempt to ask for an app or any code to be generated, spend a lot of time with prompts like:
“I’m thinking about making an ai-generated app that works like this … what do you anticipate will be some of the largest challenges in building this that I should be aware of?”
“what are the different database options we could use for an app like this, and what are the pros and cons of each?”
Don’t be afraid to go meta as hell and sound dumb as hell with your questions.
“once we get this app built, what is an outline of what it takes to get listed in the app stores?”
“how does VC funding of apps work and what are some first steps I could take to try to get this app idea VC funded?”
“do you think this is a compelling app idea or can you think of variations on this idea that might be stronger?”
That’s all for today. Come back for more parts to the series, there is a lot to cover. Later we will dive into more specifics and get more computer sciencey, but I hope this was a very general start to orient you on your AI dev journey.
Submit any questions below you’d like me to address in future parts of this series.
If you found this series helpful you can support me by buying me a coffee:
Though I suspect within 3 years, AI will routinely build complex full stack working apps from very simple prompts, that are almost exactly what you want. Years beyond that, I think the concept of apps and software may disappear entirely, as agent APIs simply stream in interfaces on demand to achieve whatever goal you are after. read more about my views on the future of AI here
More details to come later, but I’ve been building in public on youtube