Career

Coding by Northern Lights: My Alaskan Remote Setup Tour

Last Tuesday at around 10 PM, I was debugging a database migration while the sky outside my office window turned green.

Last Tuesday at around 10 PM, I was debugging a database migration while the sky outside my office window turned green.

Not a subtle green. Not "is that green or is that just clouds?" green. Full aurora borealis, curtains of emerald and violet rippling across the sky like someone was testing a shader program on the atmosphere. I stopped what I was doing, walked outside in my socks — it was only about fifteen degrees, which counts as mild here in March — and stood in my driveway for ten minutes watching the show.

Build Your Own AI Agent From Scratch

Build Your Own AI Agent From Scratch

Build a complete AI agent from scratch in Python — no frameworks, no hype. 16 chapters covering tools, memory, reasoning, MCP, multi-agent systems & more.

Learn More

Then I went back inside, sat down at my desk, and finished the migration.

People ask me constantly about my setup. How do you work remotely from a cabin in Alaska? What's your internet like? Don't you get isolated? What happens when things break? I've been meaning to write a proper tour for a while, and today seems like a good day to do it.


The Cabin Itself

I should clarify something upfront: when I say "cabin," people picture something between a one-room log structure and a luxury HGTV renovation. Mine is neither. It's a regular house — about 1,400 square feet, built in the early 2000s — that happens to be situated in Caswell Lakes, Alaska, which is a small community about two hours north of Anchorage along the Parks Highway.

There's no HOA. There's no municipal water. The nearest grocery store is a thirty-minute drive. My neighbor has chickens and a theory about the federal government that I politely avoid discussing. It's not wilderness in the way people imagine, but it's genuinely rural in ways that affect daily life and definitely affect running a software business.

The office is a dedicated room on the north side of the house. I chose the north side deliberately — in Alaska, the sun does strange things seasonally, and a south-facing office means you're either baking in twenty hours of summer light or staring into complete darkness in winter. North-facing gives you consistent, diffused light year-round, and the window faces the tree line where the aurora shows up best.


The Desk and Display Setup

I'm not a minimalist and I'm not a maximalist. I'm a functionalist who happens to also like things that look good.

Primary monitor: A 32-inch 4K LG display. I tried ultrawide. I tried dual monitors. For the kind of work I do — writing code, writing articles, reviewing pull requests, managing infrastructure — a single large 4K monitor is the sweet spot. I can split it into quadrants when needed, but most of the time I'm using one or two applications at once.

Secondary display: A vertical 24-inch monitor for Slack, email, and documentation reference. This is the monitor I look at least and that matters most for my sanity. Having communication channels visible but not central means I see messages when I glance over, not when I'm trying to focus.

Desk: A 72-inch butcher block top on a motorized standing frame. I built it myself because commercial standing desks at this size cost more than my first car. The butcher block was about ninety dollars from a local lumber supplier. The motorized frame was about three hundred from a direct-to-consumer brand. Total cost was less than half of what a comparable commercial desk would have run, and it's more solid than anything I've tested in stores.

I stand about 40% of the day, sit the rest. The key insight about standing desks that nobody tells you: you need an anti-fatigue mat, and you need shoes or thick socks. Standing on a hard floor in bare feet for four hours will destroy your knees faster than sitting.

Chair: A used Steelcase Leap V2 that I found on Craigslist in Anchorage for two hundred dollars. Retails for over a thousand new. Used office chairs are one of the best value propositions in the entire work-from-home ecosystem. Companies liquidate them constantly, and a quality ergonomic chair that's been used for three years still has another fifteen years of life in it.

Keyboard and mouse: A Keychron Q1 mechanical keyboard with brown switches and a Logitech MX Master 3 mouse. The keyboard is the thing I'm pickiest about because I type roughly eight hours a day. Brown switches give me tactile feedback without making enough noise to be heard on calls.


The Internet Situation

This is the question everyone asks first, and the answer is more complicated than it should be.

My primary connection is Starlink. I was an early adopter — got my kit in 2021 when it was still technically in beta. In 2026, Starlink in Alaska delivers roughly 100-200 Mbps down and 15-30 Mbps up, with latency around 25-50 milliseconds. That's adequate for everything I do, including video calls, deployments, and transferring large files.

But "adequate" comes with asterisks.

Starlink has brief dropout periods, usually lasting 5-30 seconds, that happen a few times per day. If you're on a video call, you'll notice. If you're SSHed into a server, you'll notice. If you're pushing a large commit, you'll notice.

My solution: a secondary LTE connection through prior AT&T service that acts as automatic failover. I use a Peplink router that bonds both connections and handles failover transparently. When Starlink drops, the router switches to LTE within seconds. My SSH sessions stay alive because I route them through mosh instead of raw SSH, which handles connection interruptions gracefully.

# My typical remote server connection
# mosh handles intermittent connectivity far better than ssh
mosh user@production-server -- tmux attach -t main

The total cost is roughly $140/month for Starlink and $60/month for the LTE backup. Two hundred dollars a month for internet sounds expensive until you remember that it's a business expense and that unreliable internet when you're trying to respond to a production incident is not an option.

The Winter Problem

Here's something Starlink's marketing doesn't emphasize: the dish needs a clear view of the sky, and in Alaska, "clear view of the sky" is complicated by snow.

The Starlink dish has a built-in heater that melts light snow. It does not handle heavy snowfall, which in interior Alaska means roughly October through April. I've had multi-hour outages after heavy storms because the dish was buried under six inches of wet snow.

My solution is boring but effective: I mounted the dish on a pole attached to the house, high enough that snow slides off but low enough that I can reach it with a broom. About once a week in heavy snow season, I go outside and brush off the dish. It takes thirty seconds and it's become as routine as checking the woodstove.


Power and Backup

Power reliability in rural Alaska is… variable. The local utility does its best, but when you're at the end of a long transmission line and a moose decides to scratch its back on a transformer (this has actually happened), you're going dark.

My setup:

UPS systems: Every piece of networking equipment and my workstation runs through an APC UPS. The workstation UPS gives me about twenty minutes of runtime, which is usually enough to save everything and shut down gracefully. The networking UPS keeps the router and Starlink dish alive for about forty-five minutes.

Generator: A Honda EU2200i inverter generator that I can have running within about three minutes of a power failure. It runs the office, the networking equipment, and the refrigerator. I keep fifteen gallons of stabilized gasoline on hand at all times.

Power failures per year: Roughly eight to twelve, ranging from thirty seconds to six hours. The longest was fourteen hours during a winter storm in 2024. I worked the entire day on generator power with only a brief interruption while I got it started.

The honest assessment: power reliability is the biggest practical challenge of working remotely from rural Alaska. It's manageable with preparation, but it requires preparation. You can't just plug in a laptop and hope for the best.


The Software Stack

My development environment is tuned for reliability over flash.

OS: Windows 11 with WSL2 running Ubuntu. I've used Linux as a daily driver. I've used macOS. At this point in my career, I use whatever lets me get work done with the least friction, and for my workflow that's Windows with Linux available when I need it.

Editor: VS Code with a handful of extensions. I know people have strong opinions about editors. I've used Vim for decades, I've tried every JetBrains product, I've experimented with Neovim configurations that took longer to set up than the projects they were meant to support. VS Code is boring and productive and I've stopped apologizing for it.

Terminal: Windows Terminal with multiple profiles — one for PowerShell, one for WSL Ubuntu, one for SSH sessions. The tab interface means I can keep six or seven terminal contexts open without losing track of which one is which.

AI tools: Claude Code for agentic development work. This has been the single biggest force multiplier in my toolkit over the past year. When I'm working on a complex feature, I can describe what I need and have Claude Code implement it across multiple files while I review and guide the process. It's like pair programming with someone who never gets tired and types faster than I do.

Deployment: DigitalOcean App Platform for web applications. I've used AWS, GCP, Azure, bare metal, and everything in between. For the scale I'm working at — which is the scale most independent developers work at — DigitalOcean hits the right balance of simplicity, cost, and capability.


The Daily Rhythm

Working remotely from Alaska isn't just about the gear. It's about the rhythm, and the rhythm here is different from anywhere else I've worked.

6:00 AM — Wake up. In winter it's pitch dark. In summer it's been light for hours. Your body adapts to this eventually, but it takes a couple of years. A sunrise alarm clock helps in winter.

6:00 - 6:30 AM — Coffee, woodstove check in winter, outside for a few minutes regardless of weather. I've stood outside at forty below zero because the habit matters more than the comfort.

6:30 - 7:00 AM — Physical activity. Walk, snowshoe, or chop wood depending on season. No screens.

7:00 AM - 12:00 PM — Deep work block. This is when I write code, write articles, do architecture work. No meetings before noon. This is non-negotiable and it's the single most important productivity decision I've made.

12:00 - 1:00 PM — Lunch and usually a longer walk. In winter, this is when you get whatever daylight exists. In December, that's about five hours total, and the lunch window captures the best of it.

1:00 - 5:00 PM — Meetings, communication, code reviews, administrative work. The stuff that requires interaction with other humans. I batch it into the afternoon because context-switching between deep work and communication work is the most expensive transition I've measured.

5:00 PM — Done. Laptop closed, moved to another room. This boundary is absolute.

Evening — In winter, this is when the northern lights happen. They're not every night, but they're frequent enough that I've stopped being amazed and started being appreciative, which feels like the right relationship to have with something that extraordinary.


What I've Learned About Remote Work from the Edge

Working from a cabin in Alaska is an extreme version of remote work, and extreme versions tend to clarify what actually matters. Here's what I've learned:

Internet reliability matters more than speed. I could do my job on 25 Mbps as long as it never dropped. The dropouts are what kill you — the interrupted SSH sessions, the frozen video calls, the failed deployments. Invest in redundancy, not bandwidth.

Your physical environment is your operating system. When your commute is zero and you never leave your house for work, the house itself becomes the workspace. Every ergonomic compromise — the bad chair, the glaring window, the desk that's too high — compounds over months and years. Invest in the physical setup like you'd invest in a production server.

Isolation is real but manageable. I'm an introvert, and I still need deliberate effort to maintain human connections. Video calls don't fully substitute for in-person interaction, but they're better than nothing. I drive to Anchorage roughly twice a month for errands and social contact. I have a small group of local friends. I'm active in online communities. It works, but it doesn't work passively.

Nature is not optional. I used to think that living somewhere beautiful was a luxury. After three years here, I think it's infrastructure. The morning walks, the seasonal rhythms, the fact that I can look up from my screen and see mountains — these aren't perks. They're the reason I can sustain this work over decades without burning out.


Would I Recommend It?

People ask me this constantly, and the honest answer is: it depends on who you are.

If you need the energy of an office, if you thrive on spontaneous in-person collaboration, if you like being able to walk to a coffee shop for a change of scenery — Alaska probably isn't your move.

If you're the kind of person who does their best work in long, uninterrupted blocks, who recharges through solitude and nature, who's willing to trade convenience for autonomy — it might be exactly what you're looking for.

The northern lights help. I won't pretend they don't. There's something about debugging code while the sky is doing something impossible that reframes the work in a way that's hard to describe. The code matters. The migration matters. But the sky is doing that, right now, and tomorrow morning there will be moose tracks in the snow, and in six months the salmon will be running.

You don't need Alaska specifically. But you might need whatever your version of Alaska is — the place where the work fits into a life rather than consuming it.

My Starlink is working. My coffee is hot. The aurora is forecast for tonight. Time to ship some code.


Shane Larson is a software engineer and writer living in Caswell Lakes, Alaska. He builds things at Grizzly Peak Software and AutoDetective.ai, and wrote a book about training large language models. His Starlink dish needs brushing off again.

Powered by Contentful