Just to get this out of the way: This app is not vibe-coded or AI-generated. I'm a professional engineer with decades of experience in the semiconductor industry. I'm currently doing a number of small programming projects to broaden my experience with different tools and APIs.
I developed a cross-platform open source app that lets you search a database of Native Instruments products (and third party products that integrate with Native Instruments apps) to discover instruments you might have never heard of, and to also easily find out which specific versions of NI flagship products that various content libraries require.
I got the idea for the app when I discovered that some of the Kontakt instruments I own don't work with Kontakt 6 anymore, which is the most recent full version of the program that I have. Now I can use the app to display a list of all products that use Kontakt, as well as the minimum required Kontakt version. This works for all NI products that support external content libraries (Reaktor, Guitar Rig, Battery, etc.) The lists it provides are sortable, searchable, and exportable.
The app currently comes in three forms:
- A purely web-based version that uses a pre-populated database of Native Instruments and NI-compatible third party products. It works on any device with a web browser.
- A Windows-specific version that you can install locally and uses your local Native Instruments product database.
- The original source code, which you can run locally on any OS (inside your default web browser), and which uses your local Native Instruments database. (Please only attempt this if you are familiar with Python and Git.)
I wrote the program in Python, and it uses the Streamlit library to provide a browser-based UI.
For full details about the app, you can check out my Medium post about it.
Example screenshot showing only Kontakt libraries published by Native Instruments. (Note that NI Expansions often list Kontakt as a dependency even if they don't include Kontakt instruments per se; just WAV samples. They mostly specify minimum versions, even though all versions of Kontakt support WAV files!):