We decided the best option was to make a web app that allows users to upload the data and then get a visualization report. One main constraint we the hardware resource that was available to us which would not scale to provide every user with realtime report generation. So we opted for a job based system where a user can can upload the report and schedule for processing and once its done, they will be alerted via email. This allows us to scale it to several thousand users only at the cost of increased wait time for n+1 concurrrent users.