Phoenix.new - remote AI runtime for Phoenix (just launched by Chris McCord)

Have you already heard about https://phoenix.new, the “Remote AI Runtime for Phoenix”?

Vibe coding – when used strategically as a starting point – can turbo-charge your development, and Phoenix framework creator Chris McCord is launching a new LLM-driven development service called phoenix.new, built specifically for Phoenix developers.

Chris talks about it on the fly.io YouTube channel:

13 Likes

demo:
https://x.com/chris_mccord/status/1923417060593356889

Blog and open registration coming next week, and some fun details in my ElixirConfEU keynote when it gets published.

11 Likes

Nice! At this rate I might have to change my votes in our How useful do you think AI tools are/will be? (Poll) thread!

3 Likes

code generation is already bad enough as it is on elixir ecosystem.

Sorry not sure what the claim is here, but we’ve worked very, very diligently to retain backwards compatibility for the last 10 years. There’s a reason we are 1.8 and not Phoenix v6 like you see most other places. In every release we have step by step guides to bring your existing apps, optionally, up to speed. But in any case I’m going to take your negative and flip it:

You could almost certainly in half effort langauge tell phoenix.new “check out this upgrade guide/phoenixdiff page and bring my app up to speed” and it would just do the thing and make sure your app builds/tests pass so in that regard this is a win for your project structure evolution criticisms ¯_(ツ)_/¯

8 Likes

I’m not claiming it ever broke anything, but generated code is code that will have to be maintained, just like code you write. Generating it is kinda weird IMO. I get that it is to expose the code that can be tweaked for edge cases, while hiding complexity for most common cases, but for me shipping a library that is kept up to date would be better (most common cases just keep it up to date, edge cases patch the library).

lol. good point on using llm instead of diff each new version. i will keep it in mind. for example, today, if you run ‘mix phx.new’ you already get one case were you will have to update that generated code :slight_smile:

$ mix phx.new x; cd x
$ mix phx.serve

use Gettext, otp_app: …

is deprecated. To define a backend, call:

one last thing i remember from previous discussions on this design choice. Having a central lib you have to patch to edge cases also centralize less but still common use cases. for example, everyone i know, use sqlite for dev and postgres for stage/prod (for smaller phx applications anyway). And process is “mix phx.new… google some blog post to change dev.exs” …there’s no perfect design without tradeoffs. I just like the other tradeoffs in this case. and i use phx and it is great despite those things :slight_smile:

This looks amazing. @chrismccord I’m curious if it is using Tidewave? Will we be able to plug in an LLM of choice? And even though the rate of change will make this answer obsolete, is there an LLM you’ve noticed currently performs better at agentic coding for this stack?

3 Likes

This site can’t be reached

:worried:

It’s working here @iyjim (it is currently just a ‘join the waitlist’ page).

1 Like

Oops, it’s ok when I use LTE network!

Thanks @AstonJ !

1 Like