ODK-X Intern Application Guide

Welcome prospective interns! This is ODK-X project’s standard contribution guide for Outreachy and Google Summer of Code. For each internship program we will have separate welcome posts that link back to this one.

About Google Summer of Code
Google Summer of Code (GSoC) is a global program that offers new contributors over 18 an opportunity to be paid for contributing to an open source project over a three month period.

About Outreachy
Outreachy provides internships in open source and open science. Outreachy provides internships to people subject to systemic bias and impacted by underrepresentation in the technical industry where they are living.

About ODK-X
Data collection and management is a key component of evidence-based social good programs efforts ranging from disaster relief to global health to labor justice, and ODK-X provides tools to meet those needs. Users of the ODK-X suite include the International Federation of Red Cross and Red Crescent, PATH, World Mosquito Program, St. Catherine University, and many others.

The ODK-X suite provides a platform to build custom apps and surveys that enable users to collect, manage, and visualize their data just as well in the field as they do in the office. Developers and data managers can create data management applications that consist of survey forms as well as JavaScript-based apps. These allow users to render a fully customizable user interface for data collection and management on an Android device.

A goal of ODK-X is to reduce the need for advanced software engineering/programming skills when designing data management applications. Organizations that use our platform have deep expertise in a variety of areas, but ODK-X seeks to reduce the technical skills required to build a data management application. Our users can create their applications using XLSX to define survey forms and simple web programming to develop custom presentations of the collected data (e.g., modifying boilerplate HTML and JavaScript). The ODK-X tools are designed to work in the low-resource environments where our users operate, and internet connectivity is not guaranteed.

From cold chain management to longitudinal patient tracking to geographic data collection on mosquito releases, ODK-X provides a platform for social good organizations to gather the data they need in whatever conditions they face.

If you have any questions about internships in general, please ask in the comments for the program you wish to participate in! Administrators may split some of the longer threads into their own topics if needed but please start all general internship forum conversations in the program’s thread. For questions or comments about specific projects, please comment on the project posts linked in the program’s thread.

We are not currently accepting applications for any internship programs; this post will be edited to include any open applications.

Here are previous years programs:

We prefer you use the forum for communication so all time zones can have a chance to respond. If you have a question that needs a real-time answer or just want to chat, you can find us on the internship Slack . We also have channels for specific projects.

We aim to have all conversations in public to increase transparency and knowledge sharing. In this spirit, please refrain from messaging community members directly!

Getting Started

  • Look over the ODK-X website and ODK-X documentation to familiarize yourself with the project
  • Find an issue in the Issue Queue tagged “easy win” or “good first issue” that you want to work on and comment to claim it. Try to find an issue related to the project you want to work on if possible, or at least in the same codebase. The project pages above link to the appropriate Github repositories.
  • If you find a bug, report it! File a new bug to the Issue Queue. You are all great test users as you build the project and learn to use it.
  • Join the internship Slack and talk to community members and mentors.
  • Help each other out! We are a collaborative community and we want to see that you’re a good team member. Answer other’s questions and engage with the community. We’re all trying to build the best software that we can, together.

We recommend starting to discuss your project ideas in the project-specific forum threads and slack channels above as soon as you can! The earlier you start your application and share a draft, the stronger it will be.


Proposals to ODK-X are judged based on the following criteria:

  • Quality of code contributions to ODK-X tools
  • Community engagement
  • Team player
  • Feasibility of proposal
  • Thoroughness of proposal (e.g., testing, documentation)
  • Value added by proposal’s approach to solving the issues raised in the project descriptions

These are not in any particular order. Please keep them in mind as you work with our community, and please showcase them in your written proposals.

When you have written a draft of your proposal, please post it publicly in the program’s slack channel. Please post them early so that we can review them and give feedback, and they can be improved before final submission. This is how open source development happens, we discuss ideas out in public. Your proposals are like any other technical proposal for our project. We will discuss their merits and you can adjust them based on the feedback.

Don’t be discouraged if you receive critical feedback that requires changes. This is a good thing! Nobody has the exact right idea the first time. We discuss as a community and revise. This may take multiple rounds. That’s fine! We like students who can hear feedback and make changes. And it’s OK to disagree and explain your position. All of these things show you are a good community member.

Some students may worry about their proposal being copied if they post it publicly. But don’t worry, the mentors read the proposals in detail and can easily tell when it has been copied.

As mentors offer feedback, you can revise your proposal and post new drafts. This can be repeated until you are ready for a final submission. Know that we expect all applicants to have posted early drafts and gone through public feedback. Proposals that skip this step and only post a final submission without any community interaction will not be considered.

1 Like