# fly.io > AI-optimized mirror of fly.io containing 32 pages totalling 58,497 words of clean markdown content, structured data, and semantic HTML. Original source: https://fly.io/. Last updated: 2026-04-18T22:29:28.708Z. Each page is available as HTML (with JSON-LD structured data) and Markdown (text-only, ideal for LLMs and RAG). ## Articles & Blog Posts - [How We Built Fly Postgres · The Fly Blog](/blog/how-we-built-fly-postgres/index.html): Annie Ruygt Like many public cloud platforms, Fly.io has a database offering. Where AWS has RDS, and Heroku has Heroku Postgres, Fly.io ... (2,916 words) - [Flying with a Fledgling Phoenix · The Phoenix Files](/phoenix-files/flying-with-a-fledgling-phoenix/index.html): Annie Ruygt This is about trying out new Phoenix release candidates. Fly.io is a great place to run your Phoenix applications! Check out... (1,354 words) - [Using LiveView's new primitives for accessibility · The Phoenix Files](/phoenix-files/liveview-accessible-focus/index.html): Annie Ruygt In this post, we’ll take a look at the latest LiveView 0.18 features that improve accessibility by enhancing focus. We’ll explore these features ... (1,466 words) - [Saving and Restoring LiveView State · The Phoenix Files](/phoenix-files/saving-and-restoring-liveview-state/index.html): Annie Ruygt Fly.io runs apps close to users, by transmuting Docker containers into micro-VMs that run on our own hardware around the wor... (2,537 words) - [Customizing Phoenix Generators · The Phoenix Files](/phoenix-files/customizing-phoenix-generators/index.html): Annie Ruygt We’re Fly.io. We run apps for our users on hardware we host around the world. Fly.io happens to be a great place to run Phoe... (1,348 words) - [Building a Chat App with LiveView Streams · The Phoenix Files](/phoenix-files/building-a-chat-app-with-liveview-streams/index.html): Annie Ruygt Streams are an exciting new feature in Phoenix. Sophie DeBenedetto walks us through creating our own Slack-like chat interface which features inf... (4,707 words) - [Safe Ecto Migrations · The Phoenix Files](/phoenix-files/safe-ecto-migrations/index.html): Annie Ruygt Fly.io runs apps close to users, by transmuting Docker containers into micro-VMs that run on our own hardware around the wor... (392 words) - [A reusable Multi-Select component for Phoenix LiveView · The Phoenix Files](/phoenix-files/liveview-multi-select/index.html): Annie Ruygt Have you ever wanted a feature that lets your users select multiple items from a list, and performs some action on their sel... (2,611 words) - [Reuse markup with function components and slots · The Phoenix Files](/phoenix-files/function-components/index.html): Annie Ruygt The problem We’d like a way to reuse code for UI components that are very similar in structure, but carry different content. (1,768 words) - [Live sessions in action · The Phoenix Files](/phoenix-files/live-session/index.html): Annie Ruygt This is a post about the benefits we can get from using live_session, and the super powers we get from combining it with hoo... (1,502 words) - [Streaming OpenAI responses · The Phoenix Files](/phoenix-files/streaming-openai-responses/index.html): Annie Ruygt This post is about using Elixir to stream OpenAI Chat Response’s in real time! If you want to keep your latency low then che... (836 words) - [A LiveView is a Process · The Phoenix Files](/phoenix-files/a-liveview-is-a-process/index.html): Annie Ruygt We’re Fly.io. We run apps for our users on hardware we host around the world. This post is about Elixir Processes and how th... (973 words) - [Migration Recipes · The Phoenix Files](/phoenix-files/migration-recipes/index.html): Annie Ruygt Fly.io runs apps close to users, by transmuting Docker containers into micro-VMs that run on our own hardware around the wor... (2,567 words) - [LLaMa on a CPUs · The Phoenix Files](/phoenix-files/llama-on-a-cpus/index.html): Annie Ruygt We’re Fly.io. We run apps for our users on hardware we host around the world. Fly.io happens to be a great place to run Phoe... (868 words) - [Persistent forms with your URL on LiveView · The Phoenix Files](/phoenix-files/persistent-forms-with-your-url-on-liveview/index.html): Annie Ruygt In this article we talk about syncing LiveView state with URL. Fly.io is a great place to run your Phoenix LiveView applicat... (571 words) - [Phoenix Dev Blog - Streams · The Phoenix Files](/phoenix-files/phoenix-dev-blog-streams/index.html): Annie Ruygt This dev blog introduces LiveView’s new Streams feature. It lets us elegantly work with large collections of items without k... (1,210 words) - [How Phoenix LiveView Form Auto-Recovery works · The Phoenix Files](/phoenix-files/how-phoenix-liveview-form-auto-recovery-works/index.html): Annie Ruygt We’re Fly.io and we transmute containers into VMs, running them on our hardware around the world. We have fast booting VM’s,... (1,044 words) - [Using AI to Boost Accessibility and SEO · The Phoenix Files](/phoenix-files/using-ai-to-boost-accessibility-and-seo/index.html): Annie Ruygt This article is about putting AI to work for us by making our websites more accessible and perform better with SEO. Fly is a... (2,773 words) - [Tailwind Standalone for Phoenix · The Phoenix Files](/phoenix-files/tailwind-standalone/index.html): Annie Ruygt Tailwind v3 was just released with some great new additions. One such feature is a new “standalone” tailwindcss CLI that inc... (304 words) - [Easy at-home AI with Bumblebee and Fly GPUs · The Phoenix Files](/phoenix-files/easy-at-home-ai-with-bumblebee-and-fly-gpus/index.html): Annie Ruygt We’re Fly.io and we transmute containers into VMs, running them on our hardware around the world. We have fast booting VM’s ... (1,666 words) - [Phoenix LiveView Zipped Uploads · The Phoenix Files](/phoenix-files/phoenix-liveview-zipped-uploads/index.html): Annie Ruygt We’re Fly.io. We run apps for our users on hardware we host around the world. This post is about how your Phoenix LiveView c... (1,412 words) - [Loading a structure.sql file on Prod without mix · The Phoenix Files](/phoenix-files/loading-structure-sql-on-prod-without-mix/index.html): Annie Ruygt We’re Fly.io. We run apps for our users on hardware we host around the world. This post is about how to deploy your Elixir a... (773 words) - [The Fly Blog](/blog/index.html): Sprites are a place to run agents; the first thing you should think to do with a new Sprite is to type claude (or gemini or codex). We’ve put a lot of effort into making sure coding agents feel saf... (11,519 words) - [Using LLama.cpp with Elixir and Rustler · The Phoenix Files](/phoenix-files/using-llama-cpp-with-elixir-and-rustler/index.html): Annie Ruygt We’re Fly.io. We run apps for our users on hardware we host around the world. Fly.io happens to be a great place to use GPUs... (1,420 words) - [Streaming Uploads with LiveView · The Phoenix Files](/phoenix-files/streaming-uploads-with-liveview/index.html): Annie Ruygt We’re Fly.io. We run apps for our users on hardware we host around the world. Fly.io happens to be a great place to run Phoe... (1,294 words) - [Pushing Events: with and without JS.push · The Phoenix Files](/phoenix-files/pushing-events-with-js-push/index.html): Annie Ruygt LiveView DOM element bindings can be used to send events to the server, as well as issue LiveView JS commands on the client. (963 words) - [Speed up your boot times with this one Dockerfile trick · The Phoenix Files](/phoenix-files/speed-up-your-boot-times-with-this-one-dockerfile-trick.html): Annie Ruygt In this post, we look at optimizing boot up time for Machine Learning and Single File ElixirScripts. Fly.io is a great place... (1,093 words) - [What if S3 could be a fast, globally synced, Key Value Database? That's Tigris · The Phoenix Files](/phoenix-files/what-if-s3-could-be-a-fast-globally-synced-key-value-database-that-s-tigris.html): Annie Ruygt We’re Fly.io and we transmute containers into VMs, running them on our hardware around the world. We have fast booting VM’s,... (1,198 words) - [Building a Drag-and-Drop List with LiveView and SortableJS · The Phoenix Files](/phoenix-files/liveview-drag-and-drop/index.html): Annie Ruygt LiveView hooks provide a powerful way to seamlessly integrate JavaScript libraries into LiveView applications. In this post,... (2,024 words) - [Restore LiveView State on Startup · The Phoenix Files](/phoenix-files/restore-liveview-state-on-startup/index.html): Annie Ruygt Fly.io runs apps close to users, by transmuting Docker containers into micro-VMs that run on our own hardware around the wor... (950 words) - [Formatting the user's local date-times using Hooks · The Phoenix Files](/phoenix-files/dates-formatting-with-hooks/index.html): Annie Ruygt Problem When we’re developing an application for users around the world, we are bound to hit problems with timezones. (1,057 words) - [Triggering JS from the server in LiveView: showing a spinner · The Phoenix Files](/phoenix-files/server-triggered-js/index.html): Annie Ruygt It’s always frustrating when we click something—and it looks like nothing’s happening. The default solution to this is to th... (1,381 words) ## Resources - [Full Page Index](/index.html): Browse all cached pages with rich metadata - [About This Cache](/content/about.html): Methodology, technical details, and usage guidelines - [XML Sitemap](/content/sitemap.xml): Machine-readable sitemap for crawler discovery - [Robots.txt](/content/robots.txt): Crawler directives