✏️ Phoenix LiveView: Presenting DateTime in User's Time Zone

This past weekend, I added a feature to Flick (RankedVote.app) where we now present domain-specific DateTime values, like published_at and closed_at, on the live view page using the user’s time zone. I thought I’d capture some notes on how this was accomplished, some known limitations, ideas to solve those in your own work, and a set of resource links to learn more.

https://mikezornek.com/posts/2025/1/presenting-datetime-in-user-time-zone-phoenix-live-view/

Ecto Datetime With Time Zone

Discovery of using time zone in Ecto

https://milad.rastian.me/posts/ecto-datetime-with-time-zone/

Translating Ecto Changeset Errors in Phoenix

Here’s a tutorial on how to translate Ecto changesets in Phoenix. It’s actually quite simple and you don’t even have to mix web and context concerns!

https://pentacent.com/blog/ecto-errors-phoenix-i18n/

Thinking Elixir 237: Types, Analytics, and FLAME on EC2

Episode 237 of Thinking Elixir. News includes upcoming improvements to ex_doc for version navigation, the release of Phoenix Analytics 0.3.0 for plug-and-play application metrics, José Valim’s detailed exploration of set-theoretic types for better library compatibility, German Velasco’s demonstration of Elixir 1.18’s enhanced type system, the beta release of the Ash Framework book on PragProg, and exciting developments in the FLAME ecosystem with AWS EC2 support, and more!

https://www.youtube.com/watch?v=vX5hjZLD78s

Tracking Errors in Tesla with AppSignal for Elixir

Let’s track and handle Tesla errors in your Elixir app using AppSignal: https://blog.appsignal.com/2025/01/21/tracking-errors-in-tesla-with-appsignal-for-elixir.html

mix phx.new, but make it better

Do you make similar changes to every project you begin in Elixir? So did I. That’s why I made a new Phoenix generator.

It defaults to UUIDs, sets all timestamps to utc_datetime_usec, and adds some common nice dependencies.

https://x.com/JohnElmLabs/status/1880691133657063870

Code BEAM America 2025: Early Bird discount ends soon!

https://codebeamamerica.com/#tickets Book your spot and join us in March for two days of full BEAM immersion with other Elixir, Erlang and Gleam enthusiasts!

FREE TUTORIAL: The LiveView and OTP Crash Course

The LiveView and OTP Crash Course is a FREE 15-lesson tutorial that’ll get you and running with Phoenix LiveView. You’ll learn:

  • How to build a LiveView app.
  • What makes LiveView different from other frameworks.
  • The full LiveView lifecycle.
  • How Elixir’s BEAM and OTP make LiveView uniquely powerful.

Check it out today at https://liveviewcrashcourse.com.

Thinking Elixir 236: Turn it up to 1000!

Episode 236 of Thinking Elixir. News includes José Valim’s exciting PR for Elixir 1.19 that dramatically enhances type inference capabilities, ElixirLS’s new 0.26.0 release with Elixir 1.18 support, a fascinating new DenoRider library for embedding JavaScript runtime in Elixir applications, Gleam v1.7.0’s release with improved performance and publishing features, and more!

https://www.youtube.com/watch?v=_m_SkoVZhRI

ElixirConf EU 2024: all talks are posted

All 2024 talks from ElixirConf EU are public now: https://youtube.com/@CodeSync

If you’re curious about our upcoming event, check https://elixirconf.eu

FlameEC2 - An EC2 Backend for FLAME Runners

Sometimes, you’re running your application as a plain mix release, without anything complex like using Docker/ECS/Kubernetes/etc. To simplify the usage of FLAME with simple Mix releases, FlameEC2 brings the FLAME library to EC2 nodes, allowing you to bypass setting up any infrastructure outside of your normal release process.

https://github.com/probably-not/flame-ec2

LiveFlip - FLIP (First, Last, Invert, Play) Animations for LiveView

The FLIP technique is a way of animating an element on a page so that it seamlessly transitions between different positions and sizes.

This library brings flip_wrap, a component for LiveView that allows wrapping any element in an automatic FLIP animation for you automatically.

https://github.com/probably-not/live-flip

Phoenix Importmap: Alternative to esbuild

Use ESM with importmap in Phoenix apps to efficiently serve JavaScript without transpiling or bundling.

With this approach you’ll ship many small JavaScript files instead of one big JavaScript file.

https://github.com/gilest/phoenix_importmap/

Elixir Streams |> 🧐 Taking Elixir 1.18's new type system changes for a spin

Wanted to take Elixir 1.18’s new “type checking of function calls, alongside gradual inference of patterns and return types” for a spin.

🤩 It did not disappoint! 👇

https://www.elixirstreams.com/tips/elixir-118-type-system-changes

So cool to see this work happening. And we (Elixir devs) get it for free! 🙌

Thinking Elixir 235: Wrapping Up 2024 with Types

Episode 235 of Thinking Elixir. News includes the official release of Elixir 1.18.0 with enhanced type system support, José Valim’s retrospective on Elixir’s progress in 2024, LiveView Native’s significant v0.4.0-rc.0 release with a new networking stack, ExDoc v0.36’s introduction of swup.js for smoother page navigations, the announcement of a new Elixir conference called Goatmire in Sweden, and more!

https://www.youtube.com/watch?v=kQ4mEA_1ScU

Log from calendar module refactor

A deep dive into optimizing Elixir’s Calendar module, improving datetime serialization performance through iodata and improper lists https://dev.to/dkuku/the-journey-of-optimization-4j15

Nerves Meetup

The next Nerves meetup is Wednesday, January 29th!

https://www.meetup.com/nerves/events/305303608

Elixir Streams |> Elixir 1.18 Highlights ✨

With Elixir 1.18 out, I wanted to take a look at the highlights in the announcement and chat about it.

I hope to do a deeper dive into certain things later, but for now, hope others enjoy this walk-through!

👉 https://www.elixirstreams.com/tips/elixir-118-highlights

Jido - A SDK for Building Autonomous Agent Systems

Announcing Jido: A framework for building autonomous agent systems in Elixir. Composable Actions, adaptive Agents, real-time Sensors, and dynamic Workflows - all the primitives you need for building the next generation of agentic applications in Elixir

Check it out: https://github.com/agentjido/jido

Thinking Elixir 234: Source Drops, AI, and Holiday Cheer

Episode 234 of Thinking Elixir. News includes Ellie Fairholm and José Giralt D’Lacoste releasing the source code for “Engineering Elixir Applications,” Michael Russo introducing “hex2txt” to enhance AI coding assistants, Brian Cardarella showcasing LiveView Native’s LiveUploads, Headway’s guide on building AI-powered iOS apps with LiveView Native, and more! Wishing you a Merry Christmas and a Happy New Year from all of us!

https://www.youtube.com/watch?v=YVoMur5zmrQ

Previous page Next page