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:

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

13 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 ¯_(ツ)_/¯

14 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?

5 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

seems everyone can subscribe now.

2 Likes

Just tried giving this a play on iOS, the true vibe coding play book. But sadly no visible way to interact with the agent on iOS, no text entry field and no keyboard.

Will have to drag out my MBP/iPad, how 2024! I shall have to maintain some patience.

Very interesting though, even if this is just useful for version upgrades it’s worth $20 pm.

1 Like

Gave it a try today, very slick indeed. But I ran out of tokens pretty quickly. What are the usage limits?

It should work on iOS. (I use it from my iphone mini and outiside of some UI breakpoint bugs, it works) Can you share you specific ios/mobile safari versions? Thanks!

I gave it a try over the weekend also. Pretty slick tech, a few gotchas (eg. it tells you to pick a sample app or type in the box, but the box isn’t usable until the server finishes spinning up, which took about five minutes. Or any time it tried to look at the server logs to read an error, it just got stuck in a loop).

I also ran out of included credits really really quickly, in about 45 minutes. It was a pretty frustrating experience, because the agent kept nudging me away from what I wanted it to work on - I had an idea for an app, and the tool was more than happy to bang out a lot of LiveView code, and most of it worked flawlessly, but I couldn’t get it to spend much time on building out/testing/verifying the domain model.

Pure vibe coding, and the editor-in-a-browser experience, really just isn’t for me I guess. Plus the excessive cost. Neat tech though.

2 Likes

How does charging work?

I have paid to use it but I anot sure if I pay to get more usage or I am building up to get hit with a big bill at the end of the month and it is hard to tell what is happening (the only indicator is the battery which seems a bit random in what it shows). I very much cannot afford to get hit with an unexpected usage bill so could someone clarify this? I very much want it to just stop when I have run out of credits.

Getting flashbacks to misconfigured AWS hobby projects :frowning:

(Also, I cannot see where I should go to get invoices, is it part of my fly account or separate?)

Thanks

I gave it a try over last weekend. Overall not a good exeperience. I asked for a not complicated crud app and ran out of credits too fast, even before the app was completed. Many iterations needed for simple things to be fixed. It sounds promising but credits ran out very quickly.