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'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.
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.
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.