Vibecoding AI models with Windsurf
I'm Kevin, founder of EnginifyAI. Over the last 12 months I've been working on a prompt engineering tool. I started off using Bolt but quickly I found myself unable to completely use it effectively. I then tried Cursor and was using it early on but maybe I had the wrong settings as I found myself using all my credits in 2 days. So, I switched to Windsurf, and to my surprise credits were a bit more manageable and it took about 2 weeks before my credits were consumed. Keep in mind that I am new to coding so I spent a lot of time asking questions in Windsurf instead of using my paid subscription to Anthropic.
I'm coding using React/Typescript and Supabase. I have learned that coding is a lot of work, a lot of fine-tuning, and a lot of testing and fixing. The one thing I haven't quite figured out completely is how to fix migrations. Early on I was running SQL scripts directly in Supabase without migration scripts because I found it to be faster. But now Windsurf uses very old migration script references and I find myself fixing the same issues because of an old migration script reference. Any idea how to fix this?
I assume that vibecoding is an experience everyone can enjoy but comes with frustrations about asking the right questions, or being very specific about my requests. I am using Claude Sonnet 4, 4.5 and 4.5 thinking. Are these the best coding ai models for Typescript?

Replies
I totally relate to this. I also ran SQL directly early on because it felt faster. What helped me was resetting my migrations and creating a fresh baseline. For Typescript, Claude Sonnet feels great but clarity in prompts matters more.
@ayesha_mughal1 Thanks! I much more comfortable running SQL scripts than letting AI run it. Coding is fun but checking AI mistakes is bittersweet.
I've been there. Direct Supabase SQL is tempting but it bites later. I fixed it by squashing migrations and aligning Windsurf with the latest schema. Sonnet 4.5 works well for me especially when I'm very explicit.
@irfan_hydar Thanks! I use Sonnet 4 and 4.5 for coding. I swap between the two when one of them gets offtrack. It does seems I spend a lot of time writing each requirement, linking files, schemas, and functions, etc., just to make sure AI stays focused... I often wonder if the AI session is just bad, and so I start a new one and get better results.
Honestly, vibecoding feels fun until migrations break everything. I solved it by exporting the current schema and treating it as a new starting migration. Claude Sonnet is solid for TS but structure beats model choice.
@thomas_jack4 Thanks! I've exported schemas and it seems to work, but I will say AI still finds some old document created during my original architecture setup and tries to use it.
I made the same mistake with migrations early on. Resetting and reinitializing Supabase migrations saved me hours. I like Sonnet 4.5 Thinking for architecture but regular Sonnet feels faster for day-to-day coding.
@nafsiyya_ubalawan I haven't used Sonnet 4.5 Thinking for architecture, I will give that a try for our next feature. When I get frustrated with 4 or 4.5 I switch to 4.5 thinking to dig in and reassess what went wrong, and it seems to do a decent job at it, albeit with more credits consumed.
That migration loop frustration is real. I fixed it by deleting outdated references and generating a baseline migration manually. For React and TS, Claude Sonnet feels reliable but I still sanity-check everything.
@morgan_nabors Thanks! I "attempted" update references but that took a long time, and I kept asking myself if i should delete it.