How to win a hackaton (spoiler: Power of Friendship)

osmarmontesinos

Osmar Montesinos 🇦🇶

Posted on October 15, 2024

How to win a hackaton (spoiler: Power of Friendship)

Aquí puedes encontrar el articulo en español.

Here you can find the article in english.

Mi primera hackathon: NASA Space Apps Challenge

Participar en una hackathon siempre fue uno de esos sueños que veía de lejos pero nunca me había atrevido a cumplir. Y ahora que lo he hecho, solo puedo describirlo de una manera: ¡una inyección brutal de energía! Desafiar tus habilidades y ver cómo de la nada nace algo tangible es, sin duda, una de las cosas más gratificantes de la programación.

El contexto

La hackathon fue el NASA Space Apps Challenge (puedes leer más aquí: NASA Space Apps Challenge), un evento global donde participan personas de todo el mundo. En mi caso, formé parte desde Cochabamba, Bolivia.

NASA propone distintos retos y recursos para que los equipos elijan, y debo decir que hay muchísimos que valen la pena. Nosotros optamos por el desafío “Imagine Our Earth Connected”, que busca explorar cómo distintos aspectos de nuestro planeta están interconectados. ¿Por qué elegimos este reto? Pues porque en Bolivia, Perú y Brasil hemos estado viviendo la dura realidad de los incendios forestales, así que sentíamos la urgencia de abordar este tema. Además, creíamos que podíamos manejar la cantidad de datos disponibles (aunque algunos datasets eran tan grandes que parecían imposibles de analizar en el tiempo que teníamos).

La experiencia

Con nervios, pero mucha emoción, empezamos a trabajar. Mi equipo estaba formado por Yurika (Analista de datos), Paulo (Backend Developer), Carla (Ingeniera Mecatrónica), Melany (Frontend Developer), y yo como Fullstack Developer. Aquí dejo una foto con ellos: Yurika participaba de forma remota, pero con Carla, Paulo, Melany y yo pudimos compartir presencialmente.

El equipo los prints del infierno

Desde el principio, el equipo organizador de la hackathon fue súper amable y organizado. Cualquier pequeño problema que surgía, estaban ahí para solucionarlo de forma rápida y amable. La mentoría que nos ofrecieron fue clave para afinar el enfoque de nuestro proyecto. ¡Es genial ver cómo una comunidad desinteresada se une para crear y ayudar!

El desarrollo

Tras una lluvia de ideas y varios prototipos, definimos cómo iba a ser nuestra aplicación. Decidimos usar los recursos proporcionados por NASA, que están muy bien organizados, lo que facilita mucho el trabajo con los datos. Aquí es donde nos topamos con algunos retos:

  1. Datos limitados: Aunque había una gran cantidad de datos, muchos se centraban en EE.UU., y queríamos usar información más relevante para Sudamérica.

  2. Formato de los datos: La disponibilidad de datos no siempre estaba en formatos amigables, lo que complicaba un poco su procesamiento y entendimiento.

  3. Conexión a internet: En algunos momentos, el internet no estaba de nuestro lado, así que descargamos datasets por si las solicitudes API fallaban.

Para la visualización, utilizamos la librería Globe.gl, que funciona con OpenGL y Three.js para mostrar datos en un globo terráqueo. Fue muy divertido trabajar con esta librería, ya que es muy versátil y tiene una excelente documentación. La interfaz la desarrollamos con React, lo que facilitó mucho el proceso y permitió un despliegue sencillo en Vercel.

Finalmente, creamos una aplicación en Node.js que, según la ubicación seleccionada en el globo, obtenía noticias sobre incendios forestales. ¡Fue increíble ver cómo todo tomaba forma!

Air Fire Observer
Link a la App

El anuncio

Después de presentar todos los proyectos, nos anunciaron que habíamos pasado al top 10. Ya estaba feliz con eso, pero luego seguimos subiendo... ¡Top 5! ¡Top 3! Y cuando anunciaron que éramos los ganadores, fue pura alegría y euforia. No podía creerlo, había proyectos realmente geniales, algunos con electrónica e impresión 3D. ¡Y ahí estábamos nosotros, celebrando nuestra victoria!

Conclusiones

Si llegaste hasta aquí, quizás hayas notado que tengo un poco de síndrome del impostor. Pero haber ganado me dio un gran impulso de confianza. Además, la experiencia por sí sola fue un enorme boost de energía.

Algunas cosas que creo que nos ayudaron a ganar y que te podrían servir si alguna vez te animas a participar en una hackathon:

  • Apunta alto, pero sin salirse de Orbita: Al principio tuvimos varias ideas, pero dedicamos tiempo a explorar recursos y discutir qué era viable. Elegimos un reto desafiante, pero que considerábamos alcanzable con los recursos disponibles.

  • Prototipo, prototipo, prototipo: Tener un prototipo claro desde el principio nos ayudó a enfocarnos mejor. Gran parte del tiempo la pasamos explorando APIs y entendiendo los sets de datos, lo que hizo que cuando llegó el momento de desarrollar la app esto fuera mucho más fluido.

  • Equipo comprometido: La comunicación fue clave. Cada uno asumió un rol basado en lo que se necesitaba tomando responsabilidad genuina, y siempre fuimos transparentes con nuestras limitaciones. Pedir ayuda cuando alguien se atascaba fue fundamental.

  • Descansa: Aunque suene raro en una hackathon, tomarnos pausas para comer y relajarnos, tener confianza entre todos, ayudó a mantener la moral alta.

  • Vender la idea: Armar un buen pitch es crucial. Yo suelo iterar mucho en el proceso de hacer un pitch. Pero el equipo se lució en ese momento.

¿Volvería a participar en una hackathon?

Definitivamente sí. Es una gran fiesta de creatividad donde puedes admirar el trabajo de otras personas, conocer gente con intereses similares y, con algo de suerte, ¡ganar! 😄

Fin del artículo

My First Hackathon: NASA Space Apps Challenge

Participating in a hackathon was always one of those dreams that I watched from afar but never dared to fulfill. Now that I’ve done it, I can only describe it in one way: a brutal injection of energy! Challenging your skills and seeing something tangible come to life is undoubtedly one of the most rewarding things about programming.

The Context

The hackathon was the NASA Space Apps Challenge (you can read more here: NASA Space Apps Challenge), a global event where people from all over the world participate. In my case, I joined from Cochabamba, Bolivia.

NASA offers various challenges and resources for teams to choose from, and I must say, there are plenty that are worth it. We opted for the challenge “Imagine Our Earth Connected,” which seeks to explore how different aspects of our planet are interconnected. Why did we choose this challenge? Well, because in Bolivia, Peru, and Brazil, we’ve been facing the harsh reality of wildfires, and we felt the urgency to address this topic. Plus, we believed we could handle the amount of data available (though some datasets were so massive that analyzing them within our timeframe seemed impossible).

The Experience

With nerves but lots of excitement, we got to work. My team consisted of Yurika (Data Analyst), Paulo (Backend Developer), Carla (Mechatronics Engineer), Melany (Frontend Developer), and me as the Fullstack Developer. Here are a photo with them: Yurika participated remotely, but Carla, Paulo, Melany, and I were able to collaborate in person.

team los prints del infierno

From the start, the hackathon organizing team was super kind and organized. Any small issue that came up, they were there to solve it quickly and kindly. The mentorship they offered was crucial for refining the focus of our project. It’s amazing to see how a selfless community comes together to create and help!

The Development

After a brainstorming session and several prototypes, we defined how our application would look. We decided to use NASA's resources, which are very well organized and made it much easier to work with the data. This is where we encountered some challenges:

  1. Limited data: Although there was a large amount of data available, much of it focused on the U.S., and we wanted to use information more relevant to South America.

  2. Data format: While there was a lot of available data, not all of it was in formats that were easy to process and understand.

  3. Internet connection: At times, our internet connection wasn't ideal, so we downloaded datasets just in case API requests failed.

For visualization, we used the Globe.gl library, which works with OpenGL and Three.js to display data on a globe. It was really fun to work with this library, as it’s highly versatile and has excellent documentation. We developed the interface using React, which made the process much smoother and allowed for an easy deployment on Vercel.

Finally, we created a Node.js app that, depending on the location selected on the globe, fetched news about wildfires. It was incredible to see how everything came together!

Air Fire Observer
Link a la App

The Announcement

After presenting all the projects, we were told that we had made it to the top 10. I was already happy with that, but then we kept moving up... Top 5! Top 3! And when they announced that we were the winners, it was pure joy and euphoria. I couldn’t believe it—there were some amazing projects, including ones using electronics and 3D printing. And there we were, celebrating our victory!

Conclusions

If you’ve read this far, you might have noticed that I have a bit of imposter syndrome. But winning gave me a big confidence boost. Plus, the experience itself was a huge energy boost.

Some things that I think helped us win, and that might be helpful if you’re considering participating in a hackathon:

  • Aim high, but stay grounded: Initially, we had several ideas, but we took the time to explore resources and discuss what was viable. We chose a challenging project, but one we considered achievable with the resources we had.

  • Prototype, prototype, prototype: Having a clear prototype from the start helped us stay focused. We spent a lot of time exploring APIs and understanding data sets, which made the app development process much smoother.

  • Committed team: Communication was key. Everyone took on a role based on what was needed and took genuine responsibility. We were always transparent about our limitations, and asking for help when someone got stuck was crucial.

  • Take breaks: Although it might sound strange during a hackathon, taking breaks to eat and relax, building trust within the team, helped keep morale high.

  • Sell the idea: Building a solid pitch is crucial. I tend to iterate a lot when creating a pitch, but the team really shone when it came time to present.

Would I participate in another hackathon?

Absolutely yes. It’s a big creativity party where you can admire other people’s work, meet like-minded folks, and with a bit of luck, win! 😄

💖 💪 🙅 🚩
osmarmontesinos
Osmar Montesinos 🇦🇶

Posted on October 15, 2024

Join Our Newsletter. No Spam, Only the good stuff.

Sign up to receive the latest update from our blog.

Related