James Fee

Geographer who now spends his time on cloud architecture. Engineering Director @Trimble for workflows.

Lifelong baseball fan, proud supporter of the San Francisco Giants, and a devoted thalassophile who finds peace by the ocean.

James Feejamesfee
2026-02-06

Cloud-native didn’t fail. We finished:

• storage
• compute
• deployment

We skipped:
• workflows
• failure modes
• observability
• accountability

Then we blamed “complexity.” Cloud-native didn’t create it. It just made it visible.

spatiallyadjusted.com/cloud-na

James Feejamesfee
2026-02-04

@IvanSanchez does it have “reveal codes”?

James Feejamesfee
2026-02-04

Every modern GIS platform claims to be “self-service.” What they really did was move complexity out of sight and onto users.

Invisible workflows, optional metadata, silent failure — and one poor human who “just knows how it works.”

spatiallyadjusted.com/the-lie-

James Feejamesfee
2026-02-02

I really enjoyed Bill Dollins’ recent Post-GIS Revisited post — not because it settles the question, but because it refuses to.

It got me thinking (again) about how GIS didn’t disappear so much as dissolve into workflows, metadata, and systems that don’t need heroics anymore.

I wrote up a few thoughts as a continuation of the conversation:
spatiallyadjusted.com/post-gis

Curious how others are experiencing this shift in practice.

James Feejamesfee
2026-02-01

@macsparky Keep pushing. I'll be honest, I miss Katie. She was such a unique voice.

James Feejamesfee
2026-01-31
James Feejamesfee
2026-01-31

@mvexel Utah state operating system is Novell NetWare 3 and the state network layout is token ring.

James Feejamesfee
2026-01-30

At scale, systems don’t fail sometimes. They fail constantly.

The real problem isn’t failure — it’s pretending failure is exceptional.

When failure semantics aren’t explicit, humans appear to interpret partial success, retries, and blast radius.

Lessons from Scale #10:

Failure Is a First-Class API

spatiallyadjusted.com/lessons-

James Feejamesfee
2026-01-29

Observability is often treated as debugging exhaust.

At scale, it becomes something else entirely: the way systems communicate reality to users. When systems aren’t observable, humans reappear as historians and state lookups.

Lessons from Scale #9:

Observability Is a User Feature

spatiallyadjusted.com/lessons-

James Feejamesfee
2026-01-29

APIs are necessary.

They are also wildly insufficient.
Integration failures don’t happen at endpoints — they happen at state, retries, and ownership of “what happens next.”

When workflows are missing, humans quietly reappear as the integration layer.

Lessons from Scale #8: APIs Don’t Integrate Systems. Workflows Do.

spatiallyadjusted.com/lessons-

James Feejamesfee
2026-01-27

GIS has worked for a long time because people quietly absorbed the complexity.

- They reran jobs.
- They fixed projections.
- They explained caveats no system ever documented.

That looks like flexibility. It’s actually fragility.

spatiallyadjusted.com/humans-a

James Feejamesfee
2026-01-26

At scale, standards don’t break — they calcify.

What starts as a useful interface slowly turns into doctrine.

Validation replaces understanding.

Humans absorb the mismatch.

This post evolved because of the discussion around it, which is kind of the point.

spatiallyadjusted.com/lessons-

James Feejamesfee
2026-01-23

“It’s just a file” works great — right up until scale shows up.

COG and STAC didn’t emerge because GIS needed new formats. They emerged because assumptions stopped scaling.

COG + STAC isn’t a stack. It’s a contract between producers and consumers about how data is accessed, discovered, and trusted.

🔗 spatiallyadjusted.com/cog-stac

James Feejamesfee
2026-01-22

Scale doesn’t create complexity.
It removes the padding. When systems are small, heroics hide design flaws. When systems grow, those same assumptions turn into alerts, retries, and weekend incidents.
Lessons from Scale #5: Scale doesn’t break systems — it reveals the real one.

🔗 spatiallyadjusted.com/lessons-

James Feejamesfee
2026-01-22

Blogging again has been therapeutic. I just wrote this in my next post:

"At large scale, filenames stop being metadata and start being folklore.

And folklore is not queryable."

James Feejamesfee
2026-01-21

I’ve been dealing with the same “GIS problem” for most of my career.
Different tools, different orgs, same root cause: GIS didn’t create the complexity — it just stopped letting people ignore it.

More here: spatiallyadjusted.com/gis-does

James Feejamesfee
2026-01-21

@spara you gotta do what you gotta do

James Feejamesfee
2026-01-21

@spara apparently he’s heading to Orange County for this one

James Feejamesfee
2026-01-21

@spara I’d just head to Cancun.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst