Using personal data from Kraken Technologies, users can track their personal energy usage at home, compete with their friends, and earn incentives.
This mobile native app was built over the course of two and a half days, during the Tokyo hackathon Builders Weekend 2023. Our team chose to tackle Kraken Technologies' challenge on energy: How do you encourage and empower people and businesses to use energy at the cheapest and greenest times?
We wanted to make a user-facing app that would make it easy and fun for regular people to reduce their energy use. We all have bill tracking apps, whether it be for phone data usage or gas bills. How often to we actually open these apps?
With OctoSave, the user doesn't even have to open the app to start making changes in their energy using-habits. OctoSave sends daily reminders during high and low peaks of energy usage in a user's area, telling them when they should turn off the lights and go ahead and run some laundry. As an added incentive, users earn points proportional to the energy they save, which can be cashed out or carried over for credit off of next month's bill. We have also gamified the experience of energy conservation: users can compare their energy savings to their friends' on a leader board, turning it into a competition.
Access the live project on Expo Go.
Or, if you already have the Expo Go app on your phone, you can scan this QR code to open OctoSave now:
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
This project was bootstrapped with Create React Native App.
If Yarn was installed when the project was initialized, then dependencies will have been installed via Yarn, and you should probably use it to run these commands as well. Unlike dependency installation, command running syntax is identical for Yarn and NPM at the time of this writing.
If it's your first time, run this command in the project directory to make sure you have installed all the necessary packages:
// ./energy-tracker
yarn install
To start the server locally:
Runs your app in development mode.
Scan the QR Code that appears to open and view it in the Expo app on your phone. It will reload if you save edits to your files, and you will see build errors and logs in the terminal.
Sometimes you may need to reset or clear the React Native packager's cache. To do so, you can pass the --reset-cache
flag to the start script:
npm start --reset-cache
# or
yarn start --reset-cache
Like npm start
, but also attempts to open your app in the iOS Simulator if you're on a Mac and have it installed.
Like npm start
, but also attempts to open your app on a connected Android device or emulator. Requires an installation of Android build tools (see React Native docs for detailed setup).