Portability is not achieved by listing many deployment targets. It comes from keeping application behavior behind small, testable contracts. Jeston applies this idea to the production concerns that usually create the most coupling: data, cache, jobs, storage, metrics, and deployment.
Small contracts, replaceable providers
Jeston exposes provider-neutral interfaces for database, cache, queue, storage, metrics, frontend, AI, and deployment integrations. The core does not bundle vendor SDKs. Providers can publish adapters independently, while applications keep their domain code focused on behavior rather than a single infrastructure vendor.
The integration registry makes lifecycle information explicit. An integration can declare an ID, semantic version, category, supported runtime, setup and teardown hooks, and peer-dependency boundaries. A catalog entry is discoverability metadata; it is not automatically an official implementation.
Development and production can use different adapters
The repository recommends lightweight development adapters and durable production infrastructure:
| Area | Development | Production |
|---|---|---|
| Database | SQLite or a test adapter | PostgreSQL, managed SQL, Prisma, Drizzle, or another reviewed adapter |
| Cache | Process-local memory | Redis or another distributed cache |
| Jobs | Local fake | Durable queue with retries and dead-letter handling |
| Files | Temporary local storage | S3-compatible or managed object storage |
| Observability | Structured console logs | Metrics/tracing exporter and centralized logs |
The point is not that one provider is always correct. The point is that the application can make the transition explicit and test the contract at the boundary.
Durable jobs need durable semantics
Jeston's JobQueue contract includes delay, idempotency keys, tags, retry metadata, and bounded shutdown hooks. These features address common failure modes in long-running work: duplicate delivery, retry storms, unbounded shutdown, and jobs that cannot be inspected operationally.
For AI agents, inference, evaluation, or training workflows, the framework does not claim to make work durable automatically. Applications must persist checkpoints and outputs, propagate cancellation, define data governance, and specify failure recovery.
Health and readiness are operational signals
Applications can supply a health registry that exposes JSON /health and /ready endpoints. A non-ok report returns 503, and reports can include status, latency, tags, and an ISO timestamp. This gives deployment systems and operators a concrete signal instead of relying only on process liveness.
Deployment remains portable
Jeston provides deployment adapters for Node, Docker, Cloudflare, Vercel, Netlify, and Cloud Run. The framework keeps deployment lifecycle concerns explicit while avoiding a requirement for proprietary hosting.
Portability therefore becomes an engineering property: small contracts, explicit failure semantics, health signals, and adapters that can be reviewed independently.
See the architecture, adapter, and operational material in github.com/kvantjs/jeston.
Top comments (0)