GithubHelp home page GithubHelp logo

cbalona / insurance-automata Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 462 KB

Insurance Automata is an interactive application that simulates the spread of fire across a house using a cellular automata model. The app allows users to place objects within a virtual house and observe how a fire might spread under various conditions.

Home Page: https://insurance-automata.com/

License: Mozilla Public License 2.0

Makefile 0.20% Jupyter Notebook 1.54% JavaScript 9.74% CSS 0.17% HTML 0.24% TypeScript 21.16% Svelte 55.50% Rust 11.46%
actuarial-science fire insurance simulation hacktuary

insurance-automata's Introduction

About Insurance Automata

Insurance Automata

https://insurance-automata.com

Insurance Automata is an interactive application that simulates the spread of fire across a house using a cellular automata model. The app allows users to place objects within a virtual house and observe how a fire might spread under various conditions. It was developed as an entry into the 2023 Hacktuary Challenge, a competition organized by the Casualty Actuarial Society (CAS) to encourage the development of applications that utilize actuarial concepts to solve pressing risk management problems related to property insurance.

I developed Insurance Automata as a solo project over the course of 3 months in my spare time (mainly early morning on the weekends). I was inspired by the concept of digital twin technology, which is used in the manufacturing industry to create virtual replicas of physical products. I feel that digital twin technology has the potential to revolutionize the insurance industry by allowing insurers to better understand and manage risk. I hope that Insurance Automata will serve as a (super basic) proof-of-concept for the use of digital twin technology in the insurance industry.

As usual, I started with what seemed like a simple idea and ended up with a quite a complex project. I had to learn a lot of new technologies and concepts along the way, including:

  • Learning how to create 2D graphics scenes using PixiJS in a web browser
  • Realising that TypeScript is way too slow for a computationally intensive application like this and having to rewrite the whole simulation engine in Rust
  • Which meant starting to learn Rust! A language with a famously steep learning curve (although I am much more familiar with it than when I started, I still have massive amounts to learn, and I am sure my Rust code is terrible ๐Ÿ™‚)
  • Learning how to use WebAssembly to run Rust code in a web browser (which is fantastic by the way)

I think Insurance Automata is valuable for these reasons:

  1. Utility to the General Public: Insurance Automata provides a valuable tool for homeowners to visualize and understand the potential spread of fire in their homes. By allowing users to place objects within a virtual house and observe how a fire might spread under various conditions, the app empowers users to make informed decisions about fire safety and risk management.
  2. Quality of User Experience and Interface Design: The app's user-friendly interface and interactive elements make it accessible to a wide audience, including those without a background in actuarial science or risk engineering. The cellular automata model provides a visually engaging way to simulate fire spread, enhancing the user experience.
  3. Use of Quantitative Risk Analysis Concepts: The app employs basic actuarial concepts and quantitative risk analysis techniques, such as the Poisson process for fire frequency simulation and deriving risk premiums based on expected losses. Interestingly, where actuarial concepts are usually based on historic data, this actually uses a simulation to generate the data and then derive the premiums.
  4. Novelty of Approach: Insurance Automata's use of a cellular automata model to simulate fire spread in a home by building what is essentially a super basic digital twin is a novel approach to property risk assessment I believe. In fact, I feel that with the advent of artificial intelligence and cloud computing, digital twin technology has immense potential in the insurance industry.
  5. Transparency and Accessibility: All code is publicly available under the Mozilla Public License version 2.0, and the app uses only publicly available data sources. The app is deployed and accessible via the internet, ensuring that it is easily accessible to a wide audience.

I hope you enjoy it as much as I enjoyed making it! If you have any questions or comments, or just want to say hi, please feel free to contact me on LinkedIn.

For Developers

The frontend is contained in a Docker container so you will need to install Docker to run it.

You will also need to have Rust installed as well as the wasm-pack tool for compiling Rust code to WebAssembly.

Running the App

# Install dependencies
cd frontend
yarn install

# Run the app in development mode
yarn dev

Compiling the Rust Simulation Engine

make simulation-engine

insurance-automata's People

Contributors

cbalona avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.