← Blog

One month with the MacBook Air M5 as my main dev machine — is a fanless laptop enough for full-stack freelance?

I sold my MacBook Pro 14 M3 and bought a MacBook Air M5. The reason sounds backwards: because I moved my 16-container stack to a VPS, my local machine no longer needs to be a beast. One month in — here's when the Air is enough, when it throttles, and why a powerful dev machine is becoming overkill.

A black MacBook Air on a desk — a stand-in for the MacBook Air line

Last month I did something that sounds backwards for a full-stack freelancer: I sold my MacBook Pro 14” M3 and bought a MacBook Air M5. A step down, not up.

The reason wasn’t money. It’s that my stack no longer runs on my local machine. After moving all 16 containers to a Vultr Singapore VPS, the heaviest thing my local machine does each day is… open VS Code and an SSH tab. And any Apple chip since 2020 can do that in its sleep.

The question I wanted to answer after a month: is a laptop with no fan enough to be the main dev machine for full-stack freelance?

TL;DR

Buy the Air M5 if:

  • Your heavy work runs on a server/VPS, and your local machine is mostly editor + browser + SSH
  • You value total silence and all-day battery over a few percent of build speed
  • You carry the machine to cafés / move around a lot (the Air is ~300g lighter than the Pro, and you feel it)

Buy the Pro instead if:

  • You build heavy locally and continuously (large Xcode compiles, big Rust workspaces, 10+ Docker containers right on the machine)
  • You need a 120Hz ProMotion display / more ports / multiple external monitors
  • You render video / run local LLMs regularly

The config I bought

  • MacBook Air 13” M5, 24GB RAM, 512GB SSD.
  • M5 chip (CPU ~20% faster than M3, GPU ~30% faster by my own rough benchmarks).
  • No fan — fully passive cooling.
  • 13.6” 60Hz display (this is the biggest downside, more below).
  • 2 Thunderbolt ports + MagSafe + headphone jack.
  • About $1,299 as configured.

Versus my old MacBook Pro 14 M3 (18GB, $2,000+), I saved ~$700 and pocketed it.

3 things that mean I don’t regret it

1. Total silence — and it changes how I work

My MacBook Pro had a fan. That fan spun up every time I ran docker compose up or a test suite. I was so used to it I stopped noticing — until it was gone.

The Air M5 has no fan. Zero. Over the past month I haven’t heard a single sound from the machine, even running npm run build for this very Astro blog. Sitting in a quiet Hanoi café, the machine emits nothing — a feeling that’s hard to describe until you have it.

2. Battery — the first time I left the charger at home

The MacBook Pro M3 gave me ~7-8 real working hours. The Air M5 gives ~12-14. For the first time in my dev life I carried the machine out for a full day without the charger. That’s the difference between a “portable laptop” and a “laptop that needs to be plugged in.”

Why does the Air last longer than the Pro despite a smaller battery? Because no fan = no thermal load to dissipate, and the 60Hz display draws less than ProMotion. The paradox: the weaker model goes further.

3. Because the stack lives on a VPS, I never hit the performance ceiling

This is the core thesis of the whole post. My workflow now is:

  • Code in VS Code locally
  • The real stack (Laravel + MySQL + Redis + Next.js, 16 containers) runs on a Vultr VPS
  • ssh + the Remote-SSH extension to dev directly on the server
  • The local machine just holds the editor, browser, terminal, occasionally Figma

With this workflow, the local machine is a premium thin client. The heaviest thing it does is build the Astro blog (~90 seconds) and occasionally open a small Next.js project locally. The M5 swallows that without breaking a sweat. I have not once seen it throttle in a month — because I never push it long enough to get hot.

Here’s the thing few people say: if you’ve already pushed your heavy work to the cloud/VPS, a powerful dev machine becomes overkill. You’re paying for performance you don’t use.

2 things I had to accept

1. Throttling is real — if you build heavy locally

I tested it on purpose: clone a large monorepo, run a full local build + test, repeat 5 times back to back. Runs 1-2: as fast as the Pro. From run 3 on: ~15-20% slower as the aluminum heats up and there’s no fan to dissipate it. That’s the nature of a fanless laptop.

For me, no problem — I don’t build heavy locally anymore. But if your workflow is constant local compiling, this throttle will eat your productivity. The Pro’s fan exists precisely to hold speed under sustained load.

2. The 60Hz display — a noticeable step back

This is the downside I notice every day. After getting used to ProMotion 120Hz on the Pro, going back to 60Hz makes the cursor and scrolling feel slightly choppy. Apple deliberately keeps 120Hz a Pro privilege. After a week my eyes re-adjusted — but the first week genuinely bugged me.

Storage: 512GB and an old lesson

I bought 512GB instead of 256GB — because I already learned the full Mac drive lesson once. 256GB in 2026 is still a trap for devs (node_modules, Docker images, Xcode). With the stack on a VPS, I no longer have local Docker images eating space — but 512GB is still the minimum I’d recommend to any dev.

Vs MacBook Pro M5 — who needs the Pro?

I used to think devs “had to” use the Pro. Wrong. You need the Pro if the local machine is where the heavy work happens:

  • Building large Xcode apps, compiling big Rust/C++ workspaces
  • Running a multi-container Docker stack right on the machine
  • Rendering video, training/running models locally
  • Needing multiple external monitors / more ports

If none of those apply — and if you have or could move your stack to a server — the Air M5 is enough. More than enough.

Verdict

The MacBook Air M5 is the best dev machine I’ve used for my workflow — not because it’s the most powerful, but because it’s exactly powerful enough and drops everything I don’t need (the fan, the weight, the $700). The lesson is identical to the Pixel 9a one: the “good enough” 2026 product is genuinely good enough, and the price jump to the Pro buys performance many people never touch.

If your heavy work has already left the local machine — go ahead and step down. The Air M5 will surprise you with how little you miss.

Sources

  • MacBook Air M5 spec from Apple. Tested unit: M5, 24GB, 512GB.
  • CPU/GPU benchmarks: Geekbench 6 + real-world npm run build time on my personal Astro blog (vs the old MacBook Pro 14 M3).
  • Throttle test: full build + test of a large monorepo, repeated 5 times, timing each run.
  • VPS stack context: see the Hetzner → Vultr Singapore migration post.
  • Illustration: MacBook Air, Wikimedia Commons, MacBook Air black by Tim Malabuyo, CC BY 2.0 (a stand-in for the MacBook Air line — not the actual M5 model).