Projects
Most of what I’ve built is open source. Since 2019 most of my work happens at Professional Wiki, which also maintains much of my earlier open-source work for clients and the community. For paid support, contact Professional Wiki.
Professional Wiki products
- NeoWiki – structured data and collaborative knowledge graphs for MediaWiki; open source, in early access (code)
- ProWiki – fully managed MediaWiki hosting, in Germany
- Admin Panel – a panel for configuring a wiki without code or SSH: one-click extensions, users and customization
- AI Assistant – an AI chatbot for MediaWiki that answers from your wiki’s content, with source citations
Extensions at Professional Wiki
Since 2019 I build MediaWiki and Wikibase extensions at Professional Wiki, mostly funded by clients and published as open source. There are many more on its GitHub.
- Wikibase Export – 2023, for Universität Mannheim
- Wikibase RDF – 2022, for the Wikibase Stakeholder Group
- Automated Values – 2022, for the Luxembourg Ministry of Culture
- External Content – 2021, for an enterprise software company
- Wikibase EDTF – 2021, for the Luxembourg Ministry of Culture
- GND – 2021, for the German National Library
- Wikibase Local Media – 2020, for Rhizome
- Network – 2020, for KDZ
- Semantic Wikibase – 2020, connects Wikibase and Semantic MediaWiki
- Modern Timeline – 2019, for KDZ
Wikidata and Wikibase
I was one of the original developers of Wikidata at Wikimedia Deutschland, from the start of development in 2012 until 2019, most of that time as software architect. I’ve created more of Wikibase’s capabilities than anyone else, including much of its data layer and these libraries. My talk Wikibase, the Software behind Wikidata (2014) gives an overview. Professional Wiki offers Wikibase services.
- Wikibase DataModel – the canonical PHP implementation of the data model at the heart of Wikibase
- Wikibase DataModel Serialization – serialization and deserialization of Wikibase DataModel objects
- Wikibase Internal Serialization – the same, for the formats used on the Wikimedia cluster
- Wikibase DataModel Services – services around Wikibase DataModel
- JsonDumpReader – reads and iterates through the entities in a Wikibase JSON dump
- Wikibase TermStore – looks up terms by ID and IDs by term (archived)
- QueryR EntityStore and QueryR TermStore – persistence and lookup of Wikibase entities and terms
At Wikimedia Deutschland I also led the rewrite of the fundraising application, which became my reference for implementing the Clean Architecture.
Presentation
What people say
I had the pleasure to work with Jeroen at Wikimedia Deutschland. Jeroen is one of the most productive and passionate developers that I know. Without Jeroen, Wikidata would not have such a rich range of functions and would be built on a less flexible, lower-quality codebase and architecture. Jeroen has in-depth knowledge and broad experience about clean code and software architectures. I have always appreciated his professional attitude, collegial and reliable manner. He is an absolute win for any team and project!
Jeroen was working on Semantic MediaWiki and was one of the original developers on Wikibase at Wikimedia Deutschland. I had the pleasure of working with Jeroen for many years and have rarely found someone as dedicated as him towards the quality of the software he is working on.
Jeroen has been a key founding developer of Wikibase at Wikimedia Deutschland, where I had the pleasure to work with him at a later stage on that project. I have since appreciated his dedication to any project he works on, composed of his great understanding of first and advanced principles of software quality and evolution coupled with a pragmatic and business-oriented mindset.
Jeroen is a very reliable and skilled developer. With Semantic MediaWiki, Wikibase and several other great MediaWiki extensions, such as Maps, ModernTimeline or Network, he is one of the most important contributors to these Open-Source-Projects. I will certainly continue working with him in the future.
Roles as at the time of writing.
Semantic MediaWiki and Maps
I’ve contributed to Semantic MediaWiki since 2009 and maintained it since 2011, including as release manager. Professional Wiki now maintains it and much of its ecosystem, and offers Semantic MediaWiki services. I created Maps in 2009, and it’s still maintained.
- Semantic MediaWiki – maintainer since 2011
- Maps – creator, 2009
- Semantic Result Formats – maintainer since 2011
- SubPageList – creator, 2010
- Semantic Watchlist – 2011, for the IEEE
- Semantic Image Input – 2011, for WhoInspired
- Spark – 2011
- Validator – 2009, parameter handling for extensions (archived)
Presentations
Note that the slides are generally not designed for after-talk usage. However, they are useful when watching the recording of a talk.
MediaWiki extensions
I’ve worked with MediaWiki, the software behind Wikipedia, since 2009, and I’m one of the developers credited in its copyright notice. Before Professional Wiki, I built these extensions for clients and the community, and contributed to dozens more (see my mediawiki.org user page).
- Push – 2010, for Texas Instruments
- Live Translate – 2010, for Texas Instruments
- Survey – 2011, for the IEEE
- Contest – 2011, for the Wikimedia Foundation
- Education Program – 2012, for the Wikimedia Foundation
- Nuke – significant contributions in 2012
- GitHub – 2013
- ParserHooks – 2013
PHP libraries
All of these are on Packagist.
- Diff – representing, computing and applying diffs between structured data; used by Wikipedia
- DataValues Geo – parsing, formatting and representing coordinates; used by Wikipedia
- EDTF – Extended Date/Time Format, 2021, for the Luxembourg Ministry of Culture
- ParamProcessor – declarative parameter processing; from 2010, with the legacy code to match
- File Fetcher – an object-oriented file_get_contents alternative, with adapters and decorators
- PsrLogTestDoubles – test doubles for the PSR-3 logger interface
- Simple Cache – a minimal caching interface with basic implementations
- Euro – a value object for a positive amount of euro
- Serialization – interfaces for serialization and deserialization services
- Batching Iterator – an iterator that fetches values in batches
- Message Reporter – an interface for reporting text messages
- PostRequestSender – a PostRequestSender interface with test doubles
Historical and for fun
- ReplicatoR – 2014–2015, a command-line tool that replicates Wikibase entities, mainly from Wikidata, for the QueryR REST API
- Skynet – 2010, solves the travelling salesman problem with GALib, in C#
- GALib – 2010, a genetic algorithm library in C#
- BN+ Converter Pro – 2007–2010, text conversion utilities in VB.Net
- BN+ Brute Force Hash Attacker – 2008–2010, in VB.Net
- BN+ Library – 2008–2010, a .Net utilities library
- Art of Defence SE4 – 2008–2010, a Command & Conquer: Generals map
Supreme Commander maps
I maintain several survival maps (custom scenarios written in Lua) for Supreme Commander Forged Alliance Forever. These maps were created long ago by other people, and I have been gradually cleaning up their code and adding features.
Everything else is on my GitHub and Professional Wiki’s GitHub.









