An open-source toolkit for common backend infrastructure, with a built-in admin dashboard for TypeScript.
import { InfraKit } from "@infrakit/sdk";
import { KeyValueMemoryAdapter } from "@infrakit/modules/kv";
const infrakit = new InfraKit({
keyValue: new KeyValueMemoryAdapter()
});
// Use the key-value store
await infrakit.keyValue.set('user:123', { name: 'Alice' });
const user = await infrakit.keyValue.get('user:123'); import express from 'express';
import { ExpressDashboardAdapter } from "@infrakit/adapter/express";
const app = express();
// Mount dashboard to Express app
const dashboard = new ExpressDashboardAdapter({
infrakit,
baseUrl: '/admin'
});
app.use('/admin', dashboard.endpoint);
app.listen(3000); InfraKit ships a production-ready admin at /admin so you can focus on your customer-facing experience.
Managing 6 keys across all adapters
| Key | Value | Created | TTL | Actions | |
|---|---|---|---|---|---|
| session:user:10000 | {"userId":10000,"name":"Alice"} | Oct 17, 2025, 12:16 PM | No expiry | ||
| session:user:10001 | {"userId":10001,"name":"Evan"} | Oct 17, 2025, 12:16 PM | No expiry | ||
| session:user:10002 | {"userId":10002,"name":"Lina"} | Oct 17, 2025, 12:16 PM | 2h 15m | ||
| session:user:10003 | {"userId":10003,"name":"Sanjay"} | Oct 17, 2025, 12:16 PM | No expiry | ||
| session:user:10004 | {"userId":10004,"name":"Maya"} | Oct 17, 2025, 12:16 PM | 48m | ||
| session:user:10005 | {"userId":10005,"name":"Felix"} | Oct 17, 2025, 12:16 PM | No expiry |
0 of 6 row(s) selected.
Get started with open-source modules and a built-in admin UI. Ship your product, not your plumbing.