{"id":479,"date":"2023-11-22T10:00:00","date_gmt":"2023-11-22T10:00:00","guid":{"rendered":"https:\/\/jacar.es\/backstage-spotify-portal\/"},"modified":"2023-11-22T10:00:00","modified_gmt":"2023-11-22T10:00:00","slug":"backstage-spotify-portal","status":"publish","type":"post","link":"https:\/\/jacar.es\/en\/backstage-spotify-portal\/","title":{"rendered":"Backstage: Spotify&#8217;s Developer Portal"},"content":{"rendered":"<p><a href=\"https:\/\/backstage.io\/\">Backstage<\/a>, open-sourced by Spotify in 2020, is the most-used foundation for building Internal Developer Platforms (IDPs). In 2023 it has consolidated as the reference \u2014 adopted by companies like Spotify, American Airlines, Netflix, Roku, and hundreds more. It\u2019s not a closed product: it\u2019s an extensible platform each organisation adapts. We cover how it works, what you get out of the box, and the adoption costs rarely mentioned in talks.<\/p>\n<h2 id=\"what-it-really-is\">What It Really Is<\/h2>\n<p>Backstage is a <strong>web application<\/strong> (Node.js + React) acting as a single portal for everything a developer needs at work:<\/p>\n<ul>\n<li><strong>Service catalog<\/strong>: centralised inventory of what exists, who maintains it, its dependencies.<\/li>\n<li><strong>Plugins<\/strong>: each additional function (CI\/CD status, Kubernetes, monitoring, docs, cloud costs) comes as a pluggable plugin.<\/li>\n<li><strong>Scaffolder<\/strong>: new-component generator from templates.<\/li>\n<li><strong>TechDocs<\/strong>: documentation as code, rendered inside the portal.<\/li>\n<li><strong>Search<\/strong>: federated search over all of the above.<\/li>\n<\/ul>\n<p>The vision: <strong>a single place<\/strong> where the developer finds what exists, how to create new things, where the docs are, what\u2019s happening with their services.<\/p>\n<h2 id=\"software-catalog-the-heart\">Software Catalog: The Heart<\/h2>\n<p>Each thing in Backstage is a catalog <strong>entity<\/strong>, described by a simple YAML:<\/p>\n<div class=\"sourceCode\" id=\"cb1\">\n<pre class=\"sourceCode yaml\"><code class=\"sourceCode yaml\"><span id=\"cb1-1\"><a href=\"#cb1-1\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">apiVersion<\/span><span class=\"kw\">:<\/span><span class=\"at\"> backstage.io\/v1alpha1<\/span><\/span>\n<span id=\"cb1-2\"><a href=\"#cb1-2\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">kind<\/span><span class=\"kw\">:<\/span><span class=\"at\"> Component<\/span><\/span>\n<span id=\"cb1-3\"><a href=\"#cb1-3\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">metadata<\/span><span class=\"kw\">:<\/span><\/span>\n<span id=\"cb1-4\"><a href=\"#cb1-4\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"at\">  <\/span><span class=\"fu\">name<\/span><span class=\"kw\">:<\/span><span class=\"at\"> orders-api<\/span><\/span>\n<span id=\"cb1-5\"><a href=\"#cb1-5\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"at\">  <\/span><span class=\"fu\">description<\/span><span class=\"kw\">:<\/span><span class=\"at\"> Service that manages purchase orders<\/span><\/span>\n<span id=\"cb1-6\"><a href=\"#cb1-6\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"fu\">spec<\/span><span class=\"kw\">:<\/span><\/span>\n<span id=\"cb1-7\"><a href=\"#cb1-7\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"at\">  <\/span><span class=\"fu\">type<\/span><span class=\"kw\">:<\/span><span class=\"at\"> service<\/span><\/span>\n<span id=\"cb1-8\"><a href=\"#cb1-8\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"at\">  <\/span><span class=\"fu\">lifecycle<\/span><span class=\"kw\">:<\/span><span class=\"at\"> production<\/span><\/span>\n<span id=\"cb1-9\"><a href=\"#cb1-9\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"at\">  <\/span><span class=\"fu\">owner<\/span><span class=\"kw\">:<\/span><span class=\"at\"> team-orders<\/span><\/span>\n<span id=\"cb1-10\"><a href=\"#cb1-10\" aria-hidden=\"true\" tabindex=\"-1\"><\/a><span class=\"at\">  <\/span><span class=\"fu\">system<\/span><span class=\"kw\">:<\/span><span class=\"at\"> ecommerce<\/span><\/span><\/code><\/pre>\n<\/div>\n<p>Main entity types: <code>Component<\/code> (services, libraries, websites), <code>API<\/code>, <code>Resource<\/code> (DBs, queues), <code>System<\/code> (groupings), <code>Group<\/code> (teams), <code>User<\/code>, <code>Domain<\/code> (functional areas).<\/p>\n<p>Relationships are inferred from YAML: \u201cthis component belongs to system X, its API is consumed by Y, it\u2019s in domain Z\u201d. Backstage builds a navigable network of the whole architecture.<\/p>\n<p>The catalog is fed by:<\/p>\n<ul>\n<li><strong>Locations<\/strong> (URLs of YAMLs). Can live in each service\u2019s repo or centralised.<\/li>\n<li><strong>Providers<\/strong> that automatically discover entities (from a Kubernetes cluster, GitHub orgs, etc.).<\/li>\n<li><strong>Manually<\/strong> via the web interface.<\/li>\n<\/ul>\n<h2 id=\"plugins-where-the-ecosystem-lives\">Plugins: Where the Ecosystem Lives<\/h2>\n<p>Backstage is only useful with plugins. Some essentials:<\/p>\n<ul>\n<li><strong>GitHub \/ GitLab<\/strong>: see the repo, PRs, contributors directly in the portal.<\/li>\n<li><strong>CI\/CD<\/strong>: build, deploy, run status (Tekton, ArgoCD, Jenkins, GitHub Actions).<\/li>\n<li><strong>Kubernetes<\/strong>: see pods, deployments, events for the current component.<\/li>\n<li><strong>TechDocs<\/strong>: markdown documentation inside the portal.<\/li>\n<li><strong>PagerDuty \/ Opsgenie<\/strong>: current oncall for each service.<\/li>\n<li><strong>Datadog \/ Grafana \/ NewRelic<\/strong>: embedded component dashboards.<\/li>\n<li><strong>Sentry \/ Rollbar<\/strong>: recent errors.<\/li>\n<li><strong>Cost Insights<\/strong>: cloud cost per service.<\/li>\n<\/ul>\n<p>There are <a href=\"https:\/\/backstage.io\/plugins\/\">100+ official and community plugins<\/a>. And building your own is a React exercise + a couple of config files.<\/p>\n<h2 id=\"the-scaffolder-golden-paths-in-action\">The Scaffolder: Golden Paths in Action<\/h2>\n<p>The scaffolder is where Backstage turns the \u201cplatform engineering\u201d promise into reality. You define templates that generate:<\/p>\n<ul>\n<li>New GitHub repository with standard structure.<\/li>\n<li>Configured CI pipeline.<\/li>\n<li>Kubernetes manifests with resource limits and health checks.<\/li>\n<li>Pre-created Grafana dashboard.<\/li>\n<li>Basic alerts.<\/li>\n<li>Catalog entry pointing to the new component.<\/li>\n<\/ul>\n<p>All from a web wizard where the developer fills in few fields (name, team, type). What would take hours or days manually, takes a minute.<\/p>\n<p>Implementing it requires investment: each template is code (YAML + shell + Backstage actions), and maintaining it as internal conventions change is ongoing work.<\/p>\n<h2 id=\"techdocs-docs-as-code\">TechDocs: Docs as Code<\/h2>\n<p>TechDocs renders markdown from the service\u2019s own repo inside the portal. The idea: documentation lives with the code, updates in the same PRs, and is seen with good UX in a centralised place.<\/p>\n<p>Internally it uses MkDocs as the rendering engine. Integration is simple: add a <code>mkdocs.yml<\/code> and <code>docs\/<\/code> folder to the repo, reflect in catalog-info.yaml, and it appears in Backstage.<\/p>\n<p>It\u2019s one of the most adopted features because it solves a real problem: documentation scattered across Confluence, wikis, READMEs, and PDFs.<\/p>\n<h2 id=\"the-real-cost-of-adopting-backstage\">The Real Cost of Adopting Backstage<\/h2>\n<p>Talks sell Backstage as \u201cinstall and ready\u201d. The reality of seriously implementing it:<\/p>\n<ul>\n<li><strong>Dedicated team<\/strong>. Adopting it well requires 1-3 full-time engineers for months for configuration, plugins, and migration.<\/li>\n<li><strong>Continuous investment<\/strong>. Plugins evolve, integrations change, templates need maintenance. It\u2019s not a \u201cproject\u201d \u2014 it\u2019s an internal product.<\/li>\n<li><strong>React\/Node.js learning curve<\/strong>. If your team is backend-heavy, adopting the Backstage frontend is a new skill.<\/li>\n<li><strong>Data in good state<\/strong>. If your current inventory is an outdated Excel, Backstage won\u2019t fix it \u2014 only expose it.<\/li>\n<li><strong>Cultural adoption<\/strong>. Developers must go to the portal, maintain their catalog-info, write TechDocs. Without organisational push, it\u2019s underused.<\/li>\n<\/ul>\n<p>For organisations with fewer than 30-50 developers, the investment rarely pays off. For larger ones, ROI can be substantial \u2014 but requires real commitment.<\/p>\n<h2 id=\"alternatives-and-managed-options\">Alternatives and Managed Options<\/h2>\n<p>Backstage isn\u2019t the only option:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/www.getport.io\/\">Port<\/a><\/strong>: managed SaaS with catalog and portal, less flexibility but zero operations.<\/li>\n<li><strong><a href=\"https:\/\/www.cortex.io\/\">Cortex<\/a><\/strong>: similar, focus on service catalog and scorecards.<\/li>\n<li><strong>Roadie and Spotify Portal for Backstage<\/strong>: managed Backstage version by external companies.<\/li>\n<li><strong>Custom build<\/strong>: for organisations with very specific stack, sometimes a custom dashboard works better.<\/li>\n<\/ul>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>Backstage is the default choice if your organisation has the scale and commitment to build a serious IDP. Its flexibility is its strength and its demand: it forces you to make decisions other more opinionated tools resolve for you. If you get the investment and organisational backing right, the result is valuable. If you treat it as \u201cinstall Backstage on Fridays\u201d, it\u2019ll end up half-done.<\/p>\n<p>Follow us on jacar.es for more on platform engineering, IDP, and developer experience.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Backstage is the open-source foundation of many Internal Developer Platforms. How it works, what it costs to adopt, and when it isn&#8217;t worth it.<\/p>\n","protected":false},"author":1,"featured_media":480,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,24],"tags":[201,202,200,199,267,266],"class_list":["post-479","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arquitectura","category-herramientas","tag-backstage","tag-developer-experience","tag-idp","tag-platform-engineering","tag-service-catalog","tag-spotify"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"en","enabled_languages":["es","en"],"languages":{"es":{"title":true,"content":true,"excerpt":true},"en":{"title":true,"content":true,"excerpt":true}}},"gutentor_comment":0,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Backstage: Spotify&#039;s Developer Portal - Jacar<\/title>\n<meta name=\"description\" content=\"Backstage explained: architecture, software catalog, plugins, scaffolder, TechDocs, and criteria to decide if adopting it in your organisation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jacar.es\/backstage-spotify-portal\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Backstage: Spotify&#039;s Developer Portal - Jacar\" \/>\n<meta property=\"og:description\" content=\"Backstage explained: architecture, software catalog, plugins, scaffolder, TechDocs, and criteria to decide if adopting it in your organisation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jacar.es\/backstage-spotify-portal\/\" \/>\n<meta property=\"og:site_name\" content=\"Jacar\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-22T10:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2020\/09\/favicon.png\" \/>\n\t<meta property=\"og:image:width\" content=\"252\" \/>\n\t<meta property=\"og:image:height\" content=\"229\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"javi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"javi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/\"},\"author\":{\"name\":\"javi\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/person\\\/54a7f7b4224b38fafc9866eb3e614208\"},\"headline\":\"Backstage: Spotify&#8217;s Developer Portal\",\"datePublished\":\"2023-11-22T10:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/\"},\"wordCount\":1717,\"publisher\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/19233440\\\/jwp-1280618-904.jpg\",\"keywords\":[\"backstage\",\"developer experience\",\"idp\",\"platform engineering\",\"service catalog\",\"spotify\"],\"articleSection\":[\"Arquitectura\",\"Herramientas\"],\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"ItemPage\"],\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/\",\"url\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/\",\"name\":\"Backstage: Spotify's Developer Portal - Jacar\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/19233440\\\/jwp-1280618-904.jpg\",\"datePublished\":\"2023-11-22T10:00:00+00:00\",\"description\":\"Backstage explained: architecture, software catalog, plugins, scaffolder, TechDocs, and criteria to decide if adopting it in your organisation.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/19233440\\\/jwp-1280618-904.jpg\",\"contentUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/19233440\\\/jwp-1280618-904.jpg\",\"width\":1200,\"height\":800,\"caption\":\"Pantalla de monitor con paneles de control de aplicaciones\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jacar.es\\\/backstage-spotify-portal\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/jacar.es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backstage: el portal para desarrolladores de Spotify\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#website\",\"url\":\"https:\\\/\\\/jacar.es\\\/\",\"name\":\"Jacar\",\"description\":\"Passion for Technology\",\"publisher\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jacar.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\",\"name\":\"Jacar\",\"url\":\"https:\\\/\\\/jacar.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jacar.es\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/favicon.png\",\"contentUrl\":\"https:\\\/\\\/jacar.es\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/favicon.png\",\"width\":252,\"height\":229,\"caption\":\"Jacar\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/javiercanetearroyo\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/person\\\/54a7f7b4224b38fafc9866eb3e614208\",\"name\":\"javi\",\"sameAs\":[\"https:\\\/\\\/jacar.es\"],\"url\":\"https:\\\/\\\/jacar.es\\\/en\\\/author\\\/javi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Backstage: Spotify's Developer Portal - Jacar","description":"Backstage explained: architecture, software catalog, plugins, scaffolder, TechDocs, and criteria to decide if adopting it in your organisation.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jacar.es\/backstage-spotify-portal\/","og_locale":"en_US","og_type":"article","og_title":"Backstage: Spotify's Developer Portal - Jacar","og_description":"Backstage explained: architecture, software catalog, plugins, scaffolder, TechDocs, and criteria to decide if adopting it in your organisation.","og_url":"https:\/\/jacar.es\/backstage-spotify-portal\/","og_site_name":"Jacar","article_published_time":"2023-11-22T10:00:00+00:00","og_image":[{"width":252,"height":229,"url":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2020\/09\/favicon.png","type":"image\/png"}],"author":"javi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"javi","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jacar.es\/backstage-spotify-portal\/#article","isPartOf":{"@id":"https:\/\/jacar.es\/backstage-spotify-portal\/"},"author":{"name":"javi","@id":"https:\/\/jacar.es\/#\/schema\/person\/54a7f7b4224b38fafc9866eb3e614208"},"headline":"Backstage: Spotify&#8217;s Developer Portal","datePublished":"2023-11-22T10:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/jacar.es\/backstage-spotify-portal\/"},"wordCount":1717,"publisher":{"@id":"https:\/\/jacar.es\/#organization"},"image":{"@id":"https:\/\/jacar.es\/backstage-spotify-portal\/#primaryimage"},"thumbnailUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/11\/19233440\/jwp-1280618-904.jpg","keywords":["backstage","developer experience","idp","platform engineering","service catalog","spotify"],"articleSection":["Arquitectura","Herramientas"],"inLanguage":"en-US"},{"@type":["WebPage","ItemPage"],"@id":"https:\/\/jacar.es\/backstage-spotify-portal\/","url":"https:\/\/jacar.es\/backstage-spotify-portal\/","name":"Backstage: Spotify's Developer Portal - Jacar","isPartOf":{"@id":"https:\/\/jacar.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jacar.es\/backstage-spotify-portal\/#primaryimage"},"image":{"@id":"https:\/\/jacar.es\/backstage-spotify-portal\/#primaryimage"},"thumbnailUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/11\/19233440\/jwp-1280618-904.jpg","datePublished":"2023-11-22T10:00:00+00:00","description":"Backstage explained: architecture, software catalog, plugins, scaffolder, TechDocs, and criteria to decide if adopting it in your organisation.","breadcrumb":{"@id":"https:\/\/jacar.es\/backstage-spotify-portal\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jacar.es\/backstage-spotify-portal\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacar.es\/backstage-spotify-portal\/#primaryimage","url":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/11\/19233440\/jwp-1280618-904.jpg","contentUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/11\/19233440\/jwp-1280618-904.jpg","width":1200,"height":800,"caption":"Pantalla de monitor con paneles de control de aplicaciones"},{"@type":"BreadcrumbList","@id":"https:\/\/jacar.es\/backstage-spotify-portal\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/jacar.es\/"},{"@type":"ListItem","position":2,"name":"Backstage: el portal para desarrolladores de Spotify"}]},{"@type":"WebSite","@id":"https:\/\/jacar.es\/#website","url":"https:\/\/jacar.es\/","name":"Jacar","description":"Passion for Technology","publisher":{"@id":"https:\/\/jacar.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jacar.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jacar.es\/#organization","name":"Jacar","url":"https:\/\/jacar.es\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacar.es\/#\/schema\/logo\/image\/","url":"https:\/\/jacar.es\/wp-content\/uploads\/2020\/09\/favicon.png","contentUrl":"https:\/\/jacar.es\/wp-content\/uploads\/2020\/09\/favicon.png","width":252,"height":229,"caption":"Jacar"},"image":{"@id":"https:\/\/jacar.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/javiercanetearroyo\/"]},{"@type":"Person","@id":"https:\/\/jacar.es\/#\/schema\/person\/54a7f7b4224b38fafc9866eb3e614208","name":"javi","sameAs":["https:\/\/jacar.es"],"url":"https:\/\/jacar.es\/en\/author\/javi\/"}]}},"_links":{"self":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts\/479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/comments?post=479"}],"version-history":[{"count":0,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts\/479\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/media\/480"}],"wp:attachment":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/media?parent=479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/categories?post=479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/tags?post=479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}