In development

CPM Project Scheduling Application

A project management application built around a critical path method (CPM) scheduling engine.

1Project overview

A project management application built around a critical path method (CPM) scheduling engine.

2Objective

Develop a project management application with a critical path scheduling engine that can stand alongside tools like MS Project and Primavera P6.

3My role

  • Building the application in Python with a Streamlit interface and SQLite database.
  • Developing the CPM engine: forward pass, backward pass, float, and critical path.
  • Using a 40-hour Monday–Friday working calendar with holidays excluded.
  • Testing scheduling calculations with pytest.
  • Planned next: schedule crashing and optimization with OR-Tools.

4Engineering approach

  1. Scheduling engine first

    The CPM math is built and tested before the interface grows around it.

  2. Working calendar

    Baseline schedules use a 40-hour Monday–Friday week with holidays excluded.

  3. Tested calculations

    pytest checks the forward pass, backward pass, float, and critical path.

  4. Next

    Schedule crashing and optimization with OR-Tools.

5Analysis and visuals

Start A B C D Finish float > 0 float > 0 critical path, zero float
How the engine reads a network: the critical path (navy) has zero float

Image to add: App screenshot

A screenshot of the schedule or Gantt view from your app.

6Results and impact

Combines project controls, scheduling mathematics, and software development in one tool. This project is in development.

7Tools and technologies

  • Python
  • Streamlit
  • SQLite
  • pytest
  • Critical path method
  • OR-Tools (planned)