Skip to content

Philosophy: The Best of Two Worlds

Ignis combines the structured, enterprise-grade development experience of LoopBack 4 with the speed and simplicity of Hono.

The Landscape

When building REST APIs with Node.js/Bun, developers choose from three categories of frameworks, each with genuine strengths:

Framework Categories

CategoryExamplesPhilosophy
MinimalExpress, Hono, Fastify, KoaFreedom, speed, flexibility
EnterpriseNestJS, LoopBack 4, AdonisJSStructure, patterns, conventions
BalancedIgnis, Ts.EDStructure with lighter footprint

Honest Comparison

Performance & Runtime

FrameworkRequests/secStartup TimeMemoryMulti-Runtime
Hono~150k~10ms~20MB✅ Bun, Node, Deno, CF Workers
Fastify~80k~50ms~40MBNode only
Express~15k~100ms~50MBNode only
NestJS~25k~500ms~100MBNode (Bun experimental)
LoopBack 4~20k~800ms~120MBNode only
Ignis~140k~30ms~30MB✅ Bun, Node

Benchmarks are approximate and vary by use case.

Developer Experience

AspectMinimal (Hono/Express)Enterprise (NestJS/LoopBack)Ignis
Setup Time5 minutes30+ minutes10 minutes
Learning CurveLowHighMedium
BoilerplateMinimalHeavyModerate
Type SafetyManualExcellentExcellent
IDE SupportBasicExcellentGood
DocumentationGoodExcellentGrowing

Architecture & Patterns

PatternMinimalEnterpriseIgnis
Dependency Injection❌ Manual/3rd party✅ Built-in (complex)✅ Built-in (simple)
Layered Architecture❌ DIY✅ Enforced✅ Guided
Repository Pattern❌ DIY✅ Built-in✅ Built-in
Validation❌ 3rd party✅ Built-in✅ Built-in (Zod)
OpenAPI/Swagger❌ 3rd party✅ Built-in✅ Built-in
Authentication❌ DIY✅ Modules available✅ Built-in component

Ecosystem & Maturity

AspectMinimal (Hono)Enterprise (NestJS)Ignis
Community SizeGrowing fastVery largeSmall
npm Downloads~500k/week~3M/weekNew
Stack OverflowLimitedExtensiveLimited
Third-party ModulesMiddleware-basedRich ecosystemGrowing
Production Battle-testedYesYesEmerging
Corporate BackingCloudflareTrilonIndependent

Flexibility vs Convention

AspectMinimalEnterpriseIgnis
Project StructureTotal freedomStrict conventionsGuided conventions
ORM ChoiceAnyTypeORM/Prisma preferredDrizzle (flexible)
Testing ApproachAnyJest recommendedAny
Middleware SystemSimpleComplex interceptorsHono middleware
CustomizationUnlimitedPlugin-basedComponent-based

The Middle Ground: Where Ignis Fits

What Each Approach Excels At

Minimal Frameworks (Hono, Express, Fastify):

  • ✅ Maximum performance
  • ✅ Complete freedom in architecture
  • ✅ Fastest prototyping
  • ✅ Smallest bundle size
  • ✅ Edge/serverless deployments
  • ⚠️ Architecture decisions left to developer
  • ⚠️ Patterns must be implemented manually

Enterprise Frameworks (NestJS, LoopBack):

  • ✅ Battle-tested patterns
  • ✅ Comprehensive documentation
  • ✅ Large community & ecosystem
  • ✅ Excellent for large teams
  • ✅ Strong conventions prevent chaos
  • ⚠️ Higher resource consumption
  • ⚠️ Steeper learning curve
  • ⚠️ More boilerplate

Ignis (The Middle Ground):

  • ✅ Enterprise patterns without the weight
  • ✅ Hono's performance foundation
  • ✅ Gradual complexity adoption
  • ✅ TypeScript-first with Zod validation
  • ⚠️ Smaller community (new framework)
  • ⚠️ Less documentation than mature frameworks
  • ⚠️ Fewer third-party integrations

Inspired By The Best

From LoopBack 4

LoopBack 4 proved that enterprise patterns work:

PatternBenefit
Dependency InjectionLoosely coupled, testable code
Layered ArchitectureClear separation (Controllers → Services → Repositories)
Component-BasedModular, reusable features
DecoratorsDeclarative metadata for routes and DI

From Hono

Hono provides the performance foundation:

FeatureWhy It Matters
UltrafastOne of the fastest web frameworks
LightweightMinimal core, fast startup
Modern APIClean, intuitive developer experience
Multi-RuntimeWorks on Node.js, Bun, Deno, Cloudflare Workers

The Ignis Synthesis

Ignis = LoopBack patterns + Hono performance:

┌─────────────────┐      ┌──────────────┐      ┌──────────────┐
│  LoopBack 4     │  +   │    Hono      │  =   │    Ignis     │
│                 │      │              │      │              │
│ • DI Container  │      │ • Speed      │      │ • DI + Speed │
│ • Layered Arch  │      │ • Minimal    │      │ • Structure  │
│ • Components    │      │ • Modern API │      │ • Components │
└─────────────────┘      └──────────────┘      └──────────────┘

What you get:

  • Familiar structure for LoopBack/NestJS developers
  • Hono's performance and flexibility
  • Pre-built components (auth, logging, database, etc.)

When Should You Use Ignis?

Decision Matrix

Your SituationUse Ignis?Why
Building 10+ endpoint API✅ YesStructure prevents spaghetti code
Team of 2+ developers✅ YesPatterns improve collaboration
Need database + auth + docs✅ YesBuilt-in components save time
Coming from NestJS/LoopBack✅ YesFamiliar patterns, better performance
Prototyping quickly❌ NoUse plain Hono for speed
Simple proxy/webhook❌ NoToo much structure
3-5 endpoints, solo dev🤔 MaybeStart with Hono, migrate later if needed

✅ Perfect For

E-commerce Backends:

  • Controllers for products, orders, users, payments
  • Services for business logic (tax, inventory)
  • Repository pattern for data access
  • JWT authentication + OpenAPI docs

SaaS Platform APIs:

  • Multi-tenant architecture
  • Complex business rules
  • Modular components
  • Easy testing with DI

Enterprise Tools:

  • CRUD operations via ControllerFactory
  • Team collaboration with clear patterns
  • Type-safe database operations
  • Automatic validation

Choose the Right Tool

Use Hono/Fastify/Express When:

ScenarioWhy It's Better
Building a simple webhook handlerNo structure overhead needed
Edge/serverless functionsMinimal cold start, tiny bundle
Rapid prototypingGet something running in minutes
Microservices with 1-5 endpointsStructure adds unnecessary complexity
You want maximum controlNo conventions to follow
Learning web developmentSimpler mental model

Use NestJS/LoopBack When:

ScenarioWhy It's Better
Large team (10+ developers)Strong conventions prevent chaos
Enterprise with strict standardsMature, battle-tested, auditable
Need extensive ecosystemMany official and community modules
Complex microservices architectureBuilt-in support for messaging, CQRS
Hiring developers easilyLarge talent pool familiar with it
Long-term support is criticalCorporate backing, LTS versions

Use Ignis When:

ScenarioWhy It's Better
Medium-sized API (10-100 endpoints)Right balance of structure and speed
Small team wanting patternsDI without enterprise complexity
Performance is criticalHono's speed with structure
Coming from LoopBack/NestJSFamiliar patterns, lighter weight
Bun-first developmentNative Bun support
Growing projectStart simple, add complexity gradually

The Trade-off

Every choice has trade-offs. Here's an honest look:

What You Gain with Ignis

BenefitCompared To
~5x faster than NestJSEnterprise frameworks
Built-in DI, validation, OpenAPIMinimal frameworks
Structured codebaseDIY architecture
Easier testing with DIManual mocking
Team-friendly patternsIndividual coding styles

What You Give Up with Ignis

Trade-offCompared To
~10% slower than raw HonoMinimal frameworks
Smaller communityNestJS/Express
Less documentationMature frameworks
Learning curve for patternsNo-structure approach
Convention requirementsTotal freedom

Honest Assessment

AspectIgnis Reality
MaturityNew framework, evolving API
CommunitySmall but growing
DocumentationGood but not comprehensive
Production UseEarly adopters only
Breaking ChangesPossible before v1.0
SupportCommunity-driven

Bottom line: Ignis is ideal for developers who want enterprise patterns without enterprise overhead. If you need battle-tested stability and extensive community support, consider NestJS. If you need maximum simplicity, stick with Hono.

Migration Paths

From Hono to Ignis

If your Hono project grows complex:

1. Add Ignis as dependency
2. Wrap existing Hono app with Ignis Application
3. Gradually introduce DI for new features
4. Migrate routes to controllers over time

From NestJS to Ignis

If you want better performance:

1. Controllers → Ignis Controllers (similar decorators)
2. Services → Ignis Services (same pattern)
3. Repositories → Ignis Repositories (Drizzle instead of TypeORM)
4. Modules → Ignis Components (simpler structure)

From Ignis to NestJS

If you outgrow Ignis:

1. Patterns are similar - migration is straightforward
2. Main changes: ORM, module system, interceptors
3. DI concepts transfer directly

Next Steps

Ready to get started?

  1. Check Prerequisites - Install required tools
  2. Quickstart Guide - Build your first endpoint
  3. CRUD Tutorial - Build a complete API