About Meeting Cost Calculator

How It Works

Meeting Cost Calculator is a web application built using a combination of modern web technologies and frameworks. Here's a technical overview of how it all comes together:

Backend (Python/Flask)

  • The core of the application is built using Flask, a lightweight WSGI web application framework in Python.
  • We use SQLite as our database to store meeting submission data, leveraging Python's built-in sqlite3 module for database operations.
  • The main application logic is split across several Python files:
    • __init__.py: Initialises the Flask application and sets up necessary configurations.
    • routes.py: Defines the URL routes and their corresponding view functions.
    • models.py: Contains the database models using SQLAlchemy ORM.
    • dash_app.py: Integrates Dash (built on Flask, Plotly.js, and React.js) for interactive data visualisation.

Frontend (HTML/CSS/JavaScript)

  • The user interface is built using a combination of HTML, CSS, and JavaScript.
  • We use Jinja2 templating engine (integrated with Flask) for rendering dynamic content in our HTML pages.
  • Custom CSS (style.css and dash_styles.css) is used for styling, with additional styles from Google Fonts.
  • JavaScript is used for client-side interactivity, particularly in the main calculator page.

Data Visualisation (Dash/Plotly)

  • The insights page utilises Dash, a Python framework for building analytical web applications.
  • Dash is built on top of Flask, Plotly.js, and React.js, allowing for the creation of interactive, web-based data visualisations.
  • We use Plotly.js for creating responsive and interactive charts that visualise meeting cost data.

Workflow

  1. When a user submits meeting data through the calculator form, a POST request is sent to the server.
  2. The server processes this data, calculates the meeting cost, and stores the results in the SQLite database.
  3. The results are then displayed to the user, and the data becomes available for the insights page.
  4. On the insights page, Dash queries the database and creates interactive visualisations of the aggregated meeting data.
  5. Users can filter and interact with these visualisations in real-time, with Dash handling the updates on both the client and server sides.

This architecture allows for a responsive, interactive user experience while maintaining a clean separation between the frontend and backend components of the application.

Data Collection

We value your privacy. This application does not collect or store any personal information. The only data we retain is:

  • The remote IP address (for basic analytics and to prevent abuse)
  • The calculated meeting cost and duration
  • The number of attendees (without any identifying information)

This information is used solely for generating insights and improving the application. No personal or identifying information is ever stored or shared.

About Me, This Webbo's Creator

Kip Jordan

Hi there! I'm Kip, the creator of this Ur Meeting Cost. In my day job, I work as a Data & Analytics Consultant at NAB, where I help make sense of complex data and turn it into actionable insights.

This project came about after a classic chat at work, wondering how much the time spent listening to scrum masters cost when there's 15 people in the zoom with more than half with their camera off. Initially I just made a small python calculator to do this, but I hadn't made a webapp before so I thought it would be interesting to create a tool that helps visualize these costs, learn something, and have a laugh. Plus I can use this at the end of every meeting and share my screen and be *that* guy.

When I'm not working with data or consulting or reminding stakeholders than a percentage is always "out of 100", I'm exploring new tech, reading fantasy books, catching up with pals, reading up on the latest in data science, or tinkering with personal projects like this one (finding more uses for my raspberry pi collection). I just like to keep learning and finding ways to stay creative.

I'm also studying Data Science at RMIT University, which has been a cool way to learn more about practical Machine Learning, AI and stats. Everyones favorite, statistics.

If you want to connect, feel free to reach out to me on LinkedIn. Always happy to chat, share ideas, or discuss interesting projects!