[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"technologies":3,"open-source":167},[4,10,15,21,26,32,38,43,48,53,58,63,68,73,77,82,87,92,97,103,108,113,118,123,128,133,138,143,147,152,157,162],{"title":5,"description":6,"slug":7,"category":8,"icon":9},"Android","Todas las apps que entregamos llegan a Android: APIs de plataforma, ejecución en segundo plano, permisos y los requisitos de tienda que traen consigo.","android","framework","logos:android-icon",{"title":11,"description":12,"slug":13,"category":8,"icon":14},"Angular","El framework de frontend en el que trabajamos cuando un producto ya es Angular: una estructura con todo incluido que encaja en apps grandes y de vida larga.","angular","logos:angular-icon",{"title":16,"description":17,"slug":18,"category":19,"icon":20},"Dart","El lenguaje en el que está escrita cada app Flutter que entregamos: null safety robusto, pattern matching de verdad y un compilador que apunta a nativo y a la web.","dart","language","logos:dart",{"title":22,"description":23,"slug":24,"category":8,"icon":25},"Django","El framework de Python que usamos cuando un producto necesita administración, autenticación y un modelo de datos real desde el primer día.","django","logos:django-icon",{"title":27,"description":28,"slug":29,"category":30,"icon":31},"Docker","Cada servicio que construimos se publica como contenedor, así que lo que corre en un portátil, en CI y en producción es un solo artefacto y no tres.","docker","infrastructure","logos:docker-icon",{"title":33,"description":34,"slug":35,"category":36,"icon":37},"Fastlane","La automatización de releases móviles: firma, builds y subidas a las tiendas desde CI, no desde el portátil de un ingeniero el día del lanzamiento.","fastlane","tools","logos:fastlane",{"title":39,"description":40,"slug":41,"category":8,"icon":42},"Flutter","Nuestro stack móvil principal desde 2018: una base de código Dart que llega a iOS, Android, web y escritorio sin un equipo por plataforma.","flutter","logos:flutter",{"title":44,"description":45,"slug":46,"category":36,"icon":47},"Git","Todos los proyectos que tocamos viven en Git: pull requests revisadas, CI en cada rama y un historial que sigue teniendo sentido meses después.","git","logos:git-icon",{"title":49,"description":50,"slug":51,"category":19,"icon":52},"Go","Nuestro lenguaje de backend para APIs en tiempo real y servicios bajo carga: binarios pequeños, compilaciones rápidas y concurrencia que sigue siendo legible.","go","logos:gopher",{"title":54,"description":55,"slug":56,"category":30,"icon":57},"Google Cloud","La nube donde corren nuestras cargas de producción: Kubernetes gestionado, almacenamiento y red, sin servidores hechos a mano que nadie quiere mantener.","gcp","logos:google-cloud",{"title":59,"description":60,"slug":61,"category":36,"icon":62},"Gradle","El sistema de build por el que pasa cada release de Android: product flavours, configuraciones de firma y el cableado de dependencias bajo una app Flutter.","gradle","logos:gradle",{"title":64,"description":65,"slug":66,"category":30,"icon":67},"Helm","Cómo empaquetamos un despliegue de Kubernetes: servicio, configuración, secretos e ingress como una unidad versionada que se puede promover y revertir.","helm","logos:helm",{"title":69,"description":70,"slug":71,"category":19,"icon":72},"Kotlin","A lo que recurrimos cuando una app Flutter necesita Android de verdad por debajo: platform channels, trabajo en segundo plano e integraciones con SDK nativos.","kotlin","logos:kotlin-icon",{"title":74,"description":75,"slug":76,"category":8,"icon":72},"Kotlin Multiplatform","Compartir la lógica de negocio entre iOS y Android mientras cada plataforma conserva su UI nativa: la alternativa cuando Flutter no encaja.","kmp",{"title":78,"description":79,"slug":80,"category":30,"icon":81},"Kubernetes","Cómo ejecutamos servicios en producción: despliegues con Helm, rollouts reversibles y escalado que no necesita a nadie a las 3 de la mañana.","kubernetes","logos:kubernetes",{"title":83,"description":84,"slug":85,"category":30,"icon":86},"NATS","Mensajería ligera entre servicios: publicación\u002Fsuscripción y petición\u002Frespuesta sin el peso operativo de un clúster de broker completo.","nats","logos:nats-icon",{"title":88,"description":89,"slug":90,"category":8,"icon":91},"Nuxt","Vue con renderizado en servidor, enrutado y SEO resueltos: así hacemos sitios y apps web que deben ser rápidas e indexables en la primera carga.","nuxt","logos:nuxt-icon",{"title":93,"description":94,"slug":95,"category":19,"icon":96},"PHP","Donde trabajamos con un backend PHP ya existente: extenderlo, integrarse con él y construir los clientes móviles y web a los que tiene que servir.","php","logos:php",{"title":98,"description":99,"slug":100,"category":101,"icon":102},"PostgreSQL","Nuestra base de datos por defecto, salvo que un producto dé una razón concreta para no usarla: del diseño del esquema al ajuste de índices.","postgres","database","logos:postgresql",{"title":104,"description":105,"slug":106,"category":19,"icon":107},"Python","Nuestro lenguaje para backends, trabajo con datos e integraciones de IA, incluidos los bindings de Python que publicamos para nuestras propias herramientas en Rust.","python","logos:python",{"title":109,"description":110,"slug":111,"category":8,"icon":112},"React","La librería de frontend en la que trabajamos cuando un producto ya es React: componentes, hooks y el ecosistema que ha crecido a su alrededor.","react","logos:react",{"title":114,"description":115,"slug":116,"category":101,"icon":117},"Redis","Donde ponemos los datos que tienen que ser rápidos y se pueden reconstruir: cachés, sesiones, límites de tasa y las colas tras las rutas lentas de un producto.","redis","logos:redis",{"title":119,"description":120,"slug":121,"category":19,"icon":122},"Ruby","El lenguaje de nuestra automatización de releases móviles: lanes de Fastlane, acciones a medida y el pegamento de CI que sube builds a las tiendas.","ruby","logos:ruby",{"title":124,"description":125,"slug":126,"category":19,"icon":127},"Rust","A donde vamos cuando importan tanto el rendimiento como la corrección: renderizado de documentos, herramientas de CLI y servicios que tienen que ser rápidos y predecibles.","rust","simple-icons:rust",{"title":129,"description":130,"slug":131,"category":101,"icon":132},"SQLite","La base de datos que viaja dentro de la app: cachés locales, almacenamiento offline-first y todo lo que tiene que seguir funcionando sin red.","sqlite","logos:sqlite",{"title":134,"description":135,"slug":136,"category":8,"icon":137},"Strapi","Un CMS headless para cuando los editores necesitan ser dueños del contenido: una administración de verdad y una API limpia, sin construirlas desde cero.","strapi","logos:strapi-icon",{"title":139,"description":140,"slug":141,"category":19,"icon":142},"Swift","A lo que recurrimos cuando una app Flutter necesita iOS de verdad por debajo: platform channels, integraciones con SDK nativos, widgets y App Clips.","swift","logos:swift",{"title":144,"description":145,"slug":146,"category":8,"icon":142},"SwiftUI","El framework de UI de Apple, donde construimos las superficies nativas que una app Flutter no puede tener: widgets, App Clips y extensiones.","swiftui",{"title":148,"description":149,"slug":150,"category":8,"icon":151},"Tailwind CSS","Cómo damos estilo a cada frontend que construimos: clases de utilidad y design tokens en lugar de una hoja de estilos que solo crece y nunca se borra.","tailwind","logos:tailwindcss-icon",{"title":153,"description":154,"slug":155,"category":19,"icon":156},"TypeScript","Lo predeterminado para todo lo que escribimos para el navegador y para servicios Node: tipos que detectan errores de integración antes de llegar a una revisión.","typescript","logos:typescript-icon",{"title":158,"description":159,"slug":160,"category":8,"icon":161},"Vue","Nuestro framework de frontend para paneles de administración, cuadros de mando y apps web que deben seguir siendo mantenibles durante años.","vue","logos:vue",{"title":163,"description":164,"slug":165,"category":36,"icon":166},"Whisper","El modelo de reconocimiento de voz de código abierto de OpenAI: el motor de transcripción detrás de la entrada por voz, que funciona como servicio de backend y también en el propio dispositivo.","whisper","simple-icons:openai",{"projects":168,"stats":215},[169,178,185,193,200,209],{"title":170,"description":171,"id":172,"slug":173,"technologies":174,"repository":175},"Flutter Adaptive Layout","Un paquete de Flutter que construye una disposición distinta para pantallas pequeñas, medianas y grandes, con breakpoints configurables y sin más dependencia que MediaQuery.","open_source_es\u002Fopen-source\u002Fflutter-adaptive-layout.md","flutter-adaptive-layout",[41,18],{"type":176,"company":177,"name":173},"github","nerdy-pro",{"title":179,"description":180,"id":181,"slug":182,"technologies":183,"repository":184},"Flutter Future Progress Dialog","Un paquete de Flutter que muestra un diálogo de progreso durante operaciones asíncronas y devuelve el resultado, con estilos Material, Cupertino y adaptativo incluidos.","open_source_es\u002Fopen-source\u002Fflutter-progress-dialog.md","flutter-progress-dialog",[41,18],{"type":176,"company":177,"name":182},{"title":186,"description":187,"id":188,"slug":189,"technologies":190,"repository":191},"Flutter Number Editing Controller","Un TextEditingController que da formato a números, decimales y monedas mientras el usuario escribe, con soporte completo de locales.","open_source_es\u002Fopen-source\u002Fflutter-number-editing-controller.md","flutter-number-editing-controller",[41,18],{"type":176,"company":177,"name":192},"flutter_number_editing_controller",{"title":194,"description":195,"id":196,"slug":197,"technologies":198,"repository":199},"Nerdy Pro Dev Container","Una imagen Docker de dev container precompilada con Node.js, zsh y Claude Code preinstalados: añádela al .devcontainer de cualquier proyecto para saltarte la compilación y empezar a programar de inmediato.","open_source_es\u002Fopen-source\u002Fnerdy-pro-dev-container.md","nerdy-pro-dev-container",[29,46],{"type":176,"company":177,"name":197},{"title":201,"description":202,"id":203,"slug":204,"technologies":205,"repository":206},"Orosu Server","Una herramienta de entrega segura para CI\u002FCD que reemplaza los pasos improvisados de SSH\u002FSCP en GitHub Actions y otros pipelines de CI con tareas autenticadas por WebSocket que ejecutan scripts predefinidos en la máquina de destino.","open_source_es\u002Fopen-source\u002Forosu-server.md","orosu-server",[126],{"type":176,"company":207,"name":208},"orosu-ci","server",{"title":210,"description":211,"id":212,"slug":210,"technologies":213,"repository":214},"dxpdf","Un conversor de DOCX a PDF rápido e independiente, escrito en Rust y basado en Skia, sin necesidad de Microsoft Office, LibreOffice ni APIs en la nube. Disponible como herramienta CLI, librería de Rust, paquete de Python y bindings de Go.","open_source_es\u002Fopen-source\u002Fdxpdf.md",[126,106,51],{"type":176,"company":177,"name":210},{"nerdy-pro:dxpdf":216,"nerdy-pro:flutter-adaptive-layout":245,"nerdy-pro:flutter_number_editing_controller":253,"nerdy-pro:flutter-progress-dialog":266,"nerdy-pro:nerdy-pro-dev-container":277,"orosu-ci:server":282},{"forks":217,"stars":218,"contributors":219,"last_release":240,"issues":241,"has_contribution_guide":242,"license":243,"last_updated":244,"watchers":218},10,38,[220,225,230,235],{"login":221,"profile_url":222,"avatar_url":223,"contributions":224},"thenixan","https:\u002F\u002Fgithub.com\u002Fthenixan","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3602098?v=4",1032,{"login":226,"profile_url":227,"avatar_url":228,"contributions":229},"markovdigital","https:\u002F\u002Fgithub.com\u002Fmarkovdigital","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F15268617?v=4",29,{"login":231,"profile_url":232,"avatar_url":233,"contributions":234},"ikashapov","https:\u002F\u002Fgithub.com\u002Fikashapov","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F3253046?v=4",11,{"login":236,"profile_url":237,"avatar_url":238,"contributions":239},"denizsafak","https:\u002F\u002Fgithub.com\u002Fdenizsafak","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F39929354?v=4",2,"v0.8.1",19,false,"MIT","2026-09-14T14:36:47Z",{"forks":246,"stars":247,"contributors":248,"last_release":251,"issues":246,"has_contribution_guide":242,"license":243,"last_updated":252,"watchers":247},0,1,[249],{"login":221,"profile_url":222,"avatar_url":223,"contributions":250},26,"v1.1.0","2026-08-13T19:18:10Z",{"forks":254,"stars":255,"contributors":256,"last_release":263,"issues":246,"has_contribution_guide":242,"license":264,"last_updated":265,"watchers":255},5,3,[257,259],{"login":221,"profile_url":222,"avatar_url":223,"contributions":258},94,{"login":260,"profile_url":261,"avatar_url":262,"contributions":247},"maurovanetti","https:\u002F\u002Fgithub.com\u002Fmaurovanetti","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F402070?v=4","v2.1.0","BSD-3-Clause","2026-03-17T10:44:29Z",{"forks":246,"stars":239,"contributors":267,"last_release":275,"issues":246,"has_contribution_guide":242,"license":243,"last_updated":276,"watchers":239},[268,270],{"login":221,"profile_url":222,"avatar_url":223,"contributions":269},100,{"login":271,"profile_url":272,"avatar_url":273,"contributions":274},"OleksandrFedyay","https:\u002F\u002Fgithub.com\u002FOleksandrFedyay","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F17413471?v=4",33,"v2.0.0","2026-08-19T17:15:57Z",{"forks":246,"stars":247,"contributors":278,"last_release":251,"issues":246,"has_contribution_guide":242,"license":243,"last_updated":281,"watchers":247},[279],{"login":221,"profile_url":222,"avatar_url":223,"contributions":280},23,"2026-08-05T14:37:59Z",{"forks":246,"stars":247,"contributors":283,"last_release":286,"issues":246,"has_contribution_guide":242,"license":287,"last_updated":288,"watchers":247},[284],{"login":221,"profile_url":222,"avatar_url":223,"contributions":285},271,"v0.7.0","Apache-2.0","2026-08-07T12:57:55Z"]