CursosEmpresasBlogLiveConfPrecios

Autoprefixer: Cómo añadir vendor prefixes usando CSS standard

Clase 5 de 21 • Diseño web con PostCSS, el futuro de CSS

Clase anteriorSiguiente clase

Contenido del curso

El futuro de CSS con PostCSS y CSSNext

  • 1
    Bienvenidos al modulo de PostCSS

    Bienvenidos al modulo de PostCSS

    00:23 min
  • 2
    ¿Qué es PostCSS ?

    ¿Qué es PostCSS ?

    03:42 min
  • 3
    Nomenclatura BEM (  Bloque, Elemento, Modificador )

    Nomenclatura BEM ( Bloque, Elemento, Modificador )

    14:47 min
  • 4
     Configurando nuestras tareas en Gulp: Servidor, Procesamiento de CSS y Watch

    Configurando nuestras tareas en Gulp: Servidor, Procesamiento de CSS y Watch

    12:34 min
  • 5
    Autoprefixer: Cómo añadir vendor prefixes usando CSS standard

    Autoprefixer: Cómo añadir vendor prefixes usando CSS standard

    Viendo ahora
  • 6
    Anidando clases de CSS con Nested

    Anidando clases de CSS con Nested

    04:20 min
  • 7
    Configurando CSSNext en nuestro archivo Gulp

    Configurando CSSNext en nuestro archivo Gulp

    05:46 min
  • 8
    Propiedades personalizadas

    Propiedades personalizadas

    05:17 min
  • 9
    Usando Calc

    Usando Calc

    03:50 min
  • 10
    Media queries personalizadas

    Media queries personalizadas

    06:57 min
  • 11
    Manejo de color

    Manejo de color

    08:05 min
  • 12
    Manejo de filtros

    Manejo de filtros

    03:06 min
  • 13
     Mixins: Cómo reutilizar estilos de CSS

    Mixins: Cómo reutilizar estilos de CSS

    08:24 min
  • 14
    Separando nuestros archivos CSS y uso de @import

    Separando nuestros archivos CSS y uso de @import

    08:39 min
  • 15
    Implementando un carousel con CSS Scroll Snap

    Implementando un carousel con CSS Scroll Snap

    13:36 min
  • 16
    Grids responsive con Lost

    Grids responsive con Lost

    13:42 min
  • 17
    Minificando archivos con CSSWring

    Minificando archivos con CSSWring

    03:18 min
  • 18
    Fuentes responsive con rucksack

    Fuentes responsive con rucksack

    08:50 min
  • 19
    Unificando media-queries con Mqpacker

    Unificando media-queries con Mqpacker

    06:32 min

Conclusiones de PostCSS

  • 20
    Desafio 1

    Desafio 1

    00:48 min
  • 21
    Desafio 2

    Desafio 2

    00:42 min
  • Tomar el examen del curso
    • Sergio Zapata Donado

      Sergio Zapata Donado

      student•
      hace 8 años

      Creo que van a tener que volver a hacer este curso, no es coincidencia que en cada video este la gente en el chat diciendo que no le funciona en ninguno de los Sistemas operativos.

        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años

        Si ordenas por nuevas ves que el anterior comentario es de @michiwoowebs que pudo solucionar el problema haciendo unos pequeños cambios en la configuración, esto es por los cambios de versiones en las librerías que cambian su forma de configurar.

        Christian Diaz Portela Flores

        Christian Diaz Portela Flores

        student•
        hace 5 años

        Concuerdo con Sergio, tienen que volver a hacer este curso, no por los errores de los cambios de versiones de las librerías (los devs estamos acostumbrados a eso), sino, porque el estándar hoy en día es WebPack. y toda la configuración y el bundle lo hace con Gulp (que siendo sinceros Gulp ya está un poco viejo).

      Michel González Morales

      Michel González Morales

      student•
      hace 8 años

      Comparto el código me funciona bien, se actualiza el archivo en la carpeta dist y se actualiza en el navegador.

      var gulp = require('gulp'), postcss = require('gulp-postcss'), autoprefixer = require('autoprefixer'), browserSync = require('browser-sync').create() // Servidor de desarrollo gulp.task('serve', function () { browserSync.init({ server: { baseDir: './dist' } }) }) // Tarea para procesar el CSS gulp.task('css', function () { var processors = [ autoprefixer({ browsers: ['>5%', 'ie 8'] }) ] return gulp.src('./src/invie.css') .pipe(postcss(processors)) .pipe(gulp.dest('./dist/css')) .pipe(browserSync.stream()) }) // Tarea para vigilar los cambios gulp.task('watch', function () { gulp.watch('./src/*.css', ['css']) gulp.watch('./dist/*.html').on('change', browserSync.reload) }) gulp.task('default', ['watch', 'serve'])```
      Carlos Jesús Mestanza Jacobo

      Carlos Jesús Mestanza Jacobo

      student•
      hace 9 años

      Pues no me corrio la actualizacion del css y la terminal no me detecta los cambios, alguna ayuda?

      var gulp = require('gulp') var postcss = require('gulp-postcss') var autoprefixer = require('gulp-autoprefixer'); var browserSync = require('browser-sync').create() //Servidor de desarrollo gulp.task('server', function () { browserSync.init({ server: { baseDir: './dist' } }) }) // Tarea para procesar el css gulp.task('css', function(){ var processors = [ autoprefixer({browsers:'last 5 versions'}) ] return gulp.src('./src/*.css') .pipe(postcss(processors)) .pipe(gulp.dest('./dist/css')) .pipe(browserSync.stream()) }) // tarea para vigilar los cambios gulp.task('watch', function () { gulp.watch('./src/*.css', ['css']) gulp.watch('./dist/*.html').on('change', browserSync.reload) }) gulp.task('default', ['watch', 'server'])
        Juan Carlos Rueda Diaz

        Juan Carlos Rueda Diaz

        student•
        hace 9 años

        gulp.task(‘server’
        => gulp.task(‘serve’

        y

        gulp.task(‘default’, [‘watch’, ‘server’’]
        =>gulp.task(‘default’, [‘watch’, ‘serve’’]

        Rafnix Gabriel Guzmán Garcia

        Rafnix Gabriel Guzmán Garcia

        student•
        hace 8 años

        incluye css en la tarea default!

        gulp.task('default', ['watch', 'server','css'])
      Daniel Muñoz Martín

      Daniel Muñoz Martín

      student•
      hace 8 años

      Necesito ayuda tengo un problema con el fichero css de la carpeta dist no me reescribe ese fichero y no entiendo porque…no encuentro ningun error en el codigo pero seguro que hay algo que se me pasa a ver si me pueden ayudar muchas gracias este es el codigo.

      gulp.task('css', function(){ var processor = [ autoprefixer({ browsers: ['> 5%', 'ie 8'] }) ] return gulp.src('./src/*.css') .pipe(postcss(processor)) .pipe(gulp.dest('./dist/css')) .pipe(browserSync.stream()) }) // Tarea para vigilar los cambos gulp.task('watch', function(){ gulp.watch('./src/*.css', ['css']) gulp.watch('./dist/*.html').on('change', browserSync.reload) }) gulp.task('default', ['watch', 'serve', 'css'])
        David Camacho

        David Camacho

        student•
        hace 8 años

        No es necesario que agregues la tarea css en la tarea default ya que en la tarea ‘watch’ estas incluyendo la tarea de css y estas incluyendo una tarea de reload para todos los archivos html.

        Verifica que tengas instalado cssnested y cssnext.

        Alejandro Ortegano

        Alejandro Ortegano

        student•
        hace 8 años

        aqui esta la mi codigo solucionado

        var gulp = require('gulp') var postcss = require('gulp-postcss') var browserSync = require('browser-sync').create() //Servidor de desarrollo gulp.task('serve', function () { browserSync.init({ server: { baseDir: './dist' } }) }) //Tarea para procesar el CSS gulp.task('css', function () { var processors = [] return gulp.src('src/*.css') .pipe(postcss(processors)) .pipe(gulp.dest('dist/css')) .pipe(browserSync.stream()) }) // Tarea para vigilar los cambios gulp.task('watch', function () { gulp.watch('./src/*.css', ['css']) gulp.watch('./dist/*.html').on('change', browserSync.reload) }) gulp.task('default', ['watch' , 'serve'] ) //```
      Juan Diego Silva Garcia

      Juan Diego Silva Garcia

      student•
      hace 7 años
      const { series, parallel, src, dest, watch } = require('gulp') const postcss = require('gulp-postcss') const autoprefixer = require('autoprefixer') const browsersync = require('browser-sync').create() //server stactic function browserSync(done) { browsersync.init({ server: { baseDir: './dist' }, port: 3000 }) done() } // BrowserSync Reload function browserSyncReload(done) { browsersync.reload(); done(); } // Tarea para procesar el css function css() { var processors = [ autoprefixer({ overrideBrowserslist: 'last 5 versions'}) ] return src('src/*.css') .pipe(postcss(processors)) .pipe(dest('dist/css')) .pipe(browsersync.stream()) } //Vigilar cambios function watchFiles() { watch('./src/*.css', css) watch('./dist/*.html').on('change', browserSyncReload) } //unificar las tareas const watcher = parallel(watchFiles, browserSync) //exportar cambios exports.default = series(css, watcher)
      Erick Neftalí Sarmiento Cortes

      Erick Neftalí Sarmiento Cortes

      student•
      hace 9 años

      Todo se ve genial y esta excelente la herramienta pero no pude actualizar el npm, me manda error, voy a hacerlo desde cero en un SO nuevo para ver cual fue el problema, supongo que tengo demasiadas cosas ya instaladas aquí.

        Erick Neftalí Sarmiento Cortes

        Erick Neftalí Sarmiento Cortes

        student•
        hace 9 años
        postcss@1.0.0 /media/mychip/UUI/Documentos/Programacion/CURSO/PostCSS +-- caniuse-lite@1.0.30000680 extraneous +-- normalize-range@0.1.2 extraneous +-- num2fraction@1.2.2 extraneous +-- postcss@6.0.1 extraneous `-- postcss-value-parser@3.3.0 extraneous npm WARN postcss@1.0.0 No repository field. npm ERR! Linux 3.19.0-32-generic npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "--save-dev" "gulp-autoprefixer" npm ERR! node v6.2.0 npm ERR! npm v3.8.9 npm ERR! path ../browserslist/cli.js npm ERR! code EPERM npm ERR! errno -1 npm ERR! syscall symlink npm ERR! Error: EPERM: operation not permitted, symlink '../browserslist/cli.js' -> '/media/mychip/UUI/Documentos/Programacion/CURSO/PostCSS/node_modules/.bin/browserslist' npm ERR! at Error (native) npm ERR! { Error: EPERM: operation not permitted, symlink '../browserslist/cli.js' -> '/media/mychip/UUI/Documentos/Programacion/CURSO/PostCSS/node_modules/.bin/browserslist' npm ERR! at Error (native) npm ERR! errno: -1, npm ERR! code: 'EPERM', npm ERR! syscall: 'symlink', npm ERR! path: '../browserslist/cli.js', npm ERR! dest: '/media/mychip/UUI/Documentos/Programacion/CURSO/PostCSS/node_modules/.bin/browserslist', npm ERR! parent: 'postcss' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! Please include the following file with any support request: npm ERR! /media/mychip/UUI/Documentos/Programacion/CURSO/PostCSS/npm-debug.log
        Erick Neftalí Sarmiento Cortes

        Erick Neftalí Sarmiento Cortes

        student•
        hace 9 años

        me cambie de maquina y lo hice desde el principio y ahora quien me puede ayudar porque no veo error en mi código y no cambia nada:

        var gulp = require('gulp') var postcss = require('gulp-postcss') var browserSync = require('browser-sync').create() //Servidor de desarrollo gulp.task('serve', function(){ browserSync.init({ server: { baseDir: './dist' } }) }) //Ptarea para procesar el CSS gulp.task('css', function(){ var processors = [] return gulp.src('./src/*.css') .pipe(postcss(processors)) .pipe(gulp.dest('./dist/css')) .pipe(browserSync.stream()) }) // Tarea para vigilar los cambios gulp.task('watch', function(){ gulp.watch('./src/*.css', ['css']) gulp.watch('./dist/*.html').on('change', browserSync.reload) }) gulp.task('default', ['watch', 'serve'])
      Emiliano Durán

      Emiliano Durán

      student•
      hace 9 años

      No me funciona el código como está en el video:

      autoprefixer({browsers:'last 5 versions'}) // esto si funciona y concuerda con la documentación de NPM

      Abrazoooo!!!

        Emiliano Durán

        Emiliano Durán

        student•
        hace 9 años

        https://www.npmjs.com/package/gulp-autoprefixer

      Jhonny Stiven Agudelo Tenorio

      Jhonny Stiven Agudelo Tenorio

      student•
      hace 8 años

      a quien le ha funcionado el codigo como el profesor lo hace, si copio el codigo de alguien de la clase pasada funciona pero al colocarle el autoprefixer ahi llega todo, lo coloco como el profesor lo tiene y nada funciona

      Jhonny Stiven Agudelo Tenorio

      Jhonny Stiven Agudelo Tenorio

      student•
      hace 8 años

      ![](

      error.PNG

        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años

        Tienes un error de digitación y el mismo error te dice, en la linea 22 de tu archivo cambia browser por browsers

        https://platzi.com/clases/postcss/concepto/postcss-y-cssnext/autoprefixer-como-anadir-vendor-prefixes-usando-cs/material/?time=144

        Jhonny Stiven Agudelo Tenorio

        Jhonny Stiven Agudelo Tenorio

        student•
        hace 8 años

        muchas gracias,

      Luis Miguel Ruiz Martinez

      Luis Miguel Ruiz Martinez

      student•
      hace 8 años

      esto no funciona en w10? :c

        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años

        Qué problema tienes?, todo debe funcionar en Windows.

      Ivan Cardozo

      Ivan Cardozo

      student•
      hace 8 años

      no anda el codigo

      gulpfile.js:

      var gulp = require('gulp') var postcss = require('gulp-postcss') var autoprefixer = require('autoprefixer') var browserSync = require('browser-sync').create() //Servidor de desarrollo gulp.task('serve', function () { browserSync.init({ server: { baseDir: './dist' } }) }) //Tarea para procesar el CSS gulp.task('css', function () { var processors = [ autoprefixer({ browsers: ['>5%' , 'ie 8'] } ) ] return gulp.src('src/*.css') .pipe(postcss(processors)) .pipe(gulp.dest('dist/css')) .pipe(browserSync.stream()) }) // Tarea para vigilar los cambios gulp.task('watch', function () { gulp.watch('./src/*.css', ['css']) gulp.watch('./dist/*.html').on('change', browserSync.reload) }) gulp.task('default', ['watch' , 'serve'] )

      css file:

      body{ background: brown; } .classTest{ display: flex; transition: all 0.3s ease; }
        Ivan Cardozo

        Ivan Cardozo

        student•
        hace 8 años

        osea anda pero el css de dist no hace lo que se supone deberia hacer

        body{ background: brown; } .classTest{ display: flex; transition: all 0.3s ease; }

        Muestra lo mismo , ya intente incluso reiniciar gulp y nada

        Diego Forero

        Diego Forero

        Team Platzi•
        hace 8 años

        Este curso ya esta marcado como obsoleto porque muchas de las librerías se actualizaron, te recomiendo que tomes la nueva versión del curso https://platzi.com/cursos/postcss

      Francisco Jherson Huacho Inga

      Francisco Jherson Huacho Inga

      student•
      hace 8 años

      Con este código me funciono:

      var postcss = require('gulp-postcss'); var browserSync = require('browser-sync').create(); var autoprefixer = require('autoprefixer'); //plugin de postcss // Servidor de Desarrollo gulp.task('serve', function(){ browserSync.init({ server: { baseDir: './dist' } }); }); // Tarea para procesar el css gulp.task('css', function(){ var processors = [ autoprefixer({browsers: ['last 2 version']}), ] //un array de plugins (poner en ordem) return gulp.src('./src/*.css') .pipe(postcss(processors)) .pipe(gulp.dest('./dist/css')) .pipe(browserSync.stream()); }); // Tarea para vigilar los cambios gulp.task('watch', function(){ gulp.watch("./src/*.css", ['css']).on('change', browserSync.reload) gulp.watch("./dist/*.html").on('change', browserSync.reload) }); gulp.task('default', ['serve', 'css', 'watch']);

    Escuelas

    • Desarrollo Web
      • Fundamentos del Desarrollo Web Profesional
      • Diseño y Desarrollo Frontend
      • Desarrollo Frontend con JavaScript
      • Desarrollo Frontend con Vue.js
      • Desarrollo Frontend con Angular
      • Desarrollo Frontend con React.js
      • Desarrollo Backend con Node.js
      • Desarrollo Backend con Python
      • Desarrollo Backend con Java
      • Desarrollo Backend con PHP
      • Desarrollo Backend con Ruby
      • Bases de Datos para Web
      • Seguridad Web & API
      • Testing Automatizado y QA para Web
      • Arquitecturas Web Modernas y Escalabilidad
      • DevOps y Cloud para Desarrolladores Web
    • English Academy
      • Inglés Básico A1
      • Inglés Básico A2
      • Inglés Intermedio B1
      • Inglés Intermedio Alto B2
      • Inglés Avanzado C1
      • Inglés para Propósitos Específicos
      • Inglés de Negocios
    • Marketing Digital
      • Fundamentos de Marketing Digital
      • Marketing de Contenidos y Redacción Persuasiva
      • SEO y Posicionamiento Web
      • Social Media Marketing y Community Management
      • Publicidad Digital y Paid Media
      • Analítica Digital y Optimización (CRO)
      • Estrategia de Marketing y Growth
      • Marketing de Marca y Comunicación Estratégica
      • Marketing para E-commerce
      • Marketing B2B
      • Inteligencia Artificial Aplicada al Marketing
      • Automatización del Marketing
      • Marca Personal y Marketing Freelance
      • Ventas y Experiencia del Cliente
      • Creación de Contenido para Redes Sociales
    • Inteligencia Artificial y Data Science
      • Fundamentos de Data Science y AI
      • Análisis y Visualización de Datos
      • Machine Learning y Deep Learning
      • Data Engineer
      • Inteligencia Artificial para la Productividad
      • Desarrollo de Aplicaciones con IA
      • AI Software Engineer
    • Ciberseguridad
      • Fundamentos de Ciberseguridad
      • Hacking Ético y Pentesting (Red Team)
      • Análisis de Malware e Ingeniería Forense
      • Seguridad Defensiva y Cumplimiento (Blue Team)
      • Ciberseguridad Estratégica
    • Liderazgo y Habilidades Blandas
      • Fundamentos de Habilidades Profesionales
      • Liderazgo y Gestión de Equipos
      • Comunicación Avanzada y Oratoria
      • Negociación y Resolución de Conflictos
      • Inteligencia Emocional y Autogestión
      • Productividad y Herramientas Digitales
      • Gestión de Proyectos y Metodologías Ágiles
      • Desarrollo de Carrera y Marca Personal
      • Diversidad, Inclusión y Entorno Laboral Saludable
      • Filosofía y Estrategia para Líderes
    • Diseño de Producto y UX
      • Fundamentos de Diseño UX/UI
      • Investigación de Usuarios (UX Research)
      • Arquitectura de Información y Usabilidad
      • Diseño de Interfaces y Prototipado (UI Design)
      • Sistemas de Diseño y DesignOps
      • Redacción UX (UX Writing)
      • Creatividad e Innovación en Diseño
      • Diseño Accesible e Inclusivo
      • Diseño Asistido por Inteligencia Artificial
      • Gestión de Producto y Liderazgo en Diseño
      • Diseño de Interacciones Emergentes (VUI/VR)
      • Desarrollo Web para Diseñadores
      • Diseño y Prototipado No-Code
    • Contenido Audiovisual
      • Fundamentos de Producción Audiovisual
      • Producción de Video para Plataformas Digitales
      • Producción de Audio y Podcast
      • Fotografía y Diseño Gráfico para Contenido Digital
      • Motion Graphics y Animación
      • Contenido Interactivo y Realidad Aumentada
      • Estrategia, Marketing y Monetización de Contenidos
    • Desarrollo Móvil
      • Fundamentos de Desarrollo Móvil
      • Desarrollo Nativo Android con Kotlin
      • Desarrollo Nativo iOS con Swift
      • Desarrollo Multiplataforma con React Native
      • Desarrollo Multiplataforma con Flutter
      • Arquitectura y Patrones de Diseño Móvil
      • Integración de APIs y Persistencia Móvil
      • Testing y Despliegue en Móvil
      • Diseño UX/UI para Móviles
    • Diseño Gráfico y Arte Digital
      • Fundamentos del Diseño Gráfico y Digital
      • Diseño de Identidad Visual y Branding
      • Ilustración Digital y Arte Conceptual
      • Diseño Editorial y de Empaques
      • Motion Graphics y Animación 3D
      • Diseño Gráfico Asistido por Inteligencia Artificial
      • Creatividad e Innovación en Diseño
    • Programación
      • Fundamentos de Programación e Ingeniería de Software
      • Herramientas de IA para el trabajo
      • Matemáticas para Programación
      • Programación con Python
      • Programación con JavaScript
      • Programación con TypeScript
      • Programación Orientada a Objetos con Java
      • Desarrollo con C# y .NET
      • Programación con PHP
      • Programación con Go y Rust
      • Programación Móvil con Swift y Kotlin
      • Programación con C y C++
      • Administración Básica de Servidores Linux
    • Negocios
      • Fundamentos de Negocios y Emprendimiento
      • Estrategia y Crecimiento Empresarial
      • Finanzas Personales y Corporativas
      • Inversión en Mercados Financieros
      • Ventas, CRM y Experiencia del Cliente
      • Operaciones, Logística y E-commerce
      • Gestión de Proyectos y Metodologías Ágiles
      • Aspectos Legales y Cumplimiento
      • Habilidades Directivas y Crecimiento Profesional
      • Diversidad e Inclusión en el Entorno Laboral
      • Herramientas Digitales y Automatización para Negocios
    • Blockchain y Web3
      • Fundamentos de Blockchain y Web3
      • Desarrollo de Smart Contracts y dApps
      • Finanzas Descentralizadas (DeFi)
      • NFTs y Economía de Creadores
      • Seguridad Blockchain
      • Ecosistemas Blockchain Alternativos (No-EVM)
      • Producto, Marketing y Legal en Web3
    • Recursos Humanos
      • Fundamentos y Cultura Organizacional en RRHH
      • Atracción y Selección de Talento
      • Cultura y Employee Experience
      • Gestión y Desarrollo de Talento
      • Desarrollo y Evaluación de Liderazgo
      • Diversidad, Equidad e Inclusión
      • AI y Automatización en Recursos Humanos
      • Tecnología y Automatización en RRHH
    • Finanzas e Inversiones
      • Fundamentos de Finanzas Personales y Corporativas
      • Análisis y Valoración Financiera
      • Inversión y Mercados de Capitales
      • Finanzas Descentralizadas (DeFi) y Criptoactivos
      • Finanzas y Estrategia para Startups
      • Inteligencia Artificial Aplicada a Finanzas
      • Domina Excel
      • Financial Analyst
      • Conseguir trabajo en Finanzas e Inversiones
    • Startups
      • Fundamentos y Validación de Ideas
      • Estrategia de Negocio y Product-Market Fit
      • Desarrollo de Producto y Operaciones Lean
      • Finanzas, Legal y Fundraising
      • Marketing, Ventas y Growth para Startups
      • Cultura, Talento y Liderazgo
      • Finanzas y Operaciones en Ecommerce
      • Startups Web3 y Blockchain
      • Startups con Impacto Social
      • Expansión y Ecosistema Startup
    • Cloud Computing y DevOps
      • Fundamentos de Cloud y DevOps
      • Administración de Servidores Linux
      • Contenerización y Orquestación
      • Infraestructura como Código (IaC) y CI/CD
      • Amazon Web Services
      • Microsoft Azure
      • Serverless y Observabilidad
      • Certificaciones Cloud (Preparación)
      • Plataforma Cloud GCP

    Platzi y comunidad

    • Platzi Business
    • Live Classes
    • Lanzamientos
    • Executive Program
    • Trabaja con nosotros
    • Podcast

    Recursos

    • Manual de Marca

    Soporte

    • Preguntas Frecuentes
    • Contáctanos

    Legal

    • Términos y Condiciones
    • Privacidad
    • Tyc promociones
    Reconocimientos
    Reconocimientos
    Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
    Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
    Logo reconocimientoPrimera Startup EdTech · 2018
    Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
    Logo reconocimientoCEO Mejor Emprendedor del año · 2024
    De LATAM conpara el mundo
    YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads