And once again, welcome to developers.eveonline.com
Engineering Capsuleers.
A little over 10 years ago we introduced the first iteration of the developer portal. This enabled the creation of third party applications through the EVE SSO, giving developers access to characters' data through CREST and the XML API, and later, ESI.
As part of this year's plan to strengthen ESI and its infrastructure, we've set out to create a new and improved developer portal, and today, I would like to introduce you to it.
What's changed?
Having a system online and running for over a decade means it starts to collect some dust and grime here and there. Usually called technical debt, to some, it's the bane of their existence, or the source of recurring nightmares. So the first thing we set out was to bring the developers site up to our current (2025) standards for EVE websites; Next.js combined with some extra bits and bobs running in the background on AWS.
Fortunately for this codebase, a lot of its dependencies is external to the application, so for most of the checks that need to be done, we didn't have to re-invent the wheel, we'd just call the same (internal) APIs as we did before. In the age of fancy terms like ISR, SSR and CSR, this looks quite a lot different than the previous server-rendered pages, but in the end, very little changes externally.
Migrating all the things
While knowing users are eligible to be a third-party developer is nice, it's just half of the equation, at some point we'll need to know whether they've agreed to our third party license. This meant we'd want to store that, and keep the historical information (where possible), so we set out to upload everything to the cloud, migrating from a simple SQL database, to DynamoDB, simply to keep things easy to deal with from our cloud infra.
At the same time, we had to do the same thing with our content/CMS. Trade in a decade+ old CMS for something we use on a daily basis? Yes please! Migrating was a quick headache, but nothing some Quafe couldn't fix.
Some new things
While replicating the existing functionality was underway, we saw some opportunities to improve some things even more. For me, those ideas usually start out as a "Would be cool if we also did <this>", and generally end in forgetting what time it is and resigning oneself to some satisfying, but sleepless evenings.
Authorized Applications
Since the developers site already allowed developers to create new applications, it felt an easy extension to add an extra section where users can see which applications they have granted access to. This functionality also lives on the community site, but with that site being less and less on the foreground, we felt adding it to the portal would also help make it more easily accessible to users.
Third-party developers who want to link users directly to the grants section for their application, can do so by linking users to /authorized-apps/<character-id>/<first 8 characters of your client_id>
Documentation
The (old) ESI documentation was always a bit of an odd duck. Technically part of the ESI ecosystem, but mostly contributed to by the community, and as such, felt a bit 'left out' to me. To remedy this, we've decided to give it a bit of a facelift, and make it much more prominent on the developer portal. In the navigation bar, the Documentation entry takes the place of the Resources page, which has been moved to the documentation repository.
This change is not entirely without side-effects. The documentation repo remains as-is, but the generated documentation is now included as a dedicated section within the developers site. This required some more invasive changes to the repository, but we took the opportunity to add a bit of information on how to deal with this repository.
There is still a lot of content to update, but we welcome feedback, and as always, pull requests are more than welcome!
Communication
One last thing I want to touch on before signing off, is mainly a reminder for third party developers that ESI/third-party development has a dedicated channel on discord, which we hope to be using more (and not just for memes).
That's it for me for now. Fly safe!
CCP Stroopwafel