Launched this week

Shoehorn
Backstage without the platform team
1 follower
Backstage without the platform team
1 follower
Where Backstage needs a platform team, one person runs Shoehorn. It's an Intelligent Developer Platform that auto-discovers your services from Kubernetes (via our k8s-agent, YAML manifests still work), GitHub, and your IdP. Tenant isolation by RLS. Forge, our scaffolding engine, spins up new services from reusable templates. Fast fuzzy search across everything. Manage it via UI, CLI, or Terraform same API behind all three. The IDP for the 95%.



























Hey Product Hunt 👋
We're a tiny team launching Shoehorn after a year of building it.
We built it because we spent years working with Backstage, It's a great product, but it needs a dedicated platform team to run. Most companies don't have one, so the portal becomes a thing you maintain instead of a tool your developers use.
So we built the opposite: opinionated defaults, fewer knobs, working catalog inside an afternoon. Small enough that one person can run it.
Who it's for
The 95% of teams who want a developer portal but don't have a dedicated platform engineer to babysit one. If you've ever bounced off Backstage's setup, this is for you.
What's in the box:
- 🔎 Service catalog
That auto-discovers from Kubernetes, GitHub, and your IdP. A small push-based agent (~50m CPU, <150 MB) runs in each cluster. New services show up within minutes, no manifests to write (unless you want too).
- 🏗️ Forge
A scaffolding engine. Spin up new services from templates via UI or `shoehorn forge run`.
- 🔐 Multi-tenant at the database layer
Postgres row-level security
- 🛠️ UI, CLI, and Terraform same API behind all three. The CLI is one Go binary (`brew install shoehorn`). The Terraform provider lets you declare entities, teams, scorecards, and Forge molds as code.
- 🤖 Built-in MCP server.
Your IDE agent (Claude, Cursor, whatever) can search the catalog and answer "who owns this service?" but the index lives in your cluster. The AI provider sees the question and answer, never the data.
- 🎨 A UI we're proud of:
Judge it yourself in the demo.
The install story
One `terraform apply` from a fresh kubeconfig to a running, populated, scored, owned developer platform. The module generates secrets, installs the helm chart, wires up your OIDC provider: Okta, Zitadel (more coming), deploys the K8s agent, and the catalog starts populating from your cluster.
👉 Demo: https://demo.shoehorn.dev
👉 Docs: https://docs.shoehorn.dev
👉 Repos: https://github.com/shoehorn-dev
— Anders & team