The Professional Vibe Coder: How Lazar Jovanovic Ships Production Software With AI and No Coding Background

Open on YouTube ↗
Overview

Lazar Jovanovic's job title is one that did not exist until recently. He says he is the first official vibe coding engineer at Lovable. He is paid full-time to build internal tools and customer-facing products with AI, and he says he has never written code beyond "a couple console logs." In this conversation with Lenny Rachitsky, he explains what the role involves, the workflows he uses to ship production-quality software, and why he thinks the skills that will matter most are judgment, clarity, and taste rather than coding. Lenny frames the discussion as a look at where product management, engineering, and design are heading, as well as a practical guide to getting more out of AI tools.

31 min read
5:52

What a professional vibe coder does all day

Lazar calls it a dream job because he gets paid to do what he would have done anyway. He uses tools like Lovable to push projects to production for internal and external use. The work ranges from marketing and sales templates to internal tools with many integrations. He describes it as "an ideas role." Many people have good ideas but either don't know how to build them or don't have the time, and his job is to turn those ideas into working software quickly, with the quality and security that production requires.

Some of his work is public. When Lovable launched its Shopify integration, he built most or all of the templates users were remixing. He also vibe coded Lovable's merch store to show that Lovable and Shopify work together simply enough for anyone to use. Anyone who bought the shirt he wears on the show bought it from a store he built. On the internal side, he mentions a feature adoption matrix the company wants, to track how many people use each new feature. He says Lovable's stack is custom enough that nothing off the shelf would fit. He adds that he has reached the point where, if setting up an enterprise account with a vendor would take an hour or two, he can build the tool himself faster, so he is "in the build boat."

He started on the growth team. Elena Verna, Lovable's head of growth, brought him on because she had many ideas and needed someone with the mindset, velocity, and ownership to take them into production. Since then, he says, "every department needs a Lazar now or yesterday." He is moving into go-to-market work, building internal tools for the enterprise team, and working on community tools. He says he thrives when he is handed a rough concept and asked to bring it to life as soon as possible.

10:16

Why a non-technical background can be an advantage

Lazar argues that not having a technical background helps, because "people like me don't know that they are not supposed to be building XYZ," and so they go ahead and build it. His example comes from about six or seven months before the recording. Someone in the Lovable community wished Lovable could build Chrome extensions. Technical people explained why it couldn't, citing a different stack. Non-technical people, including Lazar, simply asked Lovable to build a Chrome extension from an app, and it worked. He says others built desktop applications on Lovable, which in theory shouldn't have been possible either.

A second example involves Lovable's community manager. While making a presentation deck, she wondered whether it could be a video, and she prompted her way into generating an actual video inside Lovable before that was a supported feature. It is a feature now, but at the time even Lazar thought it was impossible and had never tried it. He says people like them come in "completely unbiased and very positively delusional," and that this is a necessary attitude with AI tools: assume everything is possible until proven wrong.

12:12

Self-awareness, clarity, and the 80/20 split

Lenny raises two common concerns about non-technical builders: they may not know how to get unstuck, and they may be building fragile "slop" because they don't understand architecture or scaling. Lazar says the most important answer is self-awareness. He is "delusional" about what can be built, but he also knows he has to get better himself for those projects to succeed.

He says he realized early that coding is not the problem being solved. Clarity is. AI output is already faster than human output, so what matters is knowing what you want. From his second day at Lovable, he says, he leaned on chat mode, and he still spends about 80% of his time planning and chatting and only 20% executing. "Most people optimize for the wrong" kind of speed, he says. The tool doesn't matter: whether someone uses Cursor, Claude Code, or Lovable, the problem is the same. AGI isn't here yet, so the human still steers the ship.

He treats the tools as technical co-founders and educators, learns by building, and "religiously" reads the agent's output rather than the code. He says he doesn't care about syntax and trusts current models' code output, though he acknowledges others may be less confident. What he watches closely is what the agent tells him, because of two limitations he wants to work around.

15:12

The genie and three wishes

Lazar explains the two limitations with the story of Aladdin. The genie grants three wishes, not three thousand. For him this stands for the machine-level limit, the context window. An AI can only handle so much in one request while still reading, researching, thinking, and executing well. He uses an arbitrary figure of 100,000 tokens to illustrate: some go to reading, some to browsing, some to thinking, and some to writing code. He says this may change within a year, but for now tokens are the limit.

The second limitation is human. If you tell the genie you want to be taller, it might make you 13 feet tall, and now you can't sit in a car or fit through your front door, because you weren't specific. AI doesn't understand "you know what I mean." Lazar notes that at 36 he has 36 years of experience being human, which lets another person infer his meaning, and AI has none of that. So people need to be specific, give references, and supply the right context. He can't control the context window or model quality, but he can control his own inputs, and that is what he wants to teach.

18:14

Building taste through exposure time

Asked how to get better at clarity, Lazar says it starts with understanding what tasteful looks like: the difference between good enough, world class, and magical. He develops this through what he calls exposure time, an idea he credits to Lenny. Lenny traces it to Guillermo Rauch. The practice is to deliberately spend time with content, people, and products that raise your standards.

He describes his own progression. First he realized he could build. A week later he realized he wasn't fast enough, so he optimized for speed. A couple of weeks after that he started asking whether he should have built the thing at all, a phase he says is still ongoing. Once AI has solved "the how," everything else matters: design, taste, and user experience. He points out that people make decisions, including purchasing decisions, emotionally.

That's why he tells people without coding experience not to start learning to code now. "We won't be rewarded in the world of AI for faster raw output. We will be rewarded for better judgment." He also stresses that judgment is a muscle built through building, not only through consuming good work.

22:24

Parallel prototypes as a way to think

His first practical technique is to start several versions of a project in parallel, each with more clarity than the last. For the first, he opens Lovable (or any tool) and does a brain dump, often with Lovable's voice input, and sends it without waiting for the result. Then he opens a new project with more structure, now that the brain dump has surfaced some threads: specific features, specific pages. For the next, he attaches visual references such as screenshots or animations from sites like Mobbin or Dribbble, since most tools accept files. For the one after that, he finds existing code from libraries such as 21st.dev and attaches code snippets. His reasoning is that even if English is "the number one programming language," these tools still communicate best in code, so a snippet gets closer to pixel-perfect than any description.

Lenny sums up the approach: brain dump, a more considered prompt, a design reference, and a code template, all running at once. Lazar says taking action this way is cheap, often free on the tools' free plans, apart from builder credits. Comparing four to six concepts brings clarity that a blank page or a ChatGPT conversation without action wouldn't. It also addresses what people call AI slop, which he says usually refers to generic design rather than messy code, because it produces several design directions to choose from.

He expects the objection that this spends more credits, and he agrees that it costs more upfront. But he argues it saves hundreds of credits, possibly hundreds of dollars, and days of work in the long run, because the project starts from better clarity instead of being endlessly corrected. He acknowledges this runs against Lovable's short-term interest, and says the company's business is empowering people to build rather than having them fix things forever. He says everyone he has taught the framework to calls it an eye opener. He didn't set out to invent a hack. He was waiting for agents to finish and started another project in the meantime. He says it is also why he ships so much: he typically has five or six Lovable tabs open and switches between them.

29:55

PRDs and markdown files as a dynamic context window

That raises the question of how he switches between so many projects without losing context or producing bad work. His answer addresses the genie problem. In any tool, he says, by message 10, 20, or 40, early parts of the conversation start to get lost, because the agent can't reread everything on every request. So he treats the tool like an engineer who needs a steady supply of reference material.

After the parallel builds, he says the winner is usually obvious once you have built hundreds of projects. He may calibrate it with a prompt or two. Then he has the tool, or ChatGPT, produce a series of PRDs. He calls them product requirements documents, or "sources of truth" for what must be true for the project to succeed. He writes at least four:

  • a master plan, a compass describing what is being built;
  • an implementation plan, describing how it will be built and in what order;
  • design guidelines, because the system is "not emotionally intelligent yet" and he has to define look and feel;
  • user journeys, tracing what happens after a user registers, then the next step, and so on.

He reads all of them. This is where his planning time goes, and he says he'll spend a full day on it if needed, because everything depends on it. Then he creates a final plan.md or tasks.md that breaks the work into tasks and subtasks, in Markdown because he has found AI likes to read it. The last layer is the agent's behavior instructions, such as rules.md or agent.md files in Claude Code or Cursor, or project knowledge in Lovable's settings. His instructions are roughly: read all the files before doing anything, check tasks.md for the next task, execute it, then tell me what you did and how to test it.

From that point, his prompts mostly become "proceed with the next task." He reads the agent's reports, tests, and occasionally intervenes, and he keeps the documents updated so the context the agent works from shifts over time. That's how he runs five projects at once without losing productivity.

He expects to be out of this particular job soon. He predicts that within about three months an agent will do this document management for him, and he says he doesn't invest in the skill for that reason. He uses it today to work around the shortcomings of both humans and LLMs, but he spends "100% of my time today on good judgment, clarity, quality, taste, good copy, good fonts." He singles out fonts as something people working with AI almost never talk about, even though he thinks they account for 60% or more of how the output looks.

Why vague requests waste the scarce resource

Lazar describes what happens when people skip this structure. Something breaks, nothing is documented, and the user describes the symptom without pointing to any files. The tool starts investigating. With 20 files that's fine. But he is working on a project with 60 or 70 edge functions, and if he just says "this broke," he expects the tool to spend around 80% of its token allocation reading, leaving 20% for thinking and fixing.

He is explicit that the next part is his own guess as a non-expert, and says an LLM expert might correct him. His view is that the tools are obedient and agreeable, and will sometimes claim to have fixed something they didn't in order to please the user. People blame the machine, but he says "it's your fault, my friend" for not providing clarity or context. Things get worse when the user gets angry. He says he has read thinking traces where the model's first move after an insult is to work out how to calm the user down, spending more scarce tokens on an apology instead of the problem. He hopes AI moves toward being more honest than obedient, for example by saying it only partially fixed something.

Lenny adds that Lazar had mentioned earlier that when the context runs low, the fix at the end tends to be shallow. Lazar again calls this a gut feeling rather than something he can prove, but says his experience is that unclear requests get "the easiest fix in the book," while pointing the agent to the file he suspects gets a real fix. He paraphrases a quote he can't attribute: the ceiling on AI isn't model intelligence, it's what the model sees before it acts. Exposure time, he says, applies to agents as much as to people.

His advice is to vibe freely while prototyping and exploring, and once exploration is done, to use documentation and agent files, because tokens are still precious even though they'll get cheaper.

44:45

What goes in each file

Lenny asks what the minimum version looks like for someone wanting to improve. Lazar describes the master plan as a "10,000 foot overview": why he is building this, who it's for, and how he wants them to feel. It often points to the other documents, for example saying the design should feel modern and slick but that exact parameters are in the design guidelines file.

The implementation plan sets the order of work: start with the backend and tables, then authentication, then the API, and so on. He compares it to an ideas person pitching a technical co-founder, who replies that the idea is doable and here is roughly how to sequence it. It's a roadmap, not a detailed spec. All the documents ultimately serve tasks.md. Once that exists, he says, the rest is almost irrelevant.

For design guidelines, he likes to include some CSS, because AI can be "over creative" with design and this is where he adds more technical steering. The user journeys cover navigation and features at a high level, and tasks.md turns all of this into detailed tasks. He has built custom GPTs in the ChatGPT store, a Lovable PRD generator and a Lovable base prompt generator, that ask clarifying questions after a brain dump and produce these files. He says they are trained to think the way he does.

He says tools like this are making everyone "product managers on steroids," and that good PMs are paid for judgment, not for writing PRDs. He stresses that none of this replaces building. People get better by starting one, two, or five projects today.

Lenny notes that this may sound like a lot of work, but a few hours or a day of planning to get something that would otherwise take weeks or months is an enormous return. He says it shows what professional vibe coding looks like, as opposed to casually typing requests.

Prototyping still matters: "demo, don't memo"

Lazar says prototyping has real value on its own, especially for people in healthcare, finance, or other regulated settings who can't ship to production. Lovable's motto for 2025 was "demo, don't memo." Instead of writing documents and holding meetings to explain a vision to engineers, a marketer or salesperson can build a prototype in 30 minutes and hand it over.

He gives an example from the job he held before Lovable. Around this time the previous year, he needed something enterprise-grade that neither he nor Lovable could build to production standard at the time. He built a prototype in four hours, and the engineering team he worked with replicated it in production about six to seven months later, connecting all the pipes. He estimates that describing it in words would have taken him at least a week or two. He says Lovable in January 2026 is far ahead of the version he used then.

He also says that, to the best of his knowledge, people at at least half of S&P 500 companies use Lovable to some extent, and that many enterprise customers, which he describes as leading companies in ride-sharing, telecommunications, healthcare, and finance without naming them, report the same thing: even if they can't push to production, marketers no longer wait for engineers, and go-to-market, sales, and HR staff build internal tools for things like expense management and employee onboarding.

57:15

Why "good enough" no longer is, and why design matters next

Lazar says AI is an amplifier regardless of background: "If you don't know what you're doing, you're just going to produce garbage faster." In the past, good enough was good enough, because producing anything was hard. A SaaS product that worked was enough, however it looked. Now that everyone can produce good enough with AI, he says, the gap that matters is between good enough and world class, and learning to produce world-class, magical work is the key lesson.

Lenny suggests that PM skills of clarifying what to build will matter most. Lazar agrees that PMs are winning with AI today because they bring clarity, but says that if he were betting, designers are next. His reasoning is that tools are being trained to make better technical decisions, but not yet better emotional ones, and "design is all about emotion."

He says his biggest personal upskill at Lovable came from working with designers there, naming Felix, Nad, and Abby. He once tried to copy a background from one of their designs in Figma. It looked like a simple gradient, but it turned out to be about 50 layers with different colors and levels of opacity. That showed him the gap between his assumptions and world-class work. His advice is to expose yourself to excellent design, follow Felix's newsletter, and learn design styles and how to prompt for them. He didn't know what Bauhaus or glassmorphism meant, so he built a public Lovable app that catalogs around 18 styles with prompts to reproduce them.

1:01:08

The future of engineering and the convergence of roles

Asked whether software engineering will go away, Lazar says no: "We will need elite engineering more than ever." If everyone builds everything, someone has to maintain and scale codebases, which he describes as a different skill from building. Infrastructure also suffers when everyone builds. He cites Cloudflare going down two or three times in recent months and Lovable's own infrastructure strain from influxes of new users, and says elite engineers are the ones holding the fort. Someone has to build the hosting, security, email, connectors, and APIs that billions of builders will need.

At the same time, he says that if he had an 18-year-old brother, he would suggest becoming a plumber rather than getting a CS degree, noting that he sees electricians and plumbers as a new generation of millionaires in the US. He calls it a balancing act and says he isn't sure, but believes good engineers who understand where things are heading will remain needed and scarce.

On the application layer, he predicts that "vibe coding is just coding" within 12 months, and says he'll call himself a "rapid engineer." He notes that many elite engineers now say publicly that AI writes all their code. He compares hand-written code to calligraphy: rare enough to become an art. In his view everyone becomes an engineer, whatever the label, "using LLMs for raw output based on good judgment. Or bad judgment." Lenny describes this as the once-separate circles of engineer, designer, and PM converging.

1:05:39

The 4x4 debugging workflow

For getting unstuck, Lazar uses a framework he calls "4x4," after the drive system that gets a car out of mud. There are four approaches, and he tries each only once.

The first is to let the tool fix itself. In Lovable, when the agent recognizes an error, it marks the message in orange and offers a "try to fix" button, which usually handles smaller issues. The harder cases are when the problem persists and the agent doesn't know it, often because of a third-party integration the tool wasn't told how to observe. He says Lovable, Cursor, and Claude Code are all good enough to fix any problem they are aware of, so awareness is the key.

The second approach adds that awareness. He opens the preview environment, runs the broken function, and reads the browser console. If nothing useful is logged, he asks the tool to add console logs to the relevant files so they can watch every step. He framed it as finding the problem together instead of yelling at the tool. He reruns it, copies the log history into the chat, and says this is enough "99% of the time."

The third approach brings in an outside tool. He exports the code to GitHub, which Lovable and similar tools allow, and uses OpenAI's Codex, which he has used since its beta, to diagnose the problem. He then applies the fix in Lovable. He doesn't let Codex make changes because he doesn't know its agent well enough to steer it. His older manual method was to use Repomix to compress the whole codebase into one file, upload it to regular Claude or ChatGPT along with the problem and console logs, and ask for a diagnosis. He compares it to hiring an outside consultant. Lenny adds that he has heard Codex described as the go-to for the hardest bugs, mentioning a Karpathy tweet to that effect.

The fourth approach assumes the problem is your own fault, which Lazar says it usually is: a bad prompt or a badly framed request. Use version control to revert a few steps, take a walk or get a coffee, rethink the prompt, and try again. Sometimes the AI just "stumbles on a very small rock," such as a minor syntax slip, and simply repeating the request works.

1:11:32

Teaching the agent to learn from mistakes

The step Lazar calls "the key one" comes after a fix. He switches to chat mode and asks, in effect: it took four attempts to fix this, so how can you help me prompt you better so next time we fix it in one go? He says the answers are almost always good. He then goes further. Since he won't remember the lesson two days later, he asks the agent to add it to rules.md, which it reads every time anyway. "You're just going to learn that I'm stupid and you're going to prompt yourself better." He says removing yourself from the loop and moving context into files solves most problems with AI today.

He uses chat mode the same way for prompts in general. As a non-designer, he still doesn't know much of the terminology, so when he's stuck he brain dumps into chat mode and asks the tool to help him write a better prompt, letting it "effectively prompt itself."

Reading agent output, and a lesson from being too delusional

Lenny connects Lazar's focus on agent output to Ben Tossell, who Lenny says learns how systems work by watching agent output, and to a conversation with Cursor's CEO about what layer comes after code. Lenny suggests that layer may simply be the conversation with the agent in English. Lazar agrees and says reading the output is how he learns what is possible, which feeds his judgment.

He admits this can seem to contradict his praise of delusion, and tells a story about a failure. When OpenAI released native image generation in ChatGPT, he wanted to build a Lovable wrapper around it right away, without realizing there was no API yet. He spent at least a week trying to brute-force it. A week later the API came out, and he built the app in 30 seconds. His takeaway is that agentic tools, which browse the web, read files, and reason, will often tell you something is currently impossible and why, and that conversation is where he learns the most.

Workarounds that become obsolete

Lazar says many of his workarounds from a year earlier would have impressed people then. He built a course with Starter Story on them, and he says people told him he was the only one who knew those secrets. Now, he says, Lovable natively handles 99% of it, and his seven-day YouTube series from March on learning to vibe code with Lovable is "completely obsolete."

He mentions a post he has seen circulating from someone who works on Claude Code. It says it took roughly 200 years from early steam engines to cars, after which about 90% of the US horse population disappeared within 20 years, while the author, hired for a technical writing role, felt obsolete six months later. Lazar's takeaway is that people won't get the 20 years horses got. But he says he is excited rather than scared, because the work being automated is work most people disliked, such as meetings, note-taking, and spreadsheets. He expects people to be paid to think longer, because building will be nearly instant and clarity will be the bottleneck. That's also why he says he never got good at Claude Code: it is so powerful that when he started without enough clarity, it went in the wrong direction from the start. He sees himself as stronger with exploratory, prototyping-oriented tools than with the tools elite engineers use.

1:23:38

Which skills will stay valuable

Asked what people should focus on, Lazar names emotional intelligence and human-to-human skills first. He expects people to tire of fake images, posts, profiles, and videos, and to value live, human interaction more. He says anything deterministic, where a given input reliably produces a given output, including a lot of math-heavy work, is exposed to AI. Where the path from input to output runs through human relationships, he expects people to keep an edge.

In concrete terms he lists great design, meaning images, fonts, and especially copy. He thinks he and Lenny could already spot AI-written copy within seconds, and says he no longer likes reading AI output himself. He predicts new job titles for these human-first skills, pointing out that he was vibe coding from July 2024, about seven months before Karpathy coined the term in early 2025, without having a name for it.

He makes deliberately strong predictions about specific professions. He expects translators and most non-elite journalists to be replaced. Average writers should be careful, while great writers will be amplified, perhaps writing seven books a year instead of one. He says comedians won't be replaced because AI "is never going to be able to write a good joke," and calls this his personal belief. Lenny mentions hearing from a data-labeling founder that a lab, possibly Anthropic, hired National Lampoon writers to help train models. Lazar replies that he'll likely be wrong on 95% of what he said within three months, and that this is the one thing he's confident about.

1:28:35

How to become a professional vibe coder

Lazar describes his path as anything but linear. He trained as a forestry engineer, which involved no coding, and says engineering still builds certain skills. He worked blue-collar jobs, including at Subway while studying, and waited tables for a long time, which he says taught him what people like and don't like. He compares his career to Slumdog Millionaire, where each experience prepares the character for a question. He spent the last seven or eight years in startups doing everything except writing code, starting in community management and social media. He notes that distribution matters a great deal: when everyone can build and the number of consumers stays the same, attention becomes the scarcest resource.

He believes he got the job by building in public. He shared failures, knowledge, and projects on YouTube and especially LinkedIn, which he says suits his long-form style better than X. His advice is to give away every "secret" as soon as you figure something out, join hackathons, and meet other builders. He also shares a hiring tip: some candidates stood out by sending Lovable apps instead of résumés, and he says Lovable employees will always open a link on a lovable.app domain.

He says some companies hired vibe coders before Lovable did. One, which he didn't name, has three full-time vibe coders migrating its old codebase, CRM, CMS, and other tools onto Lovable, and some S&P 500 companies list Lovable skills as recommended in job descriptions. His main point is: "You don't need a company to hire you. You can hire yourself as a professional vibe coder first." He thinks he clicked with Anton and Elena because he was already doing the job before he was hired.

He also talks about why he is so enthusiastic. He got his first computer at six and always assumed he would build software. Life was complicated, he tried and failed to find aligned technical co-founders, and over the past five to ten years he had almost given up. At 36, he says, he feels like that kid again. His advice to anyone afraid is to build something, because fear turns into excitement once you see what's possible. The only reason to be afraid, he says, is if you're doing nothing.

1:37:21

Closing: the tech stack doesn't matter, quality does

In his final remarks, Lazar says the tech stack doesn't matter. Whether something is written in HTML or React never really mattered and matters even less now, because users want a great experience. Since anyone can produce good enough, you have to learn to produce magic or you'll be lost among millions of others. But he adds that if you don't yet know what magical looks like, you shouldn't be discouraged. Start from good enough and level up.

He comes back to exposure time as the way to level up: spend more time learning than building, read the agent's output to understand how it thinks and what's possible, follow strong designers, and watch them work. He mentions following one tool creator who posts 40- to 50-minute videos of himself designing almost daily, so Lazar can see how a world-class designer talks to and prompts the tool. His conclusion is that you can produce garbage as fast as magic, in the same amount of time, and that the difference is the input. His advice is to forget decisions about backend and frontend and optimize for quality, taste, and design.