A lot of comments seem to take issue with Supabase being aligned to Vibe-coding, which is understandable, but I do think it's related! I think vibe-coding could very well be a real market-force, and as best as I can tell it exists within a specific type of tech circle. No one is vibe coding Elixir, no one is vibe coding Rust, people are vibe coding React + Node/Python, and more specifically I think people are watching streamers and YT videos on hot-new-frameworks-near-you and want to try them out! Supabase is absolutely a darling of this tech-circle, and I think a few other companies could be as well:
I did :) I made a browser-based MMO with Phoenix to test out liveview and learn the language: https://shopkeep.gg
And it was pretty annoying. Elixir doesn't really lend itself to vibe coding due to namespacing and aliasing of modules, pattern matching, all without static typing (I know, Dialyzer...). It also struggles to understand the difference between LiveComponents and LiveViews, where to send/handle messages between layers.
Without references to filenames, the agent perpetually decides "this doesn't exist, so I'll write it :)". I found it to be pretty challenging before figuring out I could force the agent to run `mix xref callers <Some.Module>` when trying to do cross-module refs.
But you can just give them a prompt to teach them. Case in point, Transact has a prompt that you can put into an LLM that enables it to one-shot some simple programs:
1. oxc (oxlint)
2. vercel
3. fly.io
probably more! and more every day