Why Fly?

We use Fly for hosting our application, NeonLaw.com, because it provides a developer-friendly, global deployment platform that allows us to focus on building our product rather than managing infrastructure.

Why Fly?

Fly is a platform-as-a-service (PaaS) that simplifies deploying and scaling applications. Unlike traditional cloud providers, Fly enables global deployments with minimal configuration, meaning our application runs close to our users, reducing latency and improving performance.

Some key benefits of Fly:

  • Full-stack app hosting – Easily deploy backend and frontend applications.
  • Automatic scaling – Our services dynamically scale based on traffic.
  • Global edge network – Improves speed and availability for our users worldwide.

Phoenix & Elixir

Fly has first-class support for Phoenix and Elixir, making it an ideal hosting platform for us since our product is built with Phoenix. Phoenix’s creator, Chris McCord, currently works at Fly, ensuring top-tier optimizations and deep integration for Elixir-based applications.

This means:

  • Zero-downtime deployments – We can roll out updates without disrupting users.
  • Optimized LiveView performance – Real-time features run smoothly at scale.
  • Built-in clustering – Elixir applications benefit from distributed BEAM processes across regions.

Preview Environments

On each pull request (PR), we generate a preview environment. This allows us to test changes before merging into the main branch, reducing the risk of bugs and regressions.

Each preview environment:

  • Uses a branched Postgres database from Neon Postgres.
  • Provides an isolated testing ground where we can modify data without affecting production.
  • Allows real-time collaboration and testing of feature branches before they go live.

Deployment Frequency

We deploy to Fly on every commit to main, ensuring that we are always shipping new features, bug fixes, and improvements to our customers.

Our deployment strategy includes:

  • Continuous Deployment (CD) – Every merge triggers an automatic deployment.
  • Rollback capability – If an issue arises, we can revert to a previous version instantly.
  • Optimized build times – Fly’s deployment process is fast and efficient, reducing downtime.

Monitoring

Fly integrates seamlessly with Sentry, allowing us to monitor errors and anomalies in real time. This helps us proactively detect and fix issues before they impact our users.

Key benefits of using Sentry with Fly:

  • Error tracking across environments – See errors from production, preview, and development environments.
  • Performance monitoring – Detect slow endpoints and optimize response times.
  • Real-time alerts – Get notified instantly when something goes wrong.

Object Storage

We use Tigris for object storage. This allows us to store and manage documents, assets, and PDFs efficiently.

Tigris helps us:

  • Store and retrieve files efficiently – Used for legal documents, case files, and customer assets.
  • Securely manage storage – Ensuring compliance with legal and security standards.
  • Integrate with our application seamlessly – Enabling fast uploads and downloads.

Because Tigris is co-located with Fly servers, we guarantee fast access to our files in a safer environment because our requests do not need to travel across data centers.


By using Fly.io, we have a reliable, scalable, and developer-friendly platform that supports our Elixir/Phoenix stack while allowing us to focus on building great legal tech solutions.