Written on
Exploring FreshRSS and Fly.io: A Designer's Perspective
Praveen JugeToday, I want to share my experience with two fantastic tools: FreshRSS and Fly.io. As a designer and not a backend nerd, these platforms have impressed me with their ease of use and outstanding UI/UX. Let's dive in!
FreshRSS: The Ultimate RSS Solution
FreshRSS is a web-based RSS reader that you can deploy anywhere using Docker. It’s free, easy to deploy, and boasts one of the best UIs for reading your favorite content. Initially, I thought the UI could use some improvement, but after using it, I realized it has the perfect balance for its purpose. The interface is dense yet scannable, making it easy to go through your RSS feeds one by one. Here are some highlights:
- Keyboard Shortcuts: Navigating through feeds is a breeze.
- Dark Mode: Perfect for night-time reading.
- Subscription Management: Easily manage and organize your RSS feeds with labels and favorites.
- Views: Multiple views for reading feeds and managing subscriptions.
FreshRSS may not have the flashiest UI, but its UX is top-notch, making it the best RSS reader I’ve used.
Fly.io: Deploy Anything, Anywhere
Fly.io is a deployment platform similar to Heroku and DigitalOcean, but with a unique twist. It offers a sleek, modern UI combined with a terminal-based approach for control, giving you the best of both worlds. Here’s how easy it is to deploy an app on Fly.io:
- Create an Account: Sign up on Fly.io.
- Login: Use your Mac terminal to log in.
- Create a fly.toml File: Specify your Docker file, RAM, storage, and more.
Here’s an example of my fly.toml
configuration for FreshRSS:
app = 'praveenjuge-freshrss'
kill_signal = 'SIGINT'
kill_timeout = '5s'
[experimental]
auto_rollback = true
[build]
image = 'freshrss/freshrss'
[env]
CRON_MIN = '*/20'
[[mounts]]
source = 'freshrss_data'
destination = '/var/www/FreshRSS/data'
[[services]]
protocol = 'tcp'
internal_port = 80
processes = ['app']
[[services.ports]]
port = 80
handlers = ['http']
force_https = true
[[services.ports]]
port = 443
handlers = ['tls', 'http']
[services.concurrency]
type = 'connections'
hard_limit = 25
soft_limit = 20
[[services.tcp_checks]]
interval = '15s'
timeout = '2s'
grace_period = '1s'
[[vm]]
size = 'shared-cpu-1x'
After creating this file, deploying your app is as simple as running a deploy command. The combination of a clean UI and powerful terminal commands makes Fly.io an excellent choice for deploying applications.
Final Thoughts
As a designer, I prioritize good UI and UX. Fly.io has both in spades, with an intuitive interface and seamless functionality. FreshRSS, while not the flashiest, provides an excellent user experience with all the features you need in an RSS reader. Both tools have earned a place in my workflow, and I highly recommend them.
Got any thoughts? Share them with me on Twitter.