In the light of COVID-19, Michele and I have been asking each other “how can we help?”, “How can we protect our loved ones?”
It all started in our 35sqm flat in London - our weekend hack (which has already taken weekends and weekdays).
Hoping to keep people safe and limit the spread of COVID-19, we decided to create “Contact Tracing”. The concept is simple - if we test positive, we want to notify family, friends, and everyone we’ve seen in the past two weeks (or even past month) as quickly as possible. So everyone can act appropriately by either getting tested or staying isolated.
What it does
Keeping everyone up-to-date if you fall ill is tricky. You have to remember who you met. They have to remember who they met after meeting you.
In one click, Contact Tracing App notifies your recent direct and indirect contacts if you log that you show symptoms or test positive, so everyone can act appropriately and we can help limit the spread of COVID-19.
- Log Contact - Digital Logbook that makes it easier to trace who you met.
- Notify your loved one if you fall ill with no hassle.
- Get notified when one of your family and friends (and their contacts) shows symptoms or tested positive.
- Your risk level - based on contacts around you.
How it works
- Create your account, using your email/social media account.
- Share your profile link or your QR code with your family and friends to connect with them.
- Logging your contacts daily to keep your loved ones safe and get more accurate data on your risk level.
- Change your status to notify your loved ones (and their contacts).
How I built it
Frontend is a React.js app that uses Firebase for auth, Firebase Functions to send SMS, and database to store public profiles.
Backend is a neo4j graph database. API is at graphql layer running on Google Cloud. We're pretty much there, we just have a load of new and exciting features to complete.
Challenges I ran into
- Storing the data in a graph was tricky, but now that the API up it's fun playing with graph data.
- So much work to do! and we want to get it out as fast as we can.
- Custom Domain with Google Firebase auth was a massive massive pain haha. Getting the redirect to work took ages.
Accomplishments that I'm proud of
- We've managed to finish the backend graphql api.
- 70% of the frontend is done.
- £1,000 credit from neo4j
- £500 credit from Digitalocean
After joining the Hackathon
- Meeting such wonderful, wonderful people who came to help!
- Collaborative coding session with LiveShare and VSCode
What I learned
- It's not something you can do (or ask your husband to build lol) over a weekend (original intention).
- 60% of my time had been taken up with boring stuff like infrastructure and Auth.
- Graphql is super useful to move quickly.
- Anyone, who offers to help, gives you a massive boost.
What's next for "Contact Tracing"
- Users’ Risk Levels
- Location Logging
- UX/UI Improvements
- Native Mobile App
- Development – we have a long list of features and it’s a race against the virus to get them out in time. Everyone is welcome to contribute.
- Funding – The app must remain completely free, but the server costs are going to escalate.
These guys helped us out by giving us free credits to build on their infrastructure:
Follow Contact Tracing App’s updates at: