From /etc/hosts to the App Store: I Accidentally Turned an Ancient Productivity Hack into a Product
TL;DR: For devs who’ve been fighting distractions since the early internet — and still are. Before Screen Time Was a Thing, We Had /etc/hosts Way back in the day, a friend showed me this neat trick: edit your /etc/hosts file and map Facebook or Twitter to 127.0.0.1. It was such a simple way to block myself from wasting time when I needed to get stuff done. I’d literally just nuke social media from my machine whenever I needed to focus. Fast Forward to Remote Life Now I mostly work solo. No teammates tapping you on the shoulder, no daily standups — just you and whatever link your friend DMs you at 10am that sends you down a YouTube rabbit hole. I realized I was getting wrecked by distractions again. One day I opened /etc/hosts like I used to… and then thought, “Wait. Why am I still doing this manually in 202X? Shouldn’t this just be an app?” I Tried the Other Apps I looked around. Apps like Opal, Freedom, SelfControl, ColdTurkey, Jomo, RescueTime… they all had something, but not quite what I needed. Some were super focused on metrics — like, cool, I know I spent 3 hours on YouTube today, now what? Others were just way too complicated: create a session, pick categories, tweak this setting, unlock that, confirm, blah blah. Some were even too strict — unlock codes your partner sets? Seriously? And don’t even get me started on cloud-based tracking of your browsing history. As someone who cares about privacy, that was an instant nope. All of that made me realize: I just wanted something minimalistic, with just the essentials. It also had to be realistic, something that works like a safety net, that I can pause if I really need to, and that most of the time just sits quietly in the background doing its job. Enter Focus Firewall So I built it. It’s called Focus Firewall. It sits in your Mac menu bar — flip a switch and boom, it blocks the usual suspects (social media, video sites, etc). I even set it up to turn on automatically at 9am and off at 5pm. I don’t even think about it anymore. It’s like a quiet little bodyguard for your attention. Some days it blocks stuff 100+ times and I barely notice. Under the Hood (Tech Stuff) I went fully native — no Electron. I’m just tired of bloated apps burning through battery and memory for no good reason. Focus Firewall is built entirely in Swift and SwiftUI. SwiftUI’s honestly been a breeze to work with — great enough performance, looks clean, and makes things quick to build. The hard part was the actual blocking: I had to build a proper network extension (Apple’s recommended way), which is no joke. With DNS encryption and stuff like HTTP/3 these days, it’s way harder to identify and block traffic cleanly — but I figured it out (shhh, trade secrets). As for Swift the language: no complaints. I’ve written code in a lot of languages and honestly, Swift holds up really well. Shipping Is Hard (But Worth It) Making it wasn’t all rainbows. I had to learn a ton of stuff outside my comfort zone — marketing, design, distribution, all the unsexy parts. This was actually the first app I’ve ever published to the App Store, and even with 20+ years of dev XP, a lot of it was new. Motivation comes and goes, and sometimes you just have to push through. It’s like a long game — some days you grind, some days you win. Just keep playing. Why I’m Happy With It What I love most about Focus Firewall is that it does exactly what I need, and nothing more. It’s fast, local, private, super lightweight, no extensions needed. The setup takes like 30 seconds. I made it for me, but maybe it’ll help you too. If you’re trying to stay focused and social media keeps pulling you in — give it a shot: focusfirewall.com And hey — if you’re into building stuff like this, or just want to chat about indie dev, Swift, productivity, or focus in general, feel free to reach out on Twitter: @terransw. Always happy to talk shop. Splash image credits: @AnnieSpratt

TL;DR: For devs who’ve been fighting distractions since the early internet — and still are.
Before Screen Time Was a Thing, We Had /etc/hosts
Way back in the day, a friend showed me this neat trick: edit your /etc/hosts file and map Facebook or Twitter to 127.0.0.1. It was such a simple way to block myself from wasting time when I needed to get stuff done. I’d literally just nuke social media from my machine whenever I needed to focus.
Fast Forward to Remote Life
Now I mostly work solo. No teammates tapping you on the shoulder, no daily standups — just you and whatever link your friend DMs you at 10am that sends you down a YouTube rabbit hole. I realized I was getting wrecked by distractions again. One day I opened /etc/hosts like I used to… and then thought, “Wait. Why am I still doing this manually in 202X? Shouldn’t this just be an app?”
I Tried the Other Apps
I looked around. Apps like Opal, Freedom, SelfControl, ColdTurkey, Jomo, RescueTime… they all had something, but not quite what I needed. Some were super focused on metrics — like, cool, I know I spent 3 hours on YouTube today, now what?
Others were just way too complicated: create a session, pick categories, tweak this setting, unlock that, confirm, blah blah. Some were even too strict — unlock codes your partner sets? Seriously?
And don’t even get me started on cloud-based tracking of your browsing history. As someone who cares about privacy, that was an instant nope.
All of that made me realize: I just wanted something minimalistic, with just the essentials. It also had to be realistic, something that works like a safety net, that I can pause if I really need to, and that most of the time just sits quietly in the background doing its job.
Enter Focus Firewall
So I built it. It’s called Focus Firewall. It sits in your Mac menu bar — flip a switch and boom, it blocks the usual suspects (social media, video sites, etc). I even set it up to turn on automatically at 9am and off at 5pm. I don’t even think about it anymore. It’s like a quiet little bodyguard for your attention. Some days it blocks stuff 100+ times and I barely notice.
Under the Hood (Tech Stuff)
I went fully native — no Electron. I’m just tired of bloated apps burning through battery and memory for no good reason. Focus Firewall is built entirely in Swift and SwiftUI. SwiftUI’s honestly been a breeze to work with — great enough performance, looks clean, and makes things quick to build.
The hard part was the actual blocking: I had to build a proper network extension (Apple’s recommended way), which is no joke. With DNS encryption and stuff like HTTP/3 these days, it’s way harder to identify and block traffic cleanly — but I figured it out (shhh, trade secrets). As for Swift the language: no complaints. I’ve written code in a lot of languages and honestly, Swift holds up really well.
Shipping Is Hard (But Worth It)
Making it wasn’t all rainbows. I had to learn a ton of stuff outside my comfort zone — marketing, design, distribution, all the unsexy parts. This was actually the first app I’ve ever published to the App Store, and even with 20+ years of dev XP, a lot of it was new. Motivation comes and goes, and sometimes you just have to push through. It’s like a long game — some days you grind, some days you win. Just keep playing.
Why I’m Happy With It
What I love most about Focus Firewall is that it does exactly what I need, and nothing more. It’s fast, local, private, super lightweight, no extensions needed. The setup takes like 30 seconds. I made it for me, but maybe it’ll help you too. If you’re trying to stay focused and social media keeps pulling you in — give it a
shot: focusfirewall.com
And hey — if you’re into building stuff like this, or just want to chat about indie dev, Swift, productivity, or focus in general, feel free to reach out on Twitter: @terransw. Always happy to talk shop.
Splash image credits: @AnnieSpratt