How Did We Conduct a Fully Remote Hackathon?

Authors
Krzysztof Borowy
Software Engineer
@
Callstack

At Callstack, we value the idea of knowledge sharing. There are many ways of doing so, but one I like most: hackathons. This term is associated with long development sessions for teams from all around the globe, where the end goal is a product that solves (or help with) a problem defined at the beginning of the event.

During a lockdown, the number of ways you can organize a hackathon is decreased to one - fully remote. This was the first time we’ve done it this way, so we wanted to make sure that every participant did not feel the difference (well, almost :)).

Our knowledge sharing hackathon was a bit different than the “traditional” version described above. The main theme was "Contribution to React Native and React Native Community Repositories," and instead of working on one problem, we decided to take a closer look at our Open Source Projects and fix some bugs, etc.

The hackathon lasted around 3 hours and was organized internally with our developers as participants. The cool thing was that our new joiners took part in the event. It was a great opportunity for them to gain their first experience in contributing to Open Source.

In this article, I’ll tell you how did we manage to organize our hackathon fully remotely, and what was the result of our work.

How to prepare a remote hackathon?

While organizing our remote hackathon, we had to face a number o new challenges and find solutions to make this event as productive as it could be. Mostly, the challenges were related to the communication between participants and setting up the agenda.

How to set up the agenda for your hackathon?

No matter if you organize a remote or "traditional" hackathon, the first thing you need to figure out is to set your goal. Ask yourself:

What’s the purpose of the event?

What do you want to achieve?

Let people know what they can get from participation. In our case, as I said before,  the main theme was “contribution to React Native and React Native Community repositories.” It was a good opportunity for participants to learn how to “give back to the community” if they hadn’t had a chance before.

To save time finding issues to work on, we’ve used React Native OSS board, which we introduced some time ago. Having such a list greatly helped people find what there were interested in and get started right away, so make sure to prepare one upfront.

Remote hackathon - useful tools

We wouldn’t be able to conduct a remote hackathon without some necessary tools. We had to find out the best possible solutions to manage such elements as communication between participants and monitoring what everyone is working on or need help with.

Since the hackathon was fully remote, we had to stay connected. The most popular way for that is to use chat software, such as Discord or Slack.

The next thing (and tool) we strongly recommend you to create is an issue board (using software such as Trello). It makes it more “visible” on what everyone’s working on or need help with.

<p-bg-col>Remember: Whatever tool you use, make sure that all participants have access to it beforehand<p-bg-col>.

Another useful thing in working with some code issues is being able to run an example app from a project. Since we knew we’ll be working on repositories that some of us are familiar with, we prepared a small guide on how to get the project setup.

For example, this small gist:

React Native contributing setup

iOS

  1. fork the react-native https://github.com/facebook/react-native 2*. to be able to get the latest changes configure a remote that points to the upstream repo and fetch updates git remote add upstream https://github.com/facebook/react-native.git
  2. cd react-native && yarn
  3. cd RNTester && pod install
  4. open XCode
  5. open react-native/RNTester/RNTesterPods.xcworkspace

Android

  1. Fork the react-native https://github.com/facebook/react-native
  2. Run cd react-native && yarn install
  3. In the meantime, get all RN Android Prerequisites: https://github.com/facebook/react-native/wiki/Building-from-source#prerequisites
    • use NDK r19c, instead of r17c
  4. You can launch emulator / connected device now
  5. In your fork directory, run ./gradlew :RNTester:android:app:installJscDebug (takes a lot of time, don't worry if it fails in installing debug, the main goal here is to install all deps)
  6. Run packager: ./gradlew :RNTester:android:app:installJscDebug
  7. You can open RNTester in Android studio by Opening RNTester/android/app/build.gradle

helped new people to get RNTester from React-Native up and running.

Work time

Once you have selected the task to work on, you’re ready to go, but you’re not limited to work just by yourself. What best worked for some of us was a screen sharing session - one person was streaming code, while others were brainstorming on ideas to implement.

Pro tip: As an organizer, you don’t want people to get stuck and get stripped of all the fun. Make sure you engage with people and make sure they reach out (or stay connected with) others that can help them - for example, ask if anyone needs help from time to time.

Conclusion

The hackathon was fruitful! We received positive feedback regarding the event from participants. Some of them were removing legacy context API or fixing API bugs in React Native core, some were contributing to community packages - detaching "doctor" command from React Native CLI or making sure that example app in react-native-maps is runnable.

It turns out that this hackathon, except for really obvious difference, wasn’t very different from what we had before - happy participants, new experiences gained, new joiners onboarded to Open Source, and some value sent back to the community.

I definitely recommend organizing one in your company to make people engaged during these crazy pandemic times.

Insights

Learn more about Community

cover

Oct 9Live Stream

React Native Conf 2025: React Foundation, Compiler 1.0 & Future of React Native

React Native Conf 2025 brought huge announcements: React Foundation under Linux Foundation, React Compiler 1.0 and Hermes v1. What’s next for React Native and newest React Features.

cover

Sep 25Live Stream

Live Dev Session: <Activity>, Expo SDK 54, Router v6, Lynx 3.4, TanStack Start

A packed week in the React ecosystem: React experiments with a new <Activity> component, Expo SDK 54 speeds up builds, Expo Router v6 adds native-like navigation, Lynx 3.4 ships inputs & dev tools, TanStack Start hits RC, and React Router previews Framework Mode.

cover

Sep 18Podcast

Core Contributor Summit 2025 Highlights

Core contributors from across the React Native ecosystem discuss stability, tooling, and the path to 1.0, from Flow to TypeScript, desktop apps, and how community fills the gaps left by Meta.

cover

Sep 11Live Stream

Live Dev Session: React Universe Conf, RN 1.0, Expo Updates & More

In Week 37 of our Live Dev Session we talked about React Universe Conf with guest Szymon, ranted about AI, explored what React Native 1.0 really means, reviewed Expo updates, and covered the latest moves in the React Native ecosystem.

cover

Sep 5Podcast

Crossing Paths of React And React Native Ecosystems

React and React Native: are the two ecosystems pulling together or apart? Let's discuss their evolution, similarities, differences, and community dynamics.

cover

Aug 20Podcast

We're Changing Into React Universe On Air

Here comes a new chapter for The React Native Show: we're becoming React Universe On Air!

cover

Jun 10Article

Apple Vision Pro: Insights From Conferences and Beyond

Explore key insights from introducing Apple Vision Pro at tech events. Discover its intuitive interface, immersive experiences, and the challenges faced.

cover

Mar 15Article

How to Make Your Open Source Project Repository Contributor Friendly

Check out 5 tips on making the repository of your Open Source project more contributor friendly for both new maintainers & users.

cover

Mar 1Article

React Native EU 2023 and a Glimpse Into Conference History

React Native EU is back for an on-site 2023 edition! Find out why it's worth attending our React Native conference and how it's evolved since 2017.

cover

Mar 30Article

Supporting Ukraine Through the "Tech to The Rescue" Project: UA SOS App

Learn about Callstack's commitment to the Tech To The Rescue project supporting Ukraine: UA SOS app.

cover

Mar 8Article

Women Who Make Waves in the React Native Community

On International Women’s Day we spoke to women who make waves as React and React Native developers. Check what they said about their tech careers.

cover

Nov 5Article

Events We Hold for You - Culture Powered by Callstack

When working at Callstack, you can join our unique initiatives. Find out more about our conferences, meetups, hackathons & discussion panels. Join our team!

cover

Mar 19Tutorial

The Hard Way vs. The React Native AI SDK Way: Stop Writing Custom Modules for Every Model

Learn how React Native AI uses a unified provider model to switch between cloud and on-device LLMs without rewriting application logic, enabling reliable AI experiences online and offline.

cover

Mar 12Tutorial

Build Smarter Apps: Tool Calling & AI Orchestration Explained

Learn how on-device models in React Native can call tools, interact with external APIs, and return structured outputs you can use directly in application logic.

cover

Mar 5Tutorial

MLC LLM + React Native: On-Device AI Without the Pain

Learn how to run third-party on-device LLMs in React Native using MLC LLM. Choose your models, run them efficiently across platforms, and keep a unified JavaScript API with React Native AI.

cover

Feb 24Tutorial

Intelligent Fallbacks with Apple Intelligence in React Native

Learn how to use Apple’s built-in Foundation Models in React Native apps, reduce memory usage, and enable fast, fully on-device AI with React Native AI Apple.

cover

Feb 10Tutorial

What Is the React Native AI SDK? A Complete Intro & Quickstart

Learn why on-device AI matters for React Native apps, how local LLMs behave offline, and what problems React Native AI is designed to solve from day one.

cover

Jan 29Tutorial

Implementing an Android TurboModule with Kotlin

Learn how to implement a React Native TurboModule on Android, from the TypeScript spec and Codegen to the Kotlin implementation and package registration.

cover

Jan 19Tutorial

Working with Different Threads in Swift TurboModules

Learn how JavaScript, native module, background, and main threads interact in React Native TurboModules, and how to use GCD queues to run async work safely in Swift.

cover

Jan 9Tutorial

How to Add Type-Safe Constants to Swift TurboModules

Learn how to expose typed, immutable constants from a Swift TurboModule using Codegen, and get full end-to-end type safety between native and JavaScript.

cover

Dec 30Tutorial

Adding Event Emitters to Your TurboModule in Swift

Learn how to emit native events from a Swift TurboModule and subscribe to them in JavaScript, including proper memory management and Codegen integration.

cover

Dec 22Tutorial

Writing Your First TurboModule in Swift

Learn how to build a fully working TurboModule in Swift, integrate it with Codegen, and bridge it through Objective‑C inside an Expo app.