Alpha is live — self-hosted 'Beta' drops April 2026

Stop Maintaining.
Start Using.

With Backstage, someone owns the framework. With Shoehorn, you just run the thing.

Try Live Demo

Alpha may occasionally be down due to active development

Shoehorn Dashboard
Swipe or tap
dashboard

Why Shoehorn?

Backstage needs someone to own the framework long-term. Shoehorn is just another service in your stack — you run it, update it when we ship, and that's it.

Other portals
  • × Days of setup before you see anything useful
  • × Someone on your team becomes "the Backstage person"
  • × Every new integration means a new plugin to build and maintain
  • × Migrating means rewriting catalog files you spent months on
VS
Shoehorn
  • Point it at your repos. It figures out the rest.
  • Seriously, 15 minutes. We timed it.
  • No custom plugins or glue code. Update it like any other tool in your stack.
  • Already have catalog-info.yaml files? They just work.
<200ms
Search Speed
15min
Setup Time
100%
Self-Hosted
Backstage Compatible
Works with existing catalog-info.yaml files — no migration required Learn more →

How It Works

Three things. That's it.

1

Connect Your Stack

Connect your GitHub org, clusters, and repos. Takes about 15 minutes. From there it runs like any other service in your stack.

2

Auto-Discovery Runs

Shoehorn crawls your repos, clusters, and wikis and maps everything out — services, who owns them, what they depend on, where the docs are. You don't write any of this.

3

Start Using

Search across everything. See what depends on what. Know who to page when something breaks. No more asking around in Slack.

Continuous Sync

When something changes in your repos or clusters, Shoehorn picks it up. You're not running a cron job or manually triggering imports — it just stays current.

Works Your Way

Choose your approach based on your workflow:

K8s Agents
Real-time cluster sync via lightweight agents
GitOps Manifests
Declarative YAML files auto-discovered
UI Creation
Manual entity creation in the portal
Shoehorn CLI
Script and automate from the terminal — get, put, and pipe

Mix and match as needed—use what works for your team

Everything Included

No plugins to build to get value. No integrations to wire up just to get started. It all ships together, and if you need more, an upcoming SDK will let you extend Shoehorn with custom addons.

Discover

See your stack clearly

Service Catalog
Auto-discovered from repos, clusters, and catalog-info.yaml
Meilisearch-Powered Search
Hybrid BM25 + vector search across services, docs, and APIs in <200ms
Kubernetes Discovery
Lightweight in-cluster push agents with no inbound cluster access required
Cloud Discovery
UpCloud resources auto-cataloged — servers, databases, K8s, storage. More vendors soon.

Operate

Turn insight into action

Forge
Self-service workflows to scaffold, provision, and automate with approval gates
Event-Driven Notifications
Trigger alerts and workflow updates from scorecards, ownership changes, discovery events, and governance actions
Terraform Provider
Declare your entire portal configuration as code
Upcoming SDK
Everything you need ships out of the box, with an SDK on the way for custom addons when your platform needs something extra

Govern

Keep standards and risk visible

Governance
Track engineering standards compliance with actionable remediation
Security Updates
Secure hardened images and dependency security patches shipped with every new release
Dependency Graph
Blast radius analysis at 1–5 levels depth before you make changes
Org Chart
Live team hierarchy synced from your catalog — no spreadsheets

Built for Real Problems

The questions your team asks in Slack every single day

"Who owns this service?"

It's 2am, something's down, and nobody knows who owns the payment service. Sound familiar?

Auto-discovered service catalog with team ownership, dependencies, and contact info

Instant search finds services, APIs, and owners in under 200ms

"What's running in prod?"

Three clusters, two environments, fifty services. What's actually running right now? Nobody really knows.

Real-time cluster discovery shows all deployments across all environments

ArgoCD & FluxCD support for GitOps-driven deployment visibility and reconciliation status

"What breaks if I change this?"

You want to deprecate an API endpoint. How many things call it? You could grep for it, or you could just know.

Impact analysis shows which services depend on each entity at configurable depth (1–5 levels)

Dependency graph lets you understand blast radius before making changes

"How do I scaffold new services consistently?"

Every new service starts with copy-pasting another repo's boilerplate. Then someone forgets the CI config. Or the README. Or the security scanning step.

Forge molds define reusable workflows — scaffold repos, provision infra, run multi-step automations from a simple form UI

Built-in approval workflows ensure the right people sign off before anything gets provisioned

"Are we actually meeting our engineering standards?"

You have standards — docs coverage, security checks, test requirements. Whether teams are actually meeting them is a completely different question.

Governance actions track compliance work with priorities, SLA deadlines, and assignees — auto-generated from scorecards and security findings

Remediation tracking ensures nothing slips through — open, in progress, resolved, with audit history on every action

"What cloud resources are we actually running?"

Your cloud console shows 40 servers. Your catalog has 28 services. The relationship between them lives in someone's head.

UpCloud discovery automatically catalogs servers, managed databases, Kubernetes clusters, and object storage — synced every 15 minutes

AWS, Azure & GCP coming soon — one catalog for every piece of infrastructure regardless of where it lives

Built for Platform Teams

Terraform, CLI, REST API, or the UI — pick whatever fits your workflow

Terraform Provider

Declare your entire platform configuration as code

CLI

Script and automate from the terminal — get, put, and pipe

REST API

Automate everything with our comprehensive API

Admin UI

Or manage everything visually with one click

All of it version-controlled, all of it repeatable

Frequently Asked Questions

What is Shoehorn?
Shoehorn is a self-hosted internal developer portal built for simplicity, speed, and maintainability. It gives you a unified place for your service catalog, docs, ownership, workflows, governance, and Kubernetes visibility without turning your team into portal developers. Point it at your GitHub org, clusters, and repos, and Shoehorn discovers the rest. Your stack stays yours — Shoehorn just makes it usable.
How is this different from Backstage?
Backstage gives you a framework to build your own portal. Shoehorn gives you a portal that's already built. That difference matters: with Backstage, teams often end up owning plugins, upgrades, and custom integrations themselves. With Shoehorn, the common IDP needs are already there out of the box — catalog, search, docs, ownership, workflows, governance, and Kubernetes visibility — so you can start using it without taking on a long-term framework maintenance project.
Can I migrate from Backstage?

Yes. You don't need to migrate on day one — just shoehorn us in.

Shoehorn is fully compatible with Backstage catalog files, so your existing setup keeps working as-is while you evaluate:

  • catalog-info.yaml files are auto-discovered and indexed — no changes needed
  • Run Backstage and Shoehorn in parallel during evaluation
  • When you're ready, the CLI includes convert tooling to migrate your catalog over cleanly

Migration is smooth because compatibility comes first. Start using Shoehorn today — migrate on your own schedule.

How do I install Shoehorn?
Self-hosted, runs on your own infrastructure. Deploy with the Helm chart and you're up in minutes — multi-arch containers (amd64 and arm64) so it works wherever you run things.
What's included in the Beta release?
Everything we ship today. The goal right now is simple: make Shoehorn easy to adopt, easy to evaluate, and useful from day one. If packaging changes over time, we'll keep it straightforward and communicate it clearly.
How much does Shoehorn cost?
Shoehorn offers a free Community tier for self-hosting, along with paid plans for teams that need more. Pricing details will be available at launch.
What identity providers do you support?
Shoehorn currently supports Zitadel & Okta out of the box. Support for other OIDC providers like Microsoft Entra ID (Azure AD) and Google Workspace is coming soon.
Do you support AI or MCP?
Not as a built-in product surface today. Our focus is on giving teams instant feedback, which is why Shoehorn is built around Meilisearch-powered instant search. If you want AI or MCP-style integrations, you can build them on top of Shoehorn using our upcoming SDK or just use the API directly. And for automation, AI agents tend to do very well with a solid CLI — which is why we invest heavily there for CI/CD, scripts, and repeatable workflows.
How do you handle security updates?
We care about security. Shoehorn uses secure hardened images, and every new release includes security patches for the dependencies we ship, so the default install path stays current without teams needing to maintain their own hardened build.
What source control providers do you support?
Currently, GitHub. That's the best-supported path today and what Shoehorn is built around right now for repo discovery, catalog ingestion, docs indexing, and workflows. If you need support for another source control provider, get in touch — we're open to adding more.
Shoehorn

Your stack. Finally usable.

A self-hosted developer portal for teams that want fast search, clear ownership, and useful workflows without maintaining a framework.

Self-hosted Your infrastructure Your data
Shoehorn mascot

Hello, I'm Sven.

Resources

Tools

CLI SDK soon Marketplace soon

Community

Email us Merch soon

Made in Sweden 🇸🇪

© 2026 Shoehorn. All rights reserved.