I made the React Native app I've been building for the last year open source
Tags: opensource, reactnative, amplify
Published: 2020-08-31 20:11:41

---
title: I made the React Native app I've been building for the last year open source
published: true
description: "Nyxo: Personal Sleep Coach, is now an open-source react native app, built with AWS Amplify, Redux and Styled-components"
tags: ["openSource","ReactNative","Amplify"]
cover_image: "https://dev-to-uploads.s3.amazonaws.com/i/53l66i5eglk3645sv15f.png"
---


TLDR: [here's react-native sleep tracking & sleep coaching app that I've been building](https://github.com/hello-nyxo/nyxo-app)

In January 2019 I took a big leap into startup entrepreneurship and started building an app that could provide advice on how to improve your sleep based on your sleep tracker's data. When I started building it I had very little experience with React and even less experience with React Native. Because of having so little experience, I was afraid to make the code publicly available despite wanting to do it so from the start. 

Few weeks I finally found the courage to clean the project and switch from private Gitlab repo to a public Github repository. You can find the full code here. I've tried to provide all the necessary instructions on how to run it locally, but there might be a few mistakes on my part here and there. Please let me know if/when you come across them.

{% github hello-nyxo/nyxo-app %}



## Why this project might be interesting to you?

As mentioned I built it with React Native, while originally having very little experience on it. I would like to say that I've improved a lot since starting out, so in a way this project works as a timeline of how I learned to build stuff with React Native. There are parts in the project where the code is really ugly, but also parts where I'm a little proud of it even.

To give a little rundown of the app here's what it can do:

- Import sleep data from the following sources
  - Apple Health
  - Google Fit
  - Oura
  - Garmin
  - Polar
  - Fitbit
  - Withings
- Save data to Apple Health
- Create trackable habits 
- Show stats based on sleep: bedtime window, average sleep, sleep trend, shortest night, longest night, etc.
- Save data to Nyxo Cloud Service, which is built with Aws Amplify
- Display content about sleep from Contentful
- Works on both iOS and Android

There also some more boring features, which you can explore better by downloading the app from either [App Store](https://apps.apple.com/us/app/nyxo-sleep-coaching/id1440417031) or [Play Store](https://play.google.com/store/apps/details?id=fi.nyxo.app). One really crucial thing that is missing is onboarding, which I'm hoping to add as soon as possible.



### Tech

The app is built with the following stuff:

- AWS Amplify: S3, Cognito, AppSync, DynamoDB, Aws Lambda
- React Native
- Redux, reselect, redux-offline
- react-native-reanimated
- react-native-svg
- Intercom



## Continuity

This is project is also very much alive and I'm contributing to it daily. If you like the app, I would really appreciate it if you give it a star either in Github or in App store / Play store. It would mean a lot to me, and make my whole week :)
  


PS.

I've also built another app during the past year. This app also doubles as a website for Nyxo, as it's built with Gatsby, Amplify, TypeScript, Styled-components, and react-query. You can find that project below:

{% github hello-nyxo/nyxo-website %}