NTP Internship

What is the Northern Tornadoes Project?

Bettering our understanding of severe and extreme weather in Canada.

A central goal of the Northern Tornadoes Project (NTP) is to improve our understanding of severe and extreme weather and their implications for people, property, and the climate in Canada. One of the ways in which NTP compiles and expresses their damage survey findings is by creating event summary maps that detail the location, measures of damage, and a description of the storm event itself.

What was my role?

I worked as a software engineering research intern at the Northern Tornadoes Project. I worked on a project called NTP Insights which is a combination of other internal projects that NTP interns were working on combined into one system. The main goal of NTP Insights is to provide a way for NTP to easily visualize and analyze their data.

What did I do?

NTP Insights

NTP Insights is a web application built using the NextJS framework. It uses a Node.js backend with a PostgreSQL database. The frontend is built using React and the shancn/ui component library. The application is hosted on Vercel & Western Engineering servers.

In this project, I opted for an authenticated user flow which required a user authentication model. I used NextAuth.js to handle authentication and Prisma to handle database operations since multiple people where often editing the schema for their needs. I also used Next.js API routes to create a backend API for the frontend to interact with. Using these accounts, NTP Members can be added using either email using one-time links or OAuth2 accounts (Discord). This helps to keep track of who is using the application and tracking their activity.

NTP Social

NTP Social is a web application built into NTP Insights which started off the whole initiative. It is a tornado tracking/searching tool which uses social media websites & a LLM classification model to detect and log tornado sightings around Canada.

NTP Social

The application was built to be easily extendable with it storing as much information as it can for future use. It also has a flagging feature so that either important or incorrect sightings can be flagged for review. This will allow for the model to be retrained and improved over time.

NTP 360

NTP 360 is a web application built into NTP Insights which allows users to view 360° images of tornado damage. I built the Three.js viewer for this application as well as the backend API which processes the images and stores them in the database.


NTP LiDAR is a web application built into NTP Insights which allows users to view LiDAR data of tornado damage. I assisted in building the Potree viewer for this application and I also built the backend API which processes the LiDAR data, converts it into a more accessible datatype and stores it in the database.

What did I learn?

I learned a lot about web development and the software development process. Working with a team of other interns was a great experience and I learned a lot from them. I also learned a lot about the tornadoes themselves and the damage they can cause.

I am very grateful for the opportunity to work at NTP and I hope to continue working with them in the future.