From what I have read and heard, I know that Status, Reddit (internal tools), and Exercism are using Nim in production.
Which are the other companies that are using Nim in production?
I have also seen CxPlanner, and one more small-sized US company using Nim for their products.
Any other?
I am sure there are some more.
My company SEO Science, an SEO (marketing) agency, uses Nim in production for ALL of our internal tooling. One of which will even be released commercially as a SaaS product around Q3 of next year.
We have a chrome extension, Google Sheet/Docs Add-ons, web applications, and on desktop application.
It's insane what we've been able to accomplish within this single language.
I'm a Product Architect for a computational engineering company (Aerospace, energy management), and we have close ties with TU Munich and its ecosystem. We have started using Nim progressively in many internal tools and new production libraries where C++ was the de facto choice previously.
I would particularly emphasize its use in HLS (High Level Synthesis) to write high performance deterministic code without using GC, and its powerful meta-programming features to write families of kernels with a single source file. Nim can do DSLs so efficiently. The strong typing, compile time range checks and that Nim compiles to optimized C is the icing on the cake.
As Nim, on top of its nice looking code can work so easily with C, as well as JS, actually makes it an elegant and powerful language to do anything ranging from systems engineering to user-facing software. I expect it to become more robust as a language and as an ecosystem in the next few years.
I have written a syslog middleware doing some crazy stuff with the raw messages for my current company (Atlas Copco) that handles millions of syslog messages per day using 3 MB of memory and almost no CPU!
Could not be happier with my choice of Nim, and my colleagues are quite pleasantly surprised.
Our other options were Go and Rust. Go could not handle all that load efficiently, and Rust was just too ugly and unnecessarily complicated to go with.
I work for a vibration and environmental monitoring company, focusing on blasting and construction. I replaced an extraordinarily messy and deliberately (extortionately, in fact) obfuscated C and PHP analysis backend with Nim.
I parse our proprietary binary record formats, preprocess and generate Datamancer dataframes, perform various vibration and signals analysis computations, then generate the reports using gnuplot and Nimja, generating printable HTML pages. I also output data (JSON, CSV, etc.) for our API used by our various tool frontends. I'm considering how best to open source my gnuplot solution, because it's not ideal at the moment and assumes only SVG generation.
I built a vertical slice prototype in Python, which was much too slow. We had an existing Rust vertical slice prototype built by my predecessor, and that was a dependency hell of libraries using macros, as well as a generally confusing project structure.
My Nim solution was easy to translate from the Python prototype, and integrate working parts of the Rust prototype. It's invoked by our PHP server scripts, so it's run-once, and we feed it single records or archives of continuous record runs. For batch generation we get free parallelism by invoking it any number of times. I rely on Nim's default of stack-managed allocations, so there's no memory semantics in the entire thing. All domain logic. Nim's simple, obvious, composable type system makes writing most code a breeze. The only template and macro logic in my program are some Datamancer formulas and the Nimja templates, which are the source of 80% of my very small number of headaches. Most of my time is spent thinking about the math or how to best structure a useful solution, which I attribute to the choice of Nim. I'm rarely thinking about language semantics or other time-wasting trivialities.