Fifteen days ago I cloned the EF-Map repository and started ripping the EVE Frontier universe out of it so I could drop the EVE Online universe in instead. Six days later it was live at eo-map.com. If you landed on this page because you were actually looking for an EVE Online map rather than an EVE Frontier one, that is the short version and you can stop reading here. EO-Map is free, it draws all 5,485 solar systems of New Eden in 3D or in CCP's flat schematic layout, and it plans routes.
The longer version is that I naively thought cloning EF-Map, stripping out the Frontier-specific parts and swapping the universe would be quick and easy. It was quick. Compared with the year EF-Map took, six days to a working product in a different game is absurd. But it was not easy in the ways I expected, and the ways it was hard turned out to be the interesting bit, so that is what this post is about.
I should also be honest about why it exists at all. Boredom. EF-Map had reached a point where I was inventing features partly because I had AI subscriptions sitting there and no genuinely new problem to point them at. Make-work, essentially. Cloning the map into a much bigger game with a completely different data landscape was the first thing in a while that felt like a real challenge again.
What the clone actually was
There was no clever migration. I cloned the whole EF-Map repository with its full history, 3,507 commits of it, pinned the exact commit I forked from, and started making decisions about every inherited surface one at a time. Keep, adapt, or hide. Since the fork on 12 August there have been 584 new commits on top. The web app folder inside EO-Map's repo is still called eve-frontier-map, because renaming it bought users nothing and me a pile of merge pain, and there is a constant buried in the code that still points support at the EF-Map address. I will get to it.
One correction the Git history forced on me: I have been telling people EO-Map took nine days. It cloned on 12 August, launched on the 18th, and has been live for nine days as I write this, which makes fifteen days of development in total. So nine days is how long it has been a product, not how long it took. My memory rounds things in whichever direction makes the better story, which is exactly why I checked before writing this down.
The universe is 143 times smaller
The first thing that broke was scale. EVE Frontier's cluster spans about 14,480 light years along its longest axis. New Eden spans about 101. That is a factor of roughly 143, and I mean 143 times in a straight line, not in volume. In volume the difference is astronomically sillier.
Almost everything visual in EF-Map is tuned in light years, and all of it inherited assumptions about a 14,480 light year universe. The nebula rendering integrates brightness along the path your eye travels through the volume, so in a universe where every path is 143 times shorter it collected about a 143rd of the intended light and simply did not show up. The warp flythrough turned out to have been quietly compensating with a 143 times inflation hack that had to be found and removed. The first time I ran a search that highlighted 3,552 systems, the halo sizing, calibrated for Frontier distances, drew it as one solid orange blob. And it turned out the two products did not even agree on the length of a light year. EF-Map uses the IAU value, while CCP's jump maths in EVE Online use a rounded 9.46 quadrillion metres, which is about 0.008 percent shorter. You do not care about 0.008 percent until you try to draw one universe inside the other and claim it is to scale.
Which is the nice part of the story, because that is exactly what the scale problem turned into. Once both maps agreed on what a metre was, comparing the universes was nearly free, so both got a Compare Universe Scale feature on the same day. EF-Map can draw New Eden inside the Frontier cluster at true physical scale, where it is a speck you have to fly over to. EO-Map does the reverse and pulls the camera back until Frontier surrounds New Eden. I think it is the best single illustration of how different the two games' settings are, and it only exists because the mismatch broke everything first.
Someone already did the data work
The bigger difference is where the data comes from, and this was the genuinely pleasant surprise.
EF-Map supports an alpha game. Almost nothing about EVE Frontier's data is handed to you, so over the past year getting information has meant extracting it from the game client after every patch, indexing the blockchain, reading other people's GitHub repositories and generally working out for myself where the truth lives. There is no page that says "this is where you get this data". You figure it out, and you re-figure it out when a patch moves it.
EVE Online is a different planet. There is ESI, a mature, documented, versioned API, and there is the SDE, the Static Data Export, which is essentially the game-client extraction step already done for you and published. I pinned a specific SDE build, generated my own compact databases from it, and cross-checked the routing against ESI's route endpoint to make sure my gate graph agreed with CCP's. It did. A full day of that replaced what took months of reverse engineering on the Frontier side.
One qualification, because curated convenience cuts both ways. The SDE contains what CCP chooses to publish, by definition. There is an argument that at some point I should do to the EVE Online client what I do to the Frontier client and see whether anything useful sits outside the official export. For now EO-Map has deliberately played by the established rules, the SDE plus ESI plus a couple of third-party sources like zKillboard, EVE-Scout and CCP's monthly economic report, all credited where they appear.
Two containers out of 34
EO-Map follows the same architecture rule EF-Map has always had: your browser never fetches shared map data from upstream. A collector runs on my VPS, polls ESI on its own schedule while honouring CCP's cache headers, and publishes snapshots to Cloudflare object storage, which is what browsers actually read. Live kills go collector to storage to a small worker that pushes them to browsers over a websocket. The result is that visitor ten thousand costs CCP and me the same as visitor one, and the rate limits get respected by exactly one well-behaved client instead of everyone's browser tab. The one exception is deliberate: if you sign in with EVE's own SSO, your browser talks to ESI directly for your own character data, and that token never touches my servers.
Here is the comparison I find funniest. I counted this morning: the VPS is running 34 Docker containers, and exactly two of them are EO-Map. Nearly all of the rest exist to acquire, index and process EVE Frontier data. Chain indexers, enrichment pipelines, snapshot exporters, cron jobs, the monitoring for all of it. Two boxes cover an entire second game because CCP publishes what the Frontier side makes me dig for. The point is not that 34 containers is impressive. It is a measure of how much infrastructure an alpha game with no official data surface forces on you, compared with a 23-year-old game with a mature one.
The reason EO-Map needs two containers rather than one is rate limits, which felt very on-brand for EVE. The main collector runs on a polite budget of 200 requests an hour, which is plenty for jumps, kills, sovereignty and the rest. Market data is a different animal. A single market crawl is over 1,600 pages, hundreds of megabytes of decompressed JSON, and letting that share a process and a request budget with the map feeds meant one hungry crawl could starve everything else. So markets got their own container with their own limiter, and the map's feeds carry on regardless of what the market crawl is doing.
Replaying a day of destruction
Some of EO-Map is not adapted EF-Map code so much as EF-Map code doing its old job in a busier universe. EF-Map has flashed kills on the map as they happen since November 2025. EO-Map inherited that machinery in the clone and I pointed it at zKillboard's feed, and because EVE Online produces vastly more kills than Frontier does, the same feature immediately looked completely different. Then I added a replay tool that takes a recorded window of kills and plays it back across the map at speed, which is how this video happened: one full day of EVE Online destruction, compressed into four minutes.
Every flash in that video is a real kill as reported by zKillboard, placed at the system it happened in. Kills the map cannot place honestly are counted in the data but never drawn, because inventing positions to make the video busier would defeat the point.
Nineteen years of someone else's history
The other thing EVE Online has that an alpha game cannot: history. EO-Map's sovereignty panel has a History tab that animates player-held space changing hands from 2007 to now, just over 131,000 recorded holder changes. I rendered the full run out as a video as well, nineteen years in six minutes.
There is no Frontier equivalent of that dataset yet, because the game has not existed long enough to have one. Give it nineteen years.
Mistakes were made
It took fifteen days and a Reddit user for anyone to notice the map was upside down. Looking straight down at New Eden, everything was correct, north was north and east was east. Rotate to look along the plane of the galaxy, though, and every system that should sit above it was drawn below, and the other way round. A mirror flip in the vertical axis, invisible from above, obvious from the side.
I had not noticed because I only ever look at the EVE Online map from above, which is how nearly everyone consumes it, and I have not actually played EVE Online in about eight years. Someone who plays the game looked at it side-on within days of finding the site. The fix went live this morning. That incident is the whole argument for why I care about people finding EO-Map at all: I can get the code and the data pipeline right, but current game knowledge lives with current players, and the only way their corrections reach me is if they see the thing.
While I am confessing, the names. EF-Map and EO-Map differ by one letter, I picked both, and I now routinely say one when I mean the other. The AI agents I work with have quietly learned to work out from context which universe I am actually talking about. I have no one to blame for this.
The painful part
At one point last week I looked at a 24-hour snapshot in Cloudflare. EF-Map: 211 page views, 146 visits. EO-Map: 218 page views, 156 visits. One day, not a trend, and I am not pretending otherwise. But that is a side project that was about a week old at the time, with no search history and barely any promotion, edging out the map I have spent a year building, promoting and doing SEO for. It says a lot more about the relative sizes of the two games' player bases than about the two sites. It still stung a bit.
What EF-Map gets out of it
This has not been fifteen days of abandoning EF-Map, which is worth saying since this is EF-Map's blog. Some of the payback is already banked. EO-Map's collector deployments managed to expose a long-broken alert rule in the monitoring that watches the shared VPS, the one that is supposed to notice when a container disappears, so that got rewritten and EF-Map's infrastructure is better monitored today because EO-Map kept setting the old rule off. The universe scale comparison shipped on both maps at once, and a review on the EF-Map side caught a rendering bug that existed in both.
The bigger payback is slower. EVE Online is a dense, busy, 23-year-old universe, and presenting that much activity on a map forces solutions Frontier simply has not needed yet. Live kill density, historical playback, market depth, activity layers. All of that thinking now exists and is tested on real users. When the Frontier universe gets richer, and it will, a lot of it can move straight across. There is also talk of Fog of War for Cycle 7 on the Frontier side, and I will be honest, Fog of War does not sound like a fun time for a map. But the game will change and EF-Map will adapt, the same way it has through every cycle so far, and having a second map to borrow ideas from makes that easier, not harder.
So the relationship runs both ways now. A year of EF-Map is the only reason EO-Map could exist in six days, and EO-Map is turning into the test bed that pays some of that back.
If you play EVE Online, or used to, go and poke at eo-map.com and tell me what is wrong with it. Recent form suggests there will be something. If it is EVE Frontier you care about, the map you are already on is not going anywhere. And if a search for an EVE Online map brought you here, the EVE Online map page explains what EO-Map does in more detail before you commit to a click. Any issues with either map, let me know and I will get them fixed.
Related Posts
EVE Online vs EVE Frontier: What's Actually Different is the comparison of the two games themselves, if this post has you wondering how different they really are.
EF-Map Is One Year Old, and Its First Builds Are Still Online covers the year of work that made a six-day clone possible, with the original builds still clickable.
A Vibe Coder Stumbles Into Software Engineering explains the working method behind both maps.
Don't Sleep on Grok 4.6: What My Own Testing Found includes some of the early EO-Map build work as test material.