Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5
Chris McCord7 HN recommenders · 2020–2025
237K views · tutorial · dated · Uploaded 2020-04-22
Phoenix creator Chris McCord builds a real-time Twitter-style app live with Phoenix LiveView 1.5 in about 15 minutes. It shows interactive, real-time updates without writing JavaScript.
HN points people to it as the demo that shows why LiveView and Elixir are worth a look.
53:22Ruby Conf 12 - Y Not- Adventures in Functional Programming by Jim Weirich
Confreaks
42:03The Soul of Erlang and Elixir • Sasa Juric • GOTO 2019
GOTO Conferences
1:01:39"Simple Made Easy" - Rich Hickey (2011)
Strange Loop Conference
26:53What the heck is the event loop anyway? | Philip Roberts | JSConf EU
JSConf
36:45Rich Harris - Rethinking reactivity
You Gotta Love Frontend
25:06"Making Impossible States Impossible" by Richard Feldman
elm-conf
1:31:06William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
PapersWeLove
31:44The Value of Values with Rich Hickey
InfoQ
13 comments from Hacker News
> I don't like the idea of needing to learn both Elixir and Erlang You dont need to learn Erlang to use Elixir, rather you would need to know Elixir to use Phoenix; like you need to know Ruby to use Rails. Also you can build a Twitter timeline clone in under 18 minutes using Phoenix LiveView: [VIDEO]
This one's also pretty good: [VIDEO] (Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5)
My favorite talk is the Live View twitter demo on my case: [VIDEO] . Never before I've been so bluffed by a new technology, he's building a small twitter clone in 20min with live reload, browser sync and everything, this would take days with any other traditional tech I know.
I think the "talk" by Chris McCord should apply here "Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5", while not really a talk this year was special and the demo completely blew my mind. it's available here: [VIDEO]
> But I'm wondering if it brings enough other advantages that I shouldn't view it that simplistically. So to start with, Phoenix LiveView really is a game changer, you should have a look at Elixir just for that. This is the talk which really bluffed me when I first saw it: [VIDEO] . For the other upsides, I like a little bit better the way everything is architectured in Phoenix, there's much less magic and it's easier to follow the data flow and what is going on.
Even with tooling getting better, you're still faced with creating an API to the backend that has a high chance of your frontend being the only ever consumer of it. You're also faced with duplicating logic on both front and backends in many scenarios (though of course this can be mitigated with a node backend? I don't know... I've never used node). As for latency, this is over websockets. It becomes a problem if you are connecting to a server across the ocean but otherwise, it's incredibly fast and feels just as snappy as JS. I actually also haven't used Stimulus Reflex, just Phoenix LiveView so I'm not sure if they are exactly the same, but the TL;DR is that they are sending VERY tiny payloads over websockets. This video explains it well (though it's also a demo of LiveView): [VIDEO]
Good place to post the "Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5" ;) [VIDEO]
Yes and no. The real answer (with an Erlang bias) is to look at Elixir + Phoenix + LiveView. Here's a neat demo. No JavaScript required. [VIDEO]
> 16 years ago, David Heinemeier Hansson (DHH) took the stage and delivered one of the most impressive code demos the world has ever seen. 16 years later there's no tech stack that can replicate this demo (except Elixir LiveView [1]). And yet we're told tech has progressed. [1] [VIDEO]
Liveview solves the "write a fully dynamic and interactive application with next to zero Javascript that you need to write by hand" or, if you will, "server-driven UI apps". And it's hard to overstate, but to also properly explain, how important this is and how it feels like magic when you do it. Because it lets you tap into everything Elixr (and Erlang VM) have to offer on the backend without ever having to think of "how the hell do I bring all that to the client". My use-cases are: a big chunk of data is being processed, and while its being processed regular updates are sent over PubSub. Most actions a user initiates are long-ish-running and their updates are also sent over PubSub. Things that other users are doing are sent over PubSub and possibly need to be reflected in the UI. In "traditional" JS-on-the-client-whatever-on-the-server model you have a plethora of questions of how to get that to UI: which endpoints to query, which updates to send over the wire, the formats, the frequence, authorisation, auth... With LiveView your "client" is an Elixir view living on the server which just updates the view based on those PubSubs (or timers, or Kafka streams, or user-initiated actions, or...) and LiveView takes care of upating the DOM/HTML in the browser. "Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5" will give a good overview of this: [VIDEO] [1] Built-in in Phoenix, [LINK]
The Live View demo or the Rails one? :-) Rails, it was this one 17 years ago: [LINK] Live View, I'm not sure which is the first demo. There's "Build a real-time Twitter clone in 15 minutes with LiveView and Phoenix 1.5" ( [VIDEO] )
HamiltonPractice, REMOTE, INTERNS, ~1000$ pm, 3 months HamiltonPractice is an AI Practice Manager built on the cutting-edge stack. We optimize and encrypt every HTTP call to automate complex healthcare and financial data operations. Our web stack is built on top of Elixir Phoenix MQTT protocol, and our backend processing works on distributed Postgres pub-sub to build efficient and fault-tolerant platforms. We are looking for full-stack functional programmer interns who could join us full-time. Prior experience in open-source projects and functional programming is plus but optional. Assignment (Waived for anyone with meaningful open-source web experience including but not limited to GSOC) Build an authenticated website on elixir live-view ( [LINK] , tutorial [VIDEO] ). After logging, the user name should be displayed on the logged-in page. There should be an icon on the password button to change the password element to text. Bonus points on deploying the code to fly dot io. Interest candidates please email to hh AT hamiltonpractice.com
I've been impressed but what I've seen of the Phoenix web framework. [VIDEO] On the F# side: "Where are the F# jobs? I've checked the various FP-centric job-sites - they're as barren as everywhere else. It almost seems as if Haskell jobs are more plentiful! Haskell!" [LINK]