Is this a CV? Logbook? Highlights? Maybe a bit of all. Currently hired by Postman, as part of their Open Technologies Team, as a Lead Software Engineer working on AsyncAPI full time.
While it is my day job, this is my spare-time project as well and is my main focus at the moment. I am part of the AsyncAPI Technical Steering Committee and maintain a bunch of tools. I am/was also the release coordinator for AsyncAPI 3.0.0, so know my way around all repositories within the organization. |
GamingAPI.org is a side project of mine where I try to use everything from AsyncAPI (tooling and spec) and incorporate it into a standard for interacting with all types of game servers (focus on Rust, upcoming Minecraft, etc.) through generated SDK's, documentation, governance, and more! |
Here are all the tools I am actively maintaining regardless of what my day job is.
Modelina is a library I started with Maciej, which is for generating models from various inputs (AsyncAPI, OpenAPI, JSON Schema, TypeScript models, etc) into various outputs (TypeScript, C#, Python, etc) in a highly customizable, and extendable. It is built to support different serialization libraries (XML, JSON, bytes, etc) so you can adapt the models directly to your need. Try the playground here: asyncapi.com/modelina Find a bunch of examples here: modelina examples |
|
EDAVisualiser is a library first making its appearance in the AsyncAPI Studio, and is built to better visualize a single application (from AsyncAPI input or core building blocks) of it's outgoing and incoming external operations to others. It can also be a complex system comprised of multiple applications. It allows this through something called views. It of course supports all the major design frameworks, React, Next, Vue, Angular, etc. Try the playground here: asyncapi.github.io/EDAVisualiser |
Want to generate anything from an AsyncAPI document? Yep, this is the library to use then! The AsyncAPI generator can be used in combination with templates to generate some kind of output (code, documentation, configuration files, you name it). |
Generate a .Net/C# NATS library wrapper for your AsyncAPI document. | Generate a TypeScript NATS library wrapper for your AsyncAPI document. | Used by the AsyncAPI generator to render React templates as an alternative to Nunjucks templating. |
A JavaScript parser providing a way to interact with your AsyncAPI documents. | Automatically bump .NET/C# version of libraries, by following semantic release. | Automatically bump the application version for AsyncAPI documents by following semantic release. |
Here is a list of all the previous libraries and projects I have worked on.
- https://github.com/jonaslagoni/Wizard-Of-Treldan, university group project, 2d and 2 different UI games in one, with a custom game engine, written in Java.
- https://github.com/jonaslagoni/NEON, university group project, a 2d tower defense game, using OSGi to use a modular system to load and unload towers, maps, game modes, etc on the fly, build upon libgdx, written in Java.
- https://github.com/jonaslagoni/csgoLiveServer, spare time project trying to reflect what happens in a CSGO server in the web browser, first version of GamingAPI I guess.
- https://github.com/jonaslagoni/asyncapi-quicktype-template, AsyncAPI generator template to generate typed models with QuickType.
- https://github.com/jonaslagoni/asyncapi-quicktype-filter, the core library code for the QuickType template.
- https://github.com/jonaslagoni/.NET-websocket-client-template, an old AsyncAPI generator template for generating a WebSocket wrapper in .NET.
- https://github.com/jonaslagoni/ts-websocket-server-template, an old AsyncAPI generator template for generating a WebSocket wrapper in TypeScript.
- https://github.com/jonaslagoni/Java-to-JSON-Schema, a JSON Schema draft-7 DSL for writing JSON Schema through code in Java.
- https://github.com/jonaslagoni/Java-to-AsyncAPI, an AsyncAPI DSL for writing AsyncAPI documents through code in Java. Uses the JSON Schema variant as well internally to define payloads.
I am using eventstack.tech/posts as my personal sanctuary for writing stuff about the projects, updates, and different tech stuff.
Here is an overview of the subjects so far:
- Automated code generation (introduction, versioning, for TypeScript libraries, for .NET libraries)
- AsyncAPI Governance (getting started, in practice part 1, part 2)
- API versioning (theory, in practice)
- Reusability in AsyncAPI causing problems
- AsyncAPI tooling updates (week 30, 33, 39, 46)
This section is more for me than you, trying to keep track of what I am participating in or have.
Here is a list of previous conferences and speaking arrangements in case you find it interesting.
- (speaking) APIDays conference Helsinki, 2024, in-person, gave a talk about
Navigating the jungle of the AsyncAPI Ecosystem
- (speaking) AsyncAPI conference, at Sngular Madrid, 2023, in-person (watch the recording here: https://www.youtube.com/live/FN5eR1Zqh9c?si=A4gxOaJlHCg4ID3P&t=7038)
- (participating) AsyncAPI conference, at IBM London, 2023, in-person
- (speaking) APIDays Paris 2022, in-person, gave a talk about
AsyncAPI and schema format complexity
- (participating) GOTO Copenhagen 2022, in-person
- (participating) Digital Transformation World, TMForum, Copenhagen 2022, in-person
- (speaking) AsyncAPI conference 2022, had two talks here. The two talks were
Next Generation of AsyncAPI
(watch the recording here: https://www.youtube.com/watch?v=WOMDYzHh-3w) andThe Intricacies of a Single Keyword in AsyncAPI
(watch the recording here: https://www.youtube.com/watch?v=fLAAXAXOGlE) - (speaking) API:World 2021, online, talked about
How AsyncAPI can enhance your developer experience
- (speaking) APIDays Interface 2021, online, talked about
How AsyncAPI can enhance your developer experience
. Watch the recording here: https://www.youtube.com/watch?v=W7L0ryT3Qmo - (participating) Info Security Denmark 2021, in-person
- (participating) APIDays Paris 2019, in-person, invitation by Fran
- (participating) Info Security Denmark 2019, in-person