DEV Community

Vix
Vix

Posted on

I'm not an engineer. I built a prompt-structuring tool anyway, using Claude Code — here's what actually went wrong

I'm not an engineer. I built a prompt-structuring tool anyway, using Claude Code — here's what actually went wrong

🤔 The problem

I don't write code. I'm not an engineer, day to day — but I use AI chatbots constantly, and I kept running into the same annoying pattern.

I'd type something lazy into ChatGPT or Claude — half a sentence, no context, whatever came to mind first — and get back a mediocre answer. Then, later, I'd realize: if I'd just written a slightly better prompt, I probably would've gotten a much better answer on the first try. Instead I'd burned a chunk of my monthly quota (sometimes on a paid plan) on something forgettable.

I figured other people had to be doing the same thing. So I built something for it.

💡 What I built

It's called Deep Prompt Studio. You paste in a rough, unpolished prompt — the kind you'd type without thinking too hard — and it hands back a detailed version that pulls in whichever pieces actually matter for that request: role, task, constraints, output format, and more. It's not tuned for one specific chatbot; it's meant to work well whether you're pasting the result into ChatGPT, Claude, Gemini, or something else.
https://deep-prompt-studio.vercel.app

🛠 Tech stack

  • Next.js (App Router, Turbopack) + TypeScript
  • Tailwind CSS
  • Anthropic Claude API for the actual prompt enhancement
  • Stripe for payments
  • Upstash Redis for storage
  • Deployed on Vercel

⚙️ How it works

  • Tone selector — Default, Professional, Casual & friendly, Concise, Direct
  • Target-model optimization — Generic, ChatGPT, Claude, Gemini, Midjourney
  • Snippets — save reusable context/tone/role info and toggle them on or off per enhance (free: up to 3, Pro: unlimited)
  • Variable fill-in — template placeholders like {{product name}} you can reuse
  • Refine mode — if your prompt is too vague, it asks a couple of follow-up questions before enhancing, instead of guessing
  • Template gallery — writing, coding, business, learning, SEO, customer support
  • Library — saved enhanced prompts (Pro)

Free tier is 20 enhances/month with up to 3 snippets. Pro is $9/month for unlimited enhances, unlimited snippets, and an unlimited saved library.

🚧 What was hard

Here's the part I actually want to talk about, because it's the honest version, not the highlight-reel version.

The first version of this tool wasn't AI at all. It was purely rule-based — mechanically slotting your rough text into fixed templates. I finished it about a week before writing this post. It was also my first webapp ever, and getting even that far took a few days of going back and forth with Claude Code.

Then I actually tested it, and it wasn't good. Outputs that got forced too rigidly into the template pattern came out unnatural — and in a bunch of cases, that unnaturalness made the AI's actual downstream output worse, not better. I remember thinking: "even I wouldn't use this. Nobody would."

Ripping out the rule-based logic and wiring it up to a real AI model (the Claude API) felt like the obvious next step. But I sat on it for a full day before actually committing. Not because I didn't know how — because I didn't want to pay for API usage if I could avoid it. Classic non-engineer hesitation over a cost I didn't fully understand yet. Eventually I admitted the rule-based version was bad enough that the upgrade was clearly worth it, and committed. Wiring up the real integration with Claude Code took about a day from there.

The genuinely hard part, though, wasn't the coding. It was communicating with the AI.

When I'd ask Claude Code "is this okay? Any problems?", it would usually say "no problems." Then I'd actually test the thing, and — often — there was a problem, quietly sitting underneath that reassurance. Since I can't read the code myself, I had no shortcut around this. I had to manually double- and triple-check everything, every single time, just to be sure. That verification loop was tedious. Honestly, kind of boring.

During improvement passes it got even more repetitive: I'd ask "please look for anything else that could be improved," get changes back, ask again, get more changes, ask again — over and over — until Claude Code eventually said something like "I've now investigated repeatedly and there's genuinely nothing left to improve." Also tedious. But each round visibly moved the product forward, which made stopping early feel like a waste. So I just kept going.

🔭 What's next

I honestly don't know yet if this is something people will find useful long-term — it's early, and I'm still actively improving it. Next up is expanding the template gallery and tightening the conversion patterns based on whatever feedback comes in.

🔗 Try it

If you want to poke at it: https://deep-prompt-studio.vercel.app

I'd genuinely like to know — for those of you who do write code day to day, does this "AI says no problem, but there secretly was one" thing happen to you too, or is that mostly a non-engineer problem because I can't read the diffs myself?

Top comments (0)