Bongani Mbigi
← Work

Gearlog

A multi-tenant equipment operations platform I designed, built, and still operate.

Gearlog

What I owned

The Spring Cloud backend, React staff and borrower apps, Kotlin Multiplatform kiosk, Next.js marketing site, Kubernetes production, billing, and identity. There is no separate product, design, or platform team — the checkout flow and the cluster are the same job. That is the systems work I want to keep doing at staff scope.

Systems

Gearlog is a multi-tenant, schema-flexible asset operations platform. Services sit behind an API gateway. Workspaces isolate tenants. Institution plans add campus identity. Production is Kubernetes with traces you can actually query.

Backend

Java 21 Spring Cloud: API gateway, config, Eureka, and services for assets, reservations, checkouts, and GenAI. PostgreSQL with Flyway; S3-compatible storage for condition photos. Public contracts in OpenAPI, aggregated at docs.gearlog.io.

Auth & tenancy

A dedicated authorization server issues OAuth tokens. Workspaces are multi-tenant with RBAC. Institution plans add OIDC login and SCIM 2.0 user/group provisioning — Entra, Okta, or Google Workspace, with group-to-role mapping.

Production

DigitalOcean Kubernetes with ingress by hostname (app, auth, docs, kiosk, apex). OpenTelemetry traces and logs to Honeycomb; Stripe for billing. GitHub Actions for delivery.

Clients

React staff app and borrower portal behind the gateway, Next.js marketing site and docs, and a Kotlin Multiplatform Compose kiosk (Android, iOS, desktop, Wasm).

Product

Built for media programs, labs, and AV cages that still run checkout on a spreadsheet or a Slack chase. Each item gets a QR profile. Staff check gear out from a desk app. Borrowers request and scan in a simpler portal. A kiosk can sit at the cage. Condition notes stay on the asset.

QR checkout

Print labels, scan a phone or HID scanner, and see live status, borrower, and due date.

Kits & inventory

Cameras, kits, consumables, accessories, and locations — modeled like a gear room, not a generic CMDB.

Self-checkout kiosk

Library card + PIN at an unattended desk, with branded idle and the same workspace as staff loans.

Reservations

Borrowers request a window; staff approve, tweak, or reject before two people claim the same kit.

Service history

Condition photos and repair logs stay on the asset so the next person is not surprised.

Campus identity

OIDC SSO and SCIM 2.0 on Institution plans — Entra, Okta, or Google Workspace.

Try it

Create a workspace, import inventory, print QR labels, and run a checkout at gearlog.io. Developer docs and the API reference are at docs.gearlog.io.