Red Bead Experiment Online

This project is an online implementation of the classic Deming Red Bead experiment, which is used to demonstrate the concepts of probability and randomness. The experiment involves drawing beads from a container and recording the outcomes to analyze the distribution of results. The online version allows users to simulate the experiment and visualize the results in real-time. It also incorporates OpenTelemetry for tracking user interactions and performance metrics, providing insights into how users engage with the experiment and how the application performs under different conditions. The project is built using JavaScript and is designed to be accessible and educational for users interested in learning about probability and randomness through an interactive experience.

Project URL

beadexperiment.com

Features

  • Interactive Simulation: Users can simulate the bead drawing process and see the results in real-time.
  • Data Visualization: The outcomes of the experiment are visualized using charts and graphs to help users understand the distribution of results.
  • OpenTelemetry Integration: The application tracks user interactions and performance metrics to provide insights into user engagement and application performance.
  • Educational Content: The project includes explanations of the concepts of probability and randomness, as well as the significance of the Deming Red Bead experiment in understanding these concepts.
  • Responsive Design: The application is designed to be accessible on various devices, including desktops, tablets, and smartphones.
  • Customizable Parameters: Users can adjust the parameters of the experiment, such as the number of beads, the ratio of red to white beads, and the number of draws, to see how these changes affect the outcomes.

Technologies Used

  • JavaScript: The core programming language used to build the interactive simulation and handle user interactions.
  • HTML/CSS: For structuring and styling the web application.
  • Charting Library: Apache ECharts for visualizing the results of the experiment.
  • OpenTelemetry: For tracking user interactions and performance metrics.
  • Web APIs: For handling user input and managing the state of the application.
  • Responsive Design Framework: Bootstrap for ensuring the application is accessible on various devices.
  • PostgreSQL: For storing user interaction data and performance metrics collected through OpenTelemetry.
  • Websocket: For real-time updates of the experiment results and user interactions.
  • Docker: For containerizing the application and ensuring consistent deployment across different environments.
  • Kubernetes: For orchestrating the deployment of the application in a scalable manner.