Fix my Replit app

The gap in most Replit projects is between where you build (the workspace) and where real users use it (the deployment). The workspace is forgiving — it keeps your files, uses a practice database and sorts out the connection details for you. A deployment is a separate place with its own settings, its own database and, on the ‘autoscale’ type, no memory from one visit to the next. Almost every ‘it worked yesterday’ report traces back to one of those differences.

Where Replit projects usually break

  1. 01

    Works in the workspace, fails deployed

    A setting, connection detail or database that the workspace supplied and the deployment doesn’t have. The deployment’s logs name it; the workspace never shows it.

  2. 02

    Data that disappears

    Information saved into files or held in memory on an ‘autoscale’ deployment, which starts fresh each time. Anything that must be kept belongs in the database.

  3. 03

    Practice database versus real database

    The app was tested against the practice (development) database; the live deployment uses a separate production one, which is empty or shaped differently.

  4. 04

    The Agent fix-loop

    Each fix is applied to the symptom the Agent was told about, so bugs move rather than close. The cause is usually one seam between two generated pieces.

  5. 05

    Anything that must keep running

    Timers, background tasks or live updates that assume one always-on program, published to a type of deployment that scales up and down or sleeps.

Try these first

  • Open the deployment’s logs (Deployments tab → Logs — not the workspace console) and read the first error after it starts.
  • Compare the Secrets (the keys and passwords the app needs) available to the deployment with the ones the workspace uses.
  • Ask whoever set it up — or the Agent — to confirm the app listens on the address and port the deployment expects (‘0.0.0.0’ and the deployment’s port, not ‘localhost’). A one-line fix, and a very common cause.
  • Check which database the deployed app connects to, and whether it has the same tables and columns as the one you tested with.
  • If data goes missing between visits, the app is probably saving to files or memory instead of the database.

How I work on Replit projects

I start from the deployment, not the workspace, because that is where it fails. I reproduce the failure, find the difference between the two environments that causes it, and fix it in the code so the deployment works from a clean start.

Where the Agent has been looping, I read the seams it can’t see — the boundaries between pieces generated at different times — and fix the cause once. You keep the Repl, the repository and the deployment.

Common questions

Can you work with Cursor, Lovable, Bolt, Replit or v0 projects?

Yes — all of them, plus Claude, Copilot and ChatGPT output. I don’t much care which tool generated the code. What matters is the application underneath it: the architecture, APIs, database, dependencies, and where things are breaking. Lovable and Bolt projects tend to need deployment and backend work; Cursor and Copilot projects more often need the seams between generated pieces checked.

Can you help with deployment?

Yes, and it’s one of the most common reasons people get in touch. "It works locally" is almost always an environment, configuration or build problem rather than a code problem, and those are findable.

Can you fix production bugs?

Yes. If something is broken for real users right now, say so when you get in touch and I’ll treat it accordingly. I’ll want access to logs and the deployment, not just the code.

How much does it cost?

It depends on the work, so I don’t publish a price list. After a first look I quote a fixed price for the diagnosis, and any fix is scoped from the findings — so you know the cost before any work begins, and nothing changes partway through.

The service

AI Code Debugging

The app half-works. You've described the bug to the AI six times, and each fix moves the problem somewhere else. At some point the loop stops being cheaper than reading the code.

Further reading

Your AI-built app doesn’t need another prompt.

It might need an engineer.

If you’ve spent hours asking AI to fix the same problem and you’re going in circles, stop fighting the code. Send me what you’ve got — I’ll figure out what’s wrong and tell you what I’d do next.

No cleanup. No judgment. The messy version is usually the useful version.

Show me what’s stuck.

Don’t spend another six hours fighting the same bug. Send me the URL, repo, screenshot, error, or just tell me what you’re trying to make work. The messy version is fine.

Both open with a short template already filled in. I’ll take a look and tell you what I need.