People imagine remote work happening in Lisbon co-working spaces, Bali beach cafes, or at minimum a city with a subway system.
I work from Gevgelija.
If you've never heard of it — that's the point. It's a town of around 15,000 people in the south of North Macedonia, pressed against the Greek border. There are no tech meetups here. No startup offices. No networking happy hours. The closest thing to a co-working space is a cafe with decent Wi-Fi and an owner who doesn't mind you sitting there for three hours.
I'm building a frontend architecture studio from here. This is what that actually looks like.
The Setup
My office is a room in my house. On my desk: a custom-built Windows 11 Pro machine — i7-12700, 32GB RAM, GTX 1650 — running Pop!_OS Linux as my daily driver. Next to it, a 2012 MacBook Pro running Fedora for secondary work and testing. Two monitors. A mechanical keyboard. Good headphones.
It's not a glamorous setup to describe. But it runs WebStorm, Docker, multiple dev servers, and a Figma window simultaneously without flinching. That's what matters.
The internet in Gevgelija is faster than most people expect. I'm not fighting for bandwidth at a co-working space or hoping the cafe router holds up during a client call. My connection is mine, stable, and fast enough to push large repos, share screens, and run cloud deployments without thinking about it.
The hardware and the connection are the only infrastructure I actually need. Everything else is software.
The Time Zone Math
My clients are in the US, UK, and Western Europe. Gevgelija is UTC+1 in winter, UTC+2 in summer. That puts me 1–2 hours ahead of the UK and 6–9 hours ahead of the US East Coast.
In practice: I start work at 8 or 9 AM. By the time my UK clients are at their desks, I've already put in two or three hours of focused work. By the time my US clients wake up, I've had a full productive morning and I'm ready for calls in the afternoon.
This is not a bug. It's one of the better features of my location.
The deep work hours — the ones where you're actually solving hard problems, writing architecture documents, building complex components — happen in the morning before the world needs you. The communication, the reviews, the calls happen in the afternoon when my clients are online.
I didn't design this on purpose. It's just how the time zones worked out. But I'd design it this way if I could.
What You Actually Miss
I want to be honest about this because most remote work content is either pure evangelism or pure complaint, and reality is messier.
You miss the incidental conversations. The hallway chat that turns into a product decision. The lunch where someone mentions a problem and you realize you solved it last month. That kind of serendipity doesn't happen when you're working alone in a room in Gevgelija.
I've replaced some of it with Slack, with Loom videos, with long async messages that probably contain more thinking than I'd do out loud. It's not the same. Some things are lost.
You miss the immediate feedback loop. In an office, you can spin your chair and ask someone if your approach makes sense. Async has a latency to it. Sometimes you spend three hours going the wrong direction before someone reads your message and points it out.
You miss the social architecture of a workplace. Even if you didn't love your office, it gave you a structure to the day that you didn't have to build yourself. Remote work means building that structure from scratch, every day, indefinitely.
These are real costs. I'm not pretending otherwise.
What You Don't Miss
The commute. Obviously. But it's not just the time — it's the mental residue a commute leaves. Getting to my desk takes thirty seconds. I arrive at work already thinking about the problem I was thinking about when I woke up.
The open-plan office. I can focus here. Actually focus. The kind of deep concentration that software architecture requires — holding an entire system in your head, reasoning about edge cases, writing code that needs to be right — that's hard to do in a noisy room. It's much easier in a quiet one.
The performance of being busy. In an office, there's often an implicit expectation to look busy, to be visibly present, to signal effort. Remote work — when done right — only cares about output. Did the feature ship? Is the code clean? Does the architecture hold? That's the whole scorecard.
The geography tax. If I lived in a tech hub city, I'd be paying city prices for everything — rent, food, transport — just to be physically near an industry that I can access entirely online. Gevgelija is cheap. Not "developing world cheap" — it's a normal European town with normal European amenities — but cheap relative to Berlin or Amsterdam or London. My cost of living lets me make financial decisions from a position of stability rather than pressure.
The Loneliness Problem
I'll say it directly because it gets glossed over in remote work content: it can be lonely.
Not always. Not in a dramatic way. But there are days when you've been in your own head for eight hours, you've shipped good work, and there's no one around to even register that it happened. The work disappears into a Vercel deployment and a closed Linear ticket and you make yourself a coffee and that's the end of the day.
What I've found helps: having a few real relationships with people you work with, even async. Not just professional contacts — people you actually talk to, who know what you're working on, who you can send a message to that isn't just task-related. Finding those relationships takes effort in a remote context. It's worth the effort.
I've also found that working from a cafe once or twice a week, even without talking to anyone, helps. Just being around other humans in a physical space does something that apparently can't be fully replicated by Slack.
The Gevgelija Advantage
Here's the thing nobody writes about: being from a small, specific, non-obvious place is actually an asset online.
Everyone in tech is from London or Berlin or San Francisco or at least a city someone's heard of. When your location is part of your story — a frontend engineer running a studio from a border town in North Macedonia — it's memorable. It's specific. It stands out in a way that "freelance developer based in a major European city" does not.
The geography that looks like a limitation from the outside is part of the identity of what I'm building. PrismaFlux Media from Gevgelija is more interesting than PrismaFlux Media from Anywhere Generic.
I lean into it now. It's on the website. It's part of how I talk about the work. And the clients who find it interesting are almost always the ones I want to work with.
What It Requires
Remote work from a small city isn't passive. It doesn't just happen because you have a laptop and a internet connection. It requires a few things that take real effort to build:
Self-imposed structure. You need working hours that you actually respect, an environment you can focus in, and some separation between work time and not-work time. Without those, remote work becomes either workaholism or drift.
Deliberate communication. When you're not in the room, you have to be a better communicator than you'd need to be in person. More written documentation. More proactive updates. More clarity on scope and expectations before work starts rather than during it.
A visible presence online. If clients can't find you — portfolio, GitHub, LinkedIn, published writing — you don't exist. Being remote and being invisible are not the same thing, but they require the same corrective action: show up online, consistently, with work worth looking at.
Tolerance for ambiguity. You will sometimes not know if you're doing it right. The feedback loops are longer. The signals are quieter. You have to be comfortable operating in that uncertainty for stretches of time.
The Honest Summary
Working as a remote dev from Gevgelija is not a lifestyle choice I'm performing for an audience. It's just where I'm from and what I do. The town doesn't make it easier or harder to write good TypeScript. The architecture of a well-structured Next.js app doesn't care what's outside my window.
What the location does is keep the costs low, the distractions minimal, and the story specific.
That's enough.
Lazar Kapsarov is a frontend engineer and the founder of PrismaFlux Media, building scalable digital products from Gevgelija, North Macedonia. If you have a frontend problem, book a free strategy call.