Sign in

Giovanni

@gio.wtf
248 followers 1.1K following 39 posts

He/Him, Brazilian, Elixir enthusiast. Swimming in nature and cinema makes me happy.

PostsRepliesMedia
Giovanni @gio.wtf · 16/06/2026
The team is constantly refining their problem statements instead of speaking only in terms of solutions. They manage the risk of solving the wrong problem or the right one at the wrong time. Its surprisingly difficult to reverse engineer a problem from a solution request
010
Giovanni @gio.wtf · 06/06/2026
Aligning the effort budget helps with whether and how to apply those levers. Estimation of effort is still useful tho, for different purposes.
000
Giovanni @gio.wtf · 06/06/2026
How much effort are we willing to invest? What scope can be cut to deliver a smaller but valuable product increment within the effort budget? What technical debt can we take on to deliver the product increment within the effort budget at the expense of long-term speed?
100
Giovanni @gio.wtf · 06/06/2026
Thinking about how feeling lack of control over a software project often manifests as a desire for estimation, but estimating won’t bring control, or at its worst will rush sloppy work and upset ppl for not meeting arbitrary deadline It is more useful to focus on the things we can actually control
100
Giovanni @gio.wtf · 21/05/2026
This would be a super interesting read (:
020
Reposted by Giovanni
Hugo Baraúna @hugobarauna.com · 17/12/2025
We're launching our new Elixir book! 🎉 Programming Nerves: from web developer to hardware maker. If you've ever been curious about hardware but felt intimidated, this is for you. Beta available now (38% off), or download free chapters to get started. #ElixirLang
1249
Giovanni @gio.wtf · 27/11/2025
I’m catching up with CSS with @piccalil.li “Complete CSS” course. It feels like a book (?) to me which is exactly how I like it. Many “wow we can do that now” moments too, very happy I can take this course
171
Giovanni @gio.wtf · 23/11/2025
Delightful, this is very inspiring work !
020
Giovanni @gio.wtf · 13/11/2025
Finally did it bsky.app/profile/gfra...
000
Giovanni @gio.wtf · 13/11/2025
Here's the last call site if you want to check the code yourself: github.com/phoenixframe...
github.com
000
Giovanni @gio.wtf · 13/11/2025
JS.set_attribute/2 under the hood runs DOM.putSticky(el, name, operation) which stores the "operation" function in a private key in the DOM element. While patching, DOM.applyStickyOperations(toEl) re-plays all stored DOM operations which should stick through patching!
100
Giovanni @gio.wtf · 13/11/2025
Think of CSS transitions, caret position, scroll state. All is preserved while efficiently updating the DOM. morphdom `onBeforeElUpdated(fromEl, toEl)` callback allows tapping into the transform. LV uses it to re-apply DOM "sticky" operations to the toNode, the "target" state.
100
Giovanni @gio.wtf · 13/11/2025
LiveView server-side renders new HTML, and sends to client the smallest diff necessary to update the client DOM to match the server state The DOM patching is done by morphdom, which transforms the existing DOM tree to match a new DOM tree in order to preserve internal state of the original elements
110
Giovanni @gio.wtf · 13/11/2025
TLDR; LiveView "sticky" DOM operations re-run when DOM is patched with new HTML Demo: gio.wtf/demos/sticky... Here's the explanation of how it works:
120
Giovanni @gio.wtf · 13/11/2025
Why LiveView DOM patching doesn't overwrite attributes updated through JS commands? This is one of the top questions I received after my "mastering live view reconnects" talk. I finally have time to explain it 😁 Answer and link to demo in the thread 🧵
131
Giovanni @gio.wtf · 11/11/2025
Cool to see #PhoenixLivewView featured on latest @thoughtworks.com Tech Radar “well-suited for building highly interactive frontends without the need for a full JavaScript framework” Avoiding unnecessary JS bloat is key to achieve high performance at low cost www.thoughtworks.com/radar/langua...
thoughtworks.com
Phoenix | Technology Radar | Thoughtworks
We continue to have positive experiences with Phoenix, a server-side web MVC framework written in Elixir. Phoenix builds on the rapid application development and developer [...]
020
Giovanni @gio.wtf · 07/11/2025
Great initiative from jump.ai 👏
jump.ai
AI Assistant for Financial Advisors | Jump AI | Jump
Jump is an AI-powered assistant for financial advisors that automates key tasks, improves compliance, reduces risk exposure, and more. Start a free trial today.
020
Giovanni @gio.wtf · 02/10/2025
Consider sponsoring to Wikipedia today (:
051
Giovanni @gio.wtf · 01/09/2025
I believe this is a solved problem in the sense that the tools are there. DX could be improved tho to make it more obvious tho: www.youtube.com/watch?v=AnbW... Would love to hear your thoughts. And totally agree with Elixir happiness 😁
youtube.com
Phoenix LiveView: Mastering Reconnects for a Seamless User Experience -Giovanni Francischelli
YouTube video by Code Sync
130
Reposted by Giovanni
Elixir Radar @elixir-radar.com · 20/08/2025
Elixir Radar issue 481 is out! 📣 You can read it here: buff.ly/gJLStkm This issue comes with content from @josevalim.bsky.social @solnic.dev @wojtekmach.bsky.social @gfrancischelli.bsky.social , Chris O'Donnell and Baptiste Chaleil. Thank you! #ElixirLang
buff.ly
Elixir Radar 481
063
Giovanni @gio.wtf · 15/08/2025
Thank you ❤️
010
Giovanni @gio.wtf · 08/08/2025
I’ll try to give it a proper answer when I get some free time
110
Giovanni @gio.wtf · 08/08/2025
Thank you 💕!! I think a higher level API for this should probably be possible 🤔
010
Giovanni @gio.wtf · 06/08/2025
My talk at #ElixirConf is live 🎉 100% biased but I highly recommend watching it if you are doing #LiveView #Elixir 😁 I explain not only how to fix reconnect issues, but even how to eliminate them with some software design adjustments that also improve DX and UX! www.youtube.com/watch?v=AnbW...
youtube.com
Phoenix LiveView: Mastering Reconnects for a Seamless User Experience -Giovanni Francischelli
YouTube video by Code Sync
4294
Giovanni @gio.wtf · 19/07/2025
One of my fav talk from this conf. Great stuff 😁
020
Giovanni @gio.wtf · 16/05/2025
Espero q tenha se divertido tanto quanto eu 😁
220
Giovanni @gio.wtf · 13/05/2025
So for the "Pure UI" logic, where to draw the line between using JS commands versus relying on LV assigns which might make UX suffer if connection is slow? That's the criteria I'm trying to come up with, so devs can use it to guide design decisions. What state should be tracked in the client only?
110
Giovanni @gio.wtf · 13/05/2025
Heey thanks for engaging! Optimistic UI covers a lot of what I'm looking, but not everything. Some UI interactions have nothing to do with accessing remote data. But lots of LV developers fall in the mistake of using assigns to control some piece of UI that could be controlled by JS commands
110
Giovanni @gio.wtf · 12/05/2025
Thanks! Didnt know this video. In my experience there’s usually a way to leverage JS cmds to drive the UI and fix UX when server feels distant. I’m trying to arrive at a definition/rule that helps identifying when this is possible. If u dont mind sharing some specific example would be very helpful 🙏
110
Giovanni @gio.wtf · 12/05/2025
Heey Petar, in your experience how does UX gets impacted negatively? Did the JS commands help? Thanks you for sharing 🙏
200
Reposted by Giovanni
Petar Radošević @petar.dev · 21/02/2025
We are hiring an #elixirlang engineer in the EU (UK, Ireland, Netherlands, Spain or Portugal). No need to already know Elixir. We will teach you. Want to work on an amazing team? Go here: job-boards.greenhouse.io/workera/jobs... If you have questions on the role. DM me.
job-boards.greenhouse.io
Senior Fullstack Engineer (EU)
EU
23212
Giovanni @gio.wtf · 08/02/2025
Very excited to share I'll be presenting "Phoenix LiveView: Mastering Reconnects for a Seamless User Experience" at @elixirconfeu.bsky.social 😁 #elixirconfeu
See you there! elixirconf.eu 15-16 May 2025
1102
Giovanni @gio.wtf · 08/02/2025
Hey something like it yes, there's a bare minimal proof of concept here github.com/samaraolivei...
github.com
GitHub - samaraoliveiram/poc-liveview-embedded
Contribute to samaraoliveiram/poc-liveview-embedded development by creating an account on GitHub.
010
Giovanni @gio.wtf · 25/12/2024
With those other interop tools being available, don't you think saying *no JS is a core idea* isn't very accurate?
000
Giovanni @gio.wtf · 25/12/2024
Thanks mate! What are your thoughts on js hooks and JS.dispatch then, aren't they encouraging to write JS? Personally I see Phoenix.JS just as a convenience layer of interoperability plus composability goodies.
100
Giovanni @gio.wtf · 25/12/2024
Hey Josh, do you mind saying why you consider *no JS* a core idea? Asking because I don't really see it, and I'm curious to understand how exactly our experiences diverge.
000
Giovanni @gio.wtf · 10/12/2024
Thanks @whatyouhi.de for this blog post andrealeopardi.com/posts/get-ri... ❤️ I vaguely remembered seeing this before, today it saved us time 😁
andrealeopardi.com
Get Rid of Your Old Database Migrations
Are database migrations good? Probably, but are we using them in the right way? In this post, I write about how I think about migrations and what I'm doing to mitigate some of their shortcomings.
010
Giovanni @gio.wtf · 09/12/2024
Seems like #LiveView is way more popular tag
000
Giovanni @gio.wtf · 09/12/2024
Idk how to call this approach tho? Cross-origin LiveView? Embedded LiveView? The approach can also be used for a #microfrontend architecture. Anyone exploring something like this?
010
Giovanni @gio.wtf · 09/12/2024
Did you know LiveViews can be embedded inside any web application? Fetch the disconnected HTML, insert in the document, call liveSocket.connect, profit. I'm experimenting with this approach to support incremental migration to #PhoenixLiveView #ElixirLang
4130
Giovanni @gio.wtf · 08/12/2024
Just submitted my @elixirconfeu.bsky.social talk proposal. It's about why should any business bet on #PhoenixLiveView, from the perspective of user experience and the economics of product development. Good timing in light of the 1.0 release! happy this is my first post 😁 #ElixirLang
3132
Giovanni @gio.wtf · 05/12/2024
I was looking for something like this for a some time already, thank u (:
000