Mi carrera vista a través de mis proyectos

Una carrera profesional basada en interesantes proyectos.

Desde la universidad hasta el día de hoy, he desarrollado múltiples proyectos de software tanto con amigos y compañeros como en solitario. Mis proyectos normales y paralelos me sirvieron para poner en práctica todos los conocimientos que adquiría en el día a día.

Hoy quiero recordar cinco proyectos y hablar de qué hacían, qué aprendí de ellos y qué fue de ellos, así como resaltar la importancia de tenerlos. Los proyectos están ordenados cronológicamente.

Plendo - 2017

Captura de pantalla de Plendo

¡Quéjate de la vida en Plendo!

¿No quieres manchar tu perfil de Twitter con quejas? ¿Harto de que tus amigos te tachen de quejoso por tus publicaciones en Facebook? ¡Publícalo todo en Plendo!

Plendo es otro clon de Twitter, un clon que todos los desarrolladores hacemos alguna vez en la vida. Esta app nació de un curso de MongoDB + Express + AngularJS + Node.js (+ Bootstrap) ofrecido en la hoy extinta Microsoft Virtual Academy. Terminé el curso en el 2017 y ese mismo año me propuse renovarlo con Angular hasta que me dijeron que eso ya no era lo que "los chicos populares usaban" 😜. Así que preferí usar Vue.js y reemplazar Bootstrap con Materialize.

En su momento monté la app en Heroku y lo compartí en mi página web y con mis amigos. No le añadí todas las características que quería, sin embargo, hoy lo considero como finalizado ya que no vale la pena actualizarlo. Cuando mLab cerró y fue reemplazado con MongoDB Atlas, decidí no migrar la base de datos y todas las plendoj se perdieron en el tiempo. Hoy el código permanece en un repositorio de GitHub.

Ludwing - 2018

Captura de pantalla de Ludwing

La aplicación que te enseña matemáticas a nivel bachillerato.

Aprende de matemáticas con Ludwing. Repasa mediante ejercicios automáticos revisados por un profesor de matemáticas. Ve a tu ritmo: donde quieras y cuando quieras.

Esta app es el sucesor (a nivel técnico) de Plendo. La única diferencia es que a día de hoy (febrero/marzo del 2021) estoy migrando la app a Vuetify. En su momento fue todo un reto aprender cómo lanzar a producción una app y cómo hacer que funcione a través de un dominio. Los ejercicios que se generan en Ludwing estaban desarrollados en QBasic por un profesor de matemáticas del Instituto Politécnico Nacional y también fue un reto traducirlos a JavaScript.

Actualmente sigo manteniendo la app y está disponible para todos, aunque solo ciertos alumnos pueden entrar. La app ya fue probada con alumnos durante 2 semestres no consecutivos y según sus comentarios, fue de su agrado.

AXDecor - 2019

Captura de pantalla de AXDecor

Decoración al alcance de tu mano.

Redecora tu sala, comedor, cocina, baño o recámara con AXDecor. Mediante realidad aumentada, vive una experiencia de creación de escenarios decorativos en tiempo real.

Esta app la realizamos 3 personas en total, fue nuestro proyecto de titulación de la carrera. Yo me encargué de la arquitectura de la app y de una parte del desarrollo Android y del back-end. Mi amigo Alex se encargó de la otra parte del desarrollo Android y de la parte de realidad aumentada. Finalmente, mi amiga Xanat se encargó del front-end y de los modelos en 3D, así como de toda la UX y el diseño de la UI.

La app obtuvo 9.5 de calificación de parte de los profesores que la evaluaron y actualmente está "en espera" para ser lanzada. Todavía me encargo de actualizar las dependencias de la app de Android y del back-end. El sitio web sigue en funcionamiento, aunque no hay mucho que ver, ya que la web es la parte de administradores y vendedores.

¡Días! - 2020

Captura de pantalla de ¡Días!

Despierta a la hora correcta.

Levántate a la hora que deberías con ¡Días!: una app de alarma que te despierta al amanecer del lugar donde estás. Establece la alarma antes, durante o después de que amanezca. Lleva un registro de la hora a la que te levantas y descansa mejor.

Esta app para Android tiene el propósito principal de ayudarme a consolidar todo lo que aprendí de Android durante 2019. Usé las mismas tecnologías que mi equipo y yo utilizamos en AXDecor, además de algunas otras en las que no profundizamos, como los tests unitarios e instrumentados y la publicación en la Play Store.

Sigo desarrollando esta app. La empecé en febrero del 2020 y dejé de desarrollarla en abril del mismo año, debido a que entré a trabajar. Mi plan es terminarla y lanzarla en la Play Store antes de que acabe el 2021. Está disponible en un repositorio en GitHub.

Plataforma concept - 2020

Advertencia: esta app está 100% enfocada a alumnos y exalumnos del Instituto Politécnico Nacional, así que eres libre de saltarte el párrafo del pitch.

Captura de pantalla de Plataforma Concept

Como debería ser el SAES/PIDAE.

Ya que el IPN nos vió la cara con el PIDAE, he decidido hacer mi propio concepto de cómo me gustaría que fuese el SAES/PIDAE, con características que hemos pedido y algunas otras que me gustaría ver, basándome tanto el propio SAES como en el PIDAE. Esto solo será una app conceptual que probablemente no llegará a implementarse, debido a la complicadísima burocracia que existe en el instituto.

Plataforma concept es a Vue.js como ¡Días! es a Android. En este proyecto fue donde comencé a implementar Vuetify y TypeScript y con el que planeo introducirme un poco al mundo de UX, ya que me fascina y me interesa. También con este proyecto traté de aplicar las mejores prácticas con Git y GitHub, incluyendo ramas (branches) y lanzamientos (releases).

Este proyecto se detuvo en agosto del 2020: no pude seguir el ritmo constante de lanzar una nueva versión previa cada 15 días. Sin embargo, quiero terminar este proyecto con todas sus características planeadas. Al igual que ¡Días!, quiero terminarla antes de que acabe el 2021. La app está disponible para todos en internet. Las credenciales para entrar son andre/andre.

Los otros

Hay otros proyectos que también me enorgullecen, pero que no fueron tan grandes como los anteriores:

  • Prelego: Una app para hacer transmisiones via WebRTC.
  • MSS: Una explicación interactiva del algoritmo Maximum Sub-array Sum.
  • SmartStock: Una app de Android para hacer inventarios con soporte a códigos QR.

Estos los hice durante mi época universitaria. Ya no los mantengo, pero los guardo con mucho cariño.

En resumen

Plendo, Ludwing, AXDecor, Días y Plataforma concept fueron (y son) proyectos que me permitieron poner en práctica e incluso aprender muchos de los conocimientos técnicos que he adquirido hasta ahora. Unos los sigo manteniendo, otros ya no. Unos fueron creados solo por diversión, otros tienen un objetivo comercial.

Uno como desarrollador debería tener varios proyectos personales que le demuestren al mundo lo que sabes. Un proyecto puede convertirse en una carta de presentación para una posición laboral. Lanza al mundo los proyectos que tengas guardados. Si no están terminados no importa, súbelos a GitHub. Y lo más importante: véndelos. Vende tu proyecto como si fuera el siguiente Google, aunque sea la enésima app de tareas.

Déjame tus comentarios o mándame un tuit con tus sugerencias o comentarios a (at)AndreAndyP.

Au revoir, mes amis 😄