I’ve been working on Rikta, a backend framework for Node.js designed to make building scalable TypeScript applications more intuitive and modular.
After working with various Node frameworks, I felt there was a need for something that strictly enforces modularity and provides powerful out-of-the-box integrations without the "magic" that often makes debugging difficult.
What is Rikta? Rikta is a collection of packages designed to work together seamlessly. It’s built around a core that handles the application lifecycle and dependency injection, allowing you to plug in exactly what you need.
Key Features:
Zero-Config Autowiring No imports: [], exports: [], or providers: [] arrays. Just decorate your class, and it works.
Fastify Powered: Built on top of Fastify for maximum performance and low overhead. Rikta is 32% faster than NestJS on average.
Built-in TypeScript Support: Developed in TS for TS. You get full type safety across your entire backend stack.
First-class Integrations: Native support for TypeORM (database) and Swagger (automatic API documentation) via @riktajs/typeorm and @riktajs/swagger.
Developer Experience: A dedicated CLI (@riktajs/cli) to scaffold components and manage the project structure efficiently.
Lightweight Core: The core remains lean; you only add the features your specific application requires.
Why I'm building this: The goal of Rikta is to bridge the gap between "unstructured" Express apps and "overly complex" enterprise frameworks. I wanted a developer experience that feels fast but results in a codebase that a team can maintain for years.
Looking for Feedback & Collaborators: The project is currently in its early stages, and I’m looking for the HN community to help shape its direction. I’d love to hear your thoughts on:
The modularity pattern and Dependency Injection implementation.
The integration of Swagger/OpenAPI as a default.
What's missing in your current Node.js backend workflow that Rikta could solve?
Documentation is available at rikta.dev. I'm looking forward to your critiques and suggestions!