#PiHackathon is an ongoing Pi Network initiative that is designed to facilitate year-round Pi ecosystem development efforts and provide regularly accessible opportunities for developers. Passionate developers and builders can participate monthly in this process by submitting their Pi Apps through the Brainstorm app. Your submissions can be available for review by our community of tens of millions of Pioneers. Winning the hackathon in a given month can bring additional visibility to your project. Let’s build Pi utilities together!

Challenge

We’re looking for creative, utility-focused web apps that address a real user need, support the use of Pi cryptocurrency, and are intuitive to use and accessible to everyday people.

Prizes, Rewards and Benefits*

Winning projects will win an overall prize of 10,000 Pi!

Benefits

As part of our developer support programming, all Hackathon submissions will be considered for the opportunity to receive additional support and resources from the Pi Core Team. Strong apps that meet the necessary criteria will also be eligible to be listed on Testnet Ecosystem in the Pi Browser. Teams can continue to build on their apps even after they submit; if they do not win one month, their improved app can win another time.

*Subject to other terms and conditions set forth in the terms of service for the Hackathon which can be found in the Brainstorm.pi app

Resources

Instructions

Onboarding Instructions

Follow these important steps to get started with your Hackathon project and get set up in the Pi Ecosystem.

  1. Download the Pi App and create a Pi Account (Apple App Store or Google Play)
  2. If you haven’t already, set up the Pi Browser (the home of the Pi ecosystem)
  3. Go to the Pi Browser home screen and enter the Brainstorm app by tapping the “brainstorm.pi” icon
  4. Tap on the “Hackathon” button in the navigation bar
    1. Follow the instructions in the Hackathon tab for how to participate in the hackathon

Propose a Project Idea

  • Tap the “Propose” button in the navigation bar (bottom left corner) to create a project for the continuous Hackathon

Join a Project

  1. Join an existing team by scrolling through the projects under the “Hackathon Proposals” filter
  2. Select the project you wish to join, and fill in the “Skills you can provide” and “How can you help” sections to tell the existing project members more about your skills and experience.
  3. If your request is accepted by the team admin, you can tap “Open Project Chat Room” to start collaborating

Dev portal

Follow these instructions to create a project in the Developer Portal, and to add a Demo App link to your Brainstorm submission.

  1. Navigate to the Developer Portal (develop.pi) within the Pi Browser
    1. If visiting for the first time, read and accept the terms and conditions
  2. If you haven’t created an app before, tap “New App” and make sure to select “Pi Testnet” as the App Network
  3. On the app dashboard for the app you wish to edit, press the “Configuration” button
  4. Scroll to the field titled “Your App’s URL”, and enter the URL of your application
    1. The URL cannot be the same as another URL already in use by a Developer Portal project. If you have a Testnet and Mainnet application, you should use the URL that you wish users to use to access your Mainnet application. The Testnet app should use a subdomain of the Mainnet app or a completely different URL
    2. You must own this URL; you will be asked to verify ownership later
  5. Press the “Submit” button, this will return you to the app dashboard
  6. Press the “Checklist” button
  7. Tap on “Validate Domain Ownership”
    1. Follow the instructions on how to validate your domain
    2. Copy the validation-key string and save it in a file titled validation-key.txt
    3. Add the .txt file to your application and launch the application
      1. It is important to relaunch your application if it is currently deployed because you need the .txt file to be added to the site.
  8. Once the .txt has been added to the site and is accessible press “Verify Domain”
  9. Once verified, your application will be accessible in the Pi Browser

If you have a Mainnet App and a Testnet App for the same application, these projects should be linked. To link a Mainnet Developer Portal App to a Testnet Developer Portal App follow these instructions:

  1. Select the Mainnet Version of the app from your list of apps in the Developer Portal.
  2. Tap the “Configuration” button
  3. Connect the Mainnet app to the Testnet app via the “Paired Testnet App” field

Submission

  1. In the Pi Brainstorm App, ensure your project summary is up to date
  2. Add a link to your YouTube presentation video in the “Presentation video” field
  3. Ensure that you have linked your app URL from the Dev Portal in your Brainstorm project. Follow the “Developer Portal Instructions” for the steps on how to link this
  4. If you are using the PiOS license, add a link to your Github repository in the “Github repo” field
  5. Tap the “SUBMIT PROJECT TO HACKATHON” button, then tap “CONFIRM” when you are ready to submit

Submission Requirements

  • Participants must submit their app by following the submission instructions above by 11:59pm PST on the last day of each month
  • In order to be reviewed and be eligible for a prize, submissions must include a link to a demo app (either Testnet or Mainnet), a short video presentation, and a description of the app
  • Video presentation should include:
    • Overview of your project (what is it?)
    • How did you integrate Pi into your project?
    • Demonstration of the app functionality and user-flow
    • Brief overview of your tech
      • From a technical perspective how do you solve the key problem?
      • What unique features have you built into your app?
      • What major product qualities or achievements do you want to highlight?
    • This video should be no longer than 3 minutes
  • If the app is using the PiOS license, the users must indicate this in their Brainstorm project, and must include a link to the Github repo for this project

PiOS

The Pi Open Source (PiOS) Software License allows Pi Community Developers to create Pi Open Source applications and tools for the Pi Ecosystem. The PiOS license grants unrestricted use of the software only within the Pi Ecosystem. Developers are encouraged to use this license when developing a Pi App as well as build on top of the various PiOS applications and tools shared by other Pi Community Developers. Follow the instructions below to use the PiOS license.

  1. Create a Brainstorm Proposal for the project if you haven’t already
    1. Projects without a Brainstorm proposal link will not be accepted
  2. Follow the instructions here https://github.com/pi-apps/PiOS
  3. The Pi Core Team will review submissions, and if accepted, merge the PR
  4. The Pi Core Team will create a new repository for your project within the pi-apps github organization. The github account that submits the PR will get admin access to the newly created repository with full rights to control their repository, such as inviting their team members, editing, adding or accepting code from the community, or even moving or deleting their repository
    Develop your project within this repository. You can maintain your application from this new repository and receive, review, and accept PRs from other contributors.

    1. Note: Your app name may not start with “Pi”. Read the Pi Network Trademark Guidelines for more information.
  5. Add the PiOS license file to the project repository
    1. Update the license with the required information
  6. When ready to submit your project, follow the steps in the Submission Guidelines above.

App Requirements and Guidelines

  • Apps must abide by our Trademark Guidelines
  • Apps may never request Pioneers to enter their passphrase
  • If making in-app payments:
    • Apps must use only Pi SDK for payments; apps may not charge with non-Pi assets or currencies (exceptions rare and case-specific).
  • If user authentication is needed:
    • Apps must use only Pi SDK for authentication; there should be no app-specific account or login needed, or additional account creation
  • Apps must be deployed on the testnet, outside of the sandbox, for pioneers and reviewers to interact with the app.
  • App has functional UI and supports user interactions
    • App should be minimally functional
  • Apps must be unique with distinct use cases, avoid merely cloning existing ones
  • Apps must adhere to our recommended data collection guidelines and may NOT collect any user data beyond what is necessary for core functionality
  • App name should be in English characters
  • App should have a Logo, which is compliant with trademark guidelines
  • App should have an accurate description in English
  • App Preview/Demo Images that showcase the UI and UX of the application
  • App has a Privacy Policy