Based in Haarlem, nationwide
MG Software is a software studio in Haarlem. We build custom web applications, integrations and redevelopment for clients across the Netherlands. What we do not have: an office in every city, or a page where only the place name changed.
Where we sit
Jordan Munk and Sidney de Geus work from Haarlem. That is not a slogan; it is where we write code, run reviews and host the first conversation if you visit. The Chamber of Commerce address, the phone line +31 6 51 37 92 30 and info@mgsoftware.nl belong to that studio. If you are looking for a software company in Haarlem, this is it: two founders who build themselves, no account-manager layer and no offshore night shift.
Haarlem is practical. Amsterdam-West, the Zuidas, Hoofddorp, Schiphol-Rijk, Heemstede, Bloemendaal, Velsen and Zandvoort are about half an hour away. For Kennemerland and the Amsterdam region we schedule discovery and handover on site without charging travel time. The sprints in between are location-independent: the same developers, the same two-week rhythm, reviews over video with screen share.
We do not claim a second office in Utrecht, a branch in Eindhoven or a “software in Groningen” shop. If you look us up on a map, you see Haarlem. If you look us up as a supplier, you see nationwide delivery. Holding those two together is more honest than twenty city names on the same template.
What nationwide delivery looks like
Custom software rarely depends on the builder’s postcode. What matters is whether we see the process where it currently breaks, whether the people inside it are available, and whether we can ship the same codebase every week. We set that process up for distance: a shared workspace, asynchronous updates, and one fixed weekly contact moment for decisions that do not fit in a ticket.
A logistics firm in Tilburg has different priorities than a law firm in The Hague. That difference lives in the software, not in an extra office. We start with the process: which roles, which systems, which exceptions. Architecture follows, not a local brochure. The shapes we build most often are described under custom web applications and software integrations.
Remote does not mean anonymous. You work with the people who merge the pull requests. Sprint reviews are not a project-manager status round; they are a screen with the real application, real data (or a safe copy) and the real bottlenecks. If something stalls, you call the same developer, not a ticket queue.
When we visit
In-person time matters most in two phases. In discovery we want to see the process where it currently breaks: the spreadsheet on the desk, the inbox used as a backlog, the colleague who is the only one who knows the exceptions. At handover we walk through the environment with your administrator or in-house developer so you are not stuck depending on a screenshare.
For clients in Kennemerland and the Amsterdam region those moments are standard. For further-out regions we schedule them at a central place, at your office, or in Haarlem if you are in the Randstad anyway. We do not sell travel time as a product; we plan it when it strengthens the collaboration. We do not drive across the country every week, because that eats the build time you are paying for.
In between, the rhythm stays the same. Two-week sprints, a fixed review moment, and short chat lines in between. If you want a weekly chair in our office, a staffing firm fits better. If you want a team that finishes a portal or an integration, this is the model.
What we build from Haarlem
Three kinds of work make up most of our projects. Client portals where your customers see their own orders, documents and invoices. Internal web apps and dashboards that pull a process out of Excel and email. Integrations between systems that currently do not talk: ERP, accounting, payment providers, planning, CRM.
We also redevelop software that has stalled: an ageing stack, a vendor that disappeared, or a product that grew but can no longer be maintained. That path is described separately on software redevelopment. Technical SEO for sites we build or take over, from the same codebase, lives on SEO Haarlem.
What we do not do: standalone marketing sites, WordPress retainers, or an “app factory” without ownership. There are better firms for that in Haarlem and elsewhere. What we do do is in the portfolio. No invented percentages, live work with an address you can open.
Why there is no city directory here
We used to have pages such as “software development in Amsterdam” through to Groningen. Same studio, same services, a different place name. That is convenient for search volume and inconvenient for anyone who wants to know whether we actually sit in that city. We sit in Haarlem. We reach the rest of the Netherlands with the collaboration model above, not with an extra LocalBusiness address.
If you search “software company near me”, you deserve a straight answer: you get a Haarlem studio that delivers nationwide, not a branch around the corner. If you want a local freelancer in Eindhoven or a staffing firm in Utrecht, search there. If you want a fixed pair of developers who finish a portal or an integration, you can start here, whether you sit in Breda or Zwolle.
That choice keeps this page useful. You read how we work, when we visit, and what to expect. You do not read the same paragraph twenty times with a different skyline. If you want local visibility in Haarlem and Kennemerland for your own company, that is a different question; you will find it on the SEO page, not in a grid of cities we do not staff.
Kennemerland and the Randstad
For companies in Haarlem, Heemstede, Bloemendaal, Haarlemmermeer and Amsterdam the barrier is low. An introduction can be at our studio, at yours, or over video. The first hour is complimentary: what is stalling, who will work in the software, what budget and timeline you have in mind. You do not need a functional design. A sketch and access to the people who do the work is enough.
In the Randstad, proximity mainly helps with priorities. Marketing and development in one room, an afternoon to sharpen the backlog, then back to remote building. That is different from “we are around the corner so we will pop in”. Our calendar is sprint-driven. Visiting is always welcome; the coffee is ready, and it helps that you see who you work with. It does not replace the rhythm.
Rates are Haarlem senior rates, not a Zuidas markup for office rent. You usually get a first indication within a working day, or via the project calculator if you want a range before we call.
Clients outside the Randstad
Brabant, Overijssel, Groningen, Limburg: the same sprints, the same people. The difference is the calendar, not the quality. We plan discovery as a block: a day or two on site at the start, then remote, and a handover when the first version goes live. In between we do not travel back and forth every week.
That model works if you have a counterpart who can make decisions on the weekly call. It works less well if every small change needs a committee and a travel booking. Say that in the first conversation; then we know whether we fit, including when the answer is no.
Belgian or German work happens occasionally, in Dutch or English, with the same remote setup. The default is the Netherlands. Invoicing, GDPR processor terms and hosting follow where your users sit, not our office address.
Book a conversation
The shortest path is contact: the form, a phone call, or an appointment in Haarlem. Tell us what is stalling, which system you already use, and whether there is a deadline. More context means sharper advice. You will not get a pitch deck. You will hear whether we are the right party, including when we are not.
If you first want to see how we talk about the work without a sales call, start with Jordan and Sidney or the portfolio. Local SEO for Haarlem is a different product from custom software; we keep those pages apart so you do not have to decode a city grid to know what we do.
Read on
No city directory. These are the pages where a typical engagement starts.
Frequently asked questions
Schedule a callDo you have an office in Amsterdam, Rotterdam or Utrecht?
No. The only office is in Haarlem. We do work for clients in those cities, with on-site discovery when that helps the process and remote sprints. We do not add extra addresses in Google to rank locally.
Do you charge travel time outside Haarlem?
Not for Kennemerland and the Amsterdam region. Further away we plan visits as blocks in the calendar, not as a weekly commute. Travel time is not a product line on the invoice; if a visit does not strengthen the collaboration, we stay remote.
How often do we meet during a project?
At least at kick-off or discovery and at handover. In between, a fixed weekly or bi-weekly review over video. Extra in-person sessions happen when priorities stall or when new users need to see the product before we build further.
Should I look for a local developer in my city or a studio in Haarlem?
A local freelancer makes sense if you want someone at your office. A Haarlem studio makes sense if you want a fixed pair who finish a portal, dashboard or integration, with source code and documentation that stay yours. We do not mix those two search intents on this page.
Can we do discovery at our office?
Yes, and that is often better. We want to see the process where it currently breaks, with the people who know the exceptions. You are also welcome in Haarlem. Say in the contact form which is more practical; we plan around it.
Is this the same page as SEO Haarlem?
No. This page is about where we sit and how we deliver nationwide. SEO Haarlem is about technical discoverability of your site. Custom software and local SEO are different engagements, with different intakes.
