[{"id":"bded291d-e516-49e4-ac66-537748c3c663","title":"Backend Core (Node.js)","slug":"lab-core-node","description_es":"API central que unifica datos y proyectos del ecosistema.","description_en":"Central API unifying data and projects across the ecosystem.","tech_stack":["Node.js","Express","Prisma","TypeScript","PostgreSQL"],"repo_url":"https://github.com/SvarogMyl/lab-core-node","live_url":"https://api.svasoft.cl","docs_url":"https://api.svasoft.cl/api-docs","image_url":null,"status":"PRODUCTION","category":"BACKEND","hosting":"Oracle Cloud","order":0,"createdAt":"2026-06-04T08:45:59.249Z","updatedAt":"2026-06-05T07:28:19.260Z"},{"id":"ff577051-09dd-420a-a200-afcad1e5539b","title":"Lab Spring Postgres","slug":"lab-spring-postgres","description_es":"Backend robusto en Java con Spring Boot y PostgreSQL.","description_en":"Robust Java backend with Spring Boot and PostgreSQL.","tech_stack":["Java 21","Spring Boot","PostgreSQL","JWT"],"repo_url":"https://github.com/SvarogMyl/lab-spring-postgres","live_url":"https://spring.svasoft.cl","docs_url":"https://spring.svasoft.cl/swagger-ui/index.html","image_url":null,"status":"PRODUCTION","category":"BACKEND","hosting":"Oracle Cloud","order":1,"createdAt":"2026-06-04T08:45:59.350Z","updatedAt":"2026-06-05T07:28:19.351Z"},{"id":"d8efb0ac-f658-4d25-a9b4-8d5469d1e6f1","title":"Lab Auth Service","slug":"lab-auth-service","description_es":"IdP central del ecosistema. Registro, login y validación JWT.","description_en":"Central IdP for the ecosystem. Register, login and JWT validation.","tech_stack":["Go","Gin","PostgreSQL","JWT","bcrypt"],"repo_url":"https://github.com/SvarogMyl/lab-auth-service","live_url":"https://auth.svasoft.cl","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"BACKEND","hosting":"Oracle Cloud","order":2,"createdAt":"2026-06-04T08:45:59.449Z","updatedAt":"2026-06-05T07:28:19.444Z"},{"id":"354eda13-730f-46cb-b697-f2a93031c911","title":"Lab Mail Service","slug":"lab-mail-service","description_es":"Microservicio de emails con FastAPI, RabbitMQ y Brevo.","description_en":"Email microservice with FastAPI, RabbitMQ and Brevo.","tech_stack":["Python","FastAPI","RabbitMQ","Brevo"],"repo_url":"https://github.com/SvarogMyl/lab-mail-service","live_url":"https://mail.svasoft.cl","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"BACKEND","hosting":"Oracle Cloud","order":3,"createdAt":"2026-06-04T08:45:59.574Z","updatedAt":"2026-06-05T07:28:19.535Z"},{"id":"53c22b59-ad25-4925-bd75-573fd58274b9","title":"Lab News Service","slug":"lab-news-service","description_es":"API SaaS multi-tenant para gestión de noticias con storage en R2.","description_en":"Multi-tenant SaaS API for news management with R2 storage.","tech_stack":["Node.js","TypeScript","Prisma","Cloudflare R2","PostgreSQL"],"repo_url":"https://github.com/SvarogMyl/lab-news-service","live_url":"https://news.svasoft.cl","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"BACKEND","hosting":"Oracle Cloud","order":4,"createdAt":"2026-06-04T08:45:59.678Z","updatedAt":"2026-06-05T07:28:19.629Z"},{"id":"d2fcc1cb-0faa-4925-b0f0-d3e5e5691bd9","title":"Lab Data Service","slug":"lab-data-service","description_es":"Pipeline automatizado de conversión Excel a JSON.","description_en":"Automated Excel to JSON conversion pipeline.","tech_stack":["Python","Pandas","GitHub Actions"],"repo_url":"https://github.com/SvarogMyl/lab-data-service","live_url":null,"docs_url":null,"image_url":null,"status":"PRODUCTION","category":"BACKEND","hosting":"GitHub Actions","order":5,"createdAt":"2026-06-04T08:45:59.806Z","updatedAt":"2026-06-04T08:45:59.806Z"},{"id":"09ca42c9-9ba6-4ea7-b5c6-c6c6b7d10cb9","title":"Lab Hub (Next.js)","slug":"lab-hub-nextjs","description_es":"Portal central moderno con i18n, TypeScript y diseño Holo.","description_en":"Modern central portal with i18n, TypeScript and Holo design system.","tech_stack":["Next.js 16","TypeScript","Cloudflare Workers","i18n"],"repo_url":"https://github.com/SvarogMyl/lab-hub-nextjs","live_url":"https://hub.svasoft.cl","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"FRONTEND","hosting":"Cloudflare Workers","order":0,"createdAt":"2026-06-04T08:45:59.147Z","updatedAt":"2026-06-05T07:28:19.825Z"},{"id":"7b0e0ae7-96a8-41b7-a3be-994df9004e7e","title":"Svarog Web","slug":"svarog-web","description_es":"Portal comercial de Svarog EcoSystem. Landing, login con Google OAuth y SSO hacia news-admin.","description_en":"Svarog EcoSystem commercial portal. Landing, Google OAuth login and SSO to news-admin.","tech_stack":["Next.js 16","TypeScript","Tailwind CSS","Cloudflare Workers","OpenNext"],"repo_url":"https://github.com/SvarogMyl/svarog-web","live_url":"https://svasoft.cl","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"FRONTEND","hosting":"Cloudflare Workers","order":0,"createdAt":"2026-06-05T07:28:33.618Z","updatedAt":"2026-06-05T07:28:33.618Z"},{"id":"484c0bfc-1080-4b97-8b81-84785545dc18","title":"News Admin","slug":"lab-news-admin","description_es":"Panel de administración de contenido para lab-news-service. Gestión de artículos, medios y publicación con autenticación JWT.","description_en":"Content management admin panel for lab-news-service. Handles articles, media and publishing with JWT authentication.","tech_stack":["Next.js 16","TypeScript","Tailwind CSS","Cloudflare Workers","OpenNext"],"repo_url":"https://github.com/SvarogMyl/lab-news-admin","live_url":"https://news-admin.svasoft.cl","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"FRONTEND","hosting":"Cloudflare Workers","order":1,"createdAt":"2026-06-04T08:43:52.288Z","updatedAt":"2026-06-05T07:28:19.927Z"},{"id":"b269b03a-374e-4973-bea3-fa00fd040ce7","title":"Store (Catálogo Spring Boot)","slug":"lab-frontend-nextjs","description_es":"Catálogo de productos full-stack — Next.js consume la API REST de Spring Boot. CRUD con paginación y JWT.","description_en":"Full-stack product catalog — Next.js consuming Spring Boot REST API. Item CRUD with pagination and JWT.","tech_stack":["Next.js 16","TypeScript","Spring Boot","Tailwind CSS","Cloudflare Workers"],"repo_url":"https://github.com/SvarogMyl/lab-frontend-nextjs","live_url":"https://store.svasoft.cl","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"FRONTEND","hosting":"Cloudflare Workers","order":2,"createdAt":"2026-06-04T08:46:00.006Z","updatedAt":"2026-06-05T07:28:20.029Z"},{"id":"9f47889b-d01e-4bfc-9a90-e16c43311d17","title":"Lab Hub (React)","slug":"lab-hub-react","description_es":"Versión legacy del portal central en React puro.","description_en":"Legacy version of the central portal in plain React.","tech_stack":["React","Vite"],"repo_url":"https://github.com/SvarogMyl/lab-hub-react","live_url":"https://lab-hub-react.pages.dev","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"FRONTEND","hosting":"Cloudflare Pages","order":3,"createdAt":"2026-06-04T08:46:00.101Z","updatedAt":"2026-06-05T07:28:20.132Z"},{"id":"1ad1cd2c-6618-4a84-a606-e067f919f31c","title":"Lab Monitor Service","slug":"lab-monitor-service","description_es":"Keep-alive del ecosistema. Pings cada 5 minutos a todos los servicios.","description_en":"Ecosystem keep-alive. Pings all services every 5 minutes.","tech_stack":["Node.js","Express"],"repo_url":"https://github.com/SvarogMyl/lab-monitor-service","live_url":"https://monitor.svasoft.cl","docs_url":null,"image_url":null,"status":"PRODUCTION","category":"INFRASTRUCTURE","hosting":"Oracle Cloud","order":0,"createdAt":"2026-06-04T08:45:59.909Z","updatedAt":"2026-06-05T07:28:19.726Z"},{"id":"662ac711-1e37-45db-bd47-aff1cce11e16","title":"Holo Template","slug":"lab-template-holo","description_es":"Design system CSS/React reutilizable del ecosistema. Open source.","description_en":"Reusable CSS/React design system for the ecosystem. Open source.","tech_stack":["React","CSS","TypeScript"],"repo_url":"https://github.com/SvarogMyl/lab-template-holo","live_url":null,"docs_url":null,"image_url":null,"status":"PRODUCTION","category":"TEMPLATE","hosting":"OSS","order":0,"createdAt":"2026-06-04T08:46:00.208Z","updatedAt":"2026-06-04T08:46:00.208Z"}]