Inspiration
It took me 4 hours to upload some policing data correctly to Amplitude. I felt like this should be a little bit simplier.
What it does
Accepts a CSV file and your API Key then uploads it to Amplitude.
How it was built
Python app in the backend receives the file via a html / javascript frontend. The backend then formats and streams the data to Amplitude's Batch Event Upload API. The website container is hosted in Cloud Run on a Google Cloud product.
Challenges
Amplitude only takes epoch time as an input, which required a little bit of wiggling to get right. Also, it can be unintuative setting up the request to ensure all the event data properties are pulled through to Amplitude. This required a bit of trial and error.
Accomplishments
A fairly decent website with a pretty decent upload speed.
What we learned
Improved my JavaScript knowledge. Learnt about the Amplitude tool and how it best works with data inputs.
What's next for Amplitude CSV Upload
Wish to add the ability to map dates and times to epochs (so that the user doesn't have to do this before uploading) and the ability to choose how the columns get mapped into Amplitude attributes. Will likely release it as an add on that people can use in Amplitude.
Built With
- cloud-run
- flask
- javascript
- python
Log in or sign up for Devpost to join the conversation.