Replit Development Principles (For PMs)

Replit Development Principles (For PMs)

If you aren't vibe coding as a Product Manager yet, now's the time to dive in. Every PM I talk to these days is scrambling to keep up with our more technically inclined engineering partners. The simple reason?...

AI is speeding up design, development, and testing a lot faster than it's speeding up product/market fit, customer interviews, and go-to-market.

To help you dive in, here's 6 principles I found to be helpful as I built and deployed my own app using Replit as a no-code PM. Follow them to get better results, waste less time, and reduce frustration.

If you're a developer... Yeah we know it's funny and sad how little we know about things like schema design, scalable feature/dev environments, and the other magic you do. Go read an article about Roo or something (love you though).

Why Replit? It does progressive complexity well in the sense that you can start with nothing but an idea and leave with a much deeper understanding of technical concepts we PMs often shy away from. I also liked its use of React + Tailwind, the ability to host with Replit or self-host, and integration capabilities with auth and database tools like Supabase.

Good luck!


1. Frontload the Design Work: Craft a Strong First Prompt

The Agent does its best design work at the start—so invest time upfront to build a solid base.

  • Start with a clear vision. Describe what you're building and why. It seems small, but this gives lasting context that will anchor the outputs to what you’re actually trying to accomplish.
  • Define high-level design principles. But tell the Agent to use discretion—it can overcorrect if you’re not backing those principles with a strict design system. I like to start with a color palette but we’re working on finding new ways to have Replit stick to some more detailed Ncontracts design principles.
  • List major requirements and constraints. Focus on the core value you’re delivering. You can polish details later.


2. Skip the Assistant for Features—Use the Agent

  • The Assistant is cheaper, but rarely worth it unless you’re making exceptionally small tweaks, you're a confident coder, or you want a little more contextual help without pushing a change.
  • For anything that’s meant to change the code, the Agent is far more effective and time-saving—even if it costs a bit more. Don’t waste time debugging Assistant mistakes—just let the Agent handle it.
  • The Agent is designed to take the whole app into account (until the app gets too big!). It can do the really cool stuff like: Modify your DB schema to fit that “tiny” UI update you just asked for; backfill demo data so the new thing you built has context from the get-go; update UI and logic together so you don’t have to create the button and then tell it what to do (sometimes you do still have to do that)
  • The Assistant is meant to be more of a tool for coders and as a context-rich chat bot. “Give me some ideas for how to display the date field so that it meshes with the rest of my design” is a perfectly acceptable use of the Assistant—and it’s cheap!

Tips for working with the Agent

  • Be direct.

❌ “Hey, something’s wrong with the dropdown”
✅ “Find out why the dropdown on the session line item doesn’t update when I select an option”

  • Give full context.

❌ “That didn’t work. Please fix it.”
✅ “Continue fixing the dropdown on the session line item—the UI didn’t change. I’m referring to the dropdown on the session line item and not the session creation modal.”

  • Expect mistakes. Replit is powerful but not perfect. Sometimes you’ll give it bad instructions and sometimes it will do things that make no logical sense despite good instructions. Don’t hesitate to roll back and try again with better guidance or clarification.
  • Use logs to help it debug. This gives it visibility into the system’s behavior and lets you help the Agent by observing the errors yourself.

✅ “Add detailed error logging to determine why changes to the file aren’t saving” or "Display the steps of this process in the console so I can see where it's failing"

4. Iterate Slowly—Think in Tickets

  • The Agent is good at tasks of all sizes, but it completely steps on itself when asked to do too many different things (relatable). You’ll get better results and get less frustrated if you break things into simple, independent steps.

Examples

  • Avoid big, unspecific asks

❌ “Make all fields for folders editable inline”
✅ “Make the Status field editable via dropdown in the list view. When selected, update in real-time”

  • Avoid combining requests unless they’re very small and they don’t conflict

❌ “Update session header colors to #FFB800. Also, fix files showing up in unrelated campaigns.”

^ The second request is too vague and broad. One of these requests is going to be ignored and it’s likely you’ll end up with unexpected results.

✅ “Update session header colors to match what we did for campaigns. Also, update the typeface in the session line items.”

Caveats

  • Big, broad requests work very well when creating new pages or new components because it starts with mainly UI components without a lot happening behind the scenes. If you’re creating something new like this, go back to the first principle of frontloading the design work.
  • After a few days of working in the same project, the Agent starts to retain more working context and can handle broader prompts—because it’s already seen and fixed parts of your app.
  • After a few big features are done, the amount of context can overwhelm the Agent. Its bias for recent developments becomes more obvious and you might find yourself having to revert because it tried to build something from scratch instead of using the existing service designed to do the same thing.

5. Check the Context!

  • Replit has a replit.md file that provides context to the Agent for your project. It is meant to be editable so that you can customize the Agent’s instructions to meet your needs. It will self-update, but you can make edits if you need to. If you’re getting consistently unexpected experiences or design choices, this could be the culprit!

6. Take a Step Back

Sometimes the problem isn’t the tool—it’s that you’re too deep in the weeds.

  • Frustration often comes from trying to fix issues you don’t fully understand.
  • Don’t ask the Agent to patch something you haven’t diagnosed. It will guess—and sometimes break more things.
  • When you feel stuck, pause. Step back, reconsider your goals, and come back fresh.



Happy "coding"! If you're a non-technical PM experimenting with Replit or AI workflows, I write to educate. Follow for more practical experiments and weird side quests.

Excellent article, Nathan!

As someone that is doing lots of experiments in vibe coding, this article hit the nail on the head for all the different platforms I’ve used. Well written 👏

Thanks for sharing, this is relevant to me as I have a project that I am about to kick off using Replit.

To view or add a comment, sign in

More articles by Nathan Turnquist

  • Agents and Agentic Workflows 101

    Have you used ChatGPT, Claude, or Gemini? If you have, congratulations — you’ve already used an agent in its most basic…

    1 Comment

Others also viewed

Explore content categories