Inspiration

The COVID-19 pandemic has shown how critical it is to quickly analyze and understand the spread of infectious diseases. Many existing tools are either too complex for non-specialists or too limited in analytical depth. We wanted to create a user-friendly yet powerful platform that helps researchers, epidemiologists, and policymakers analyze epidemic data, estimate key parameters, and visualize trends in real time.

What it does

Our application allows users to upload epidemiological data in CSV or Excel format. It automatically detects key columns such as dates, new and cumulative cases, and mortality. The system preprocesses the data into daily incidence, applies smoothing, and calculates cumulative indicators including Case Fatality Ratio (CFR). It estimates the effective reproduction number ($R_t$) using the Cori method, along with transmission rate β(t) and recovery rate γ. The platform also supports three independent methods for estimating the basic reproduction number $R_0$. Considering population size, vaccination levels, and seroconversion, it computes the immune fraction and herd immunity threshold (HIT). The results are visualized with interactive Plotly charts and summarized with key epidemiological metrics. Users can also export results for further analysis.

How we built it

We built the web application using Streamlit for the interface, Pandas/Numpy for data processing, and Plotly for interactive visualizations. Epidemiological models were implemented in Python, with configurable parameters accessible in the sidebar. For deployment, we used GitHub Pages / Streamlit Cloud, making the tool accessible online.

Challenges we ran into

Handling inconsistent and noisy real-world epidemiological datasets.

Implementing robust automatic column detection for different file formats.

Ensuring accuracy of epidemiological metrics while keeping the interface intuitive.

Managing deployment issues, especially with dependencies and GitHub Actions.

Accomplishments that we're proud of

Successfully combining advanced epidemiological modeling with a user-friendly interface.

Implementing multiple independent methods for estimating $R_0$.

Providing real-time interactive visualizations with Plotly.

Creating a tool that can be used not only by researchers, but also by students and decision-makers.

What we learned

How to integrate epidemiological models with modern Python web frameworks.

Best practices for data preprocessing and automatic column detection.

Deployment workflows with GitHub Actions and Streamlit.

The importance of designing for both usability and scientific accuracy.

What's next for VirTrend

Expanding the library of viral models with more parameter presets.

Adding support for real-time data sources (e.g., WHO, CDC).

Improving predictive capabilities with machine learning models.

Extending visualizations with scenario simulations (e.g., impact of vaccination strategies).

Collaborating with epidemiologists to validate and improve model accuracy.

Built With

Share this project:

Updates