The high-performance API framework for Go

Modular. Observable. Cloud-native. Production-ready.

0
req/sec
0
latency
0
per request

Start in seconds

From zero to production-ready API in under a minute.

~/my-api

Built for production

Everything you need to build, deploy, and operate web services at scale.

Blazing Fast

8.4M+ requests per second with 119ns latency. Radix tree router with Bloom filter optimization.

Integrated Observability

OpenTelemetry-native with built-in metrics, tracing, and structured logging. No assembly required.

Automatic OpenAPI

Generate OpenAPI 3.0/3.1 specs from your code. Built-in Swagger UI with zero configuration.

Production Ready

Graceful shutdown, health checks, panic recovery, mTLS, and comprehensive middleware.

Everything you need, nothing you don't

Functional options everywhere. Configure observability, OpenAPI, health checks, and more—all the same way.

main.go
a := app.New(
    // Service identity
    app.WithServiceName("my-api"),
    app.WithServiceVersion("v1.2.3"),
    
    // Observability: metrics + tracing + logging
    app.WithObservability(
        app.WithMetrics(),
        app.WithTracing(tracing.WithOTLP("localhost:4317")),
        app.WithLogging(logging.WithJSONHandler()),
    ),
    
    // OpenAPI documentation
    app.WithOpenAPI(openapi.WithTitle("My API")),
    
    // Health & readiness checks
    app.WithHealthEndpoints(
        app.WithReadinessCheck("database", dbPingCheck),
    ),
)

Modular packages

Truly modular. Use what you need. Each package works standalone—no framework lock-in.

app

Batteries-included web framework

router

High-performance HTTP router

binding

Request binding (JSON, form, query)

validation

Struct validation with JSON Schema

logging

Structured logging with slog

metrics

OpenTelemetry metrics

tracing

Distributed tracing with OTLP

openapi

Automatic OpenAPI 3.0/3.1 generation

errors

Error formatting (RFC 9457)

🌿

Wild Rhubarb of the Mountains

Named after the wild rhubarb plant that thrives at 1,500–3,000 meters in harsh mountain terrain of Iran. It withstands extreme conditions, yet provides nourishment for centuries.

🛡️
Resilient
Production-ready
Lightweight
16 bytes/request
🔧
Adaptive
Local to cloud
📦
Self-sufficient
Integrated observability

Ready to build?

$ go get rivaas.dev/app