Portfolio Projects

Project controls tools built with Python, GitHub, and AI-assisted development.

Project #1

Schedule Movement Analyzer

A project controls toolset that started as a Python/CSV schedule movement analyzer and now also includes a browser-based Smartsheet .xlsx analyzer on this portfolio site.

  • Business problem: Schedule changes, dependency issues, and summary rows are hard to review consistently from exported schedules.
  • Automation solution: Compare baseline and current dates, validate mapped schedule data, and generate a downloadable Excel audit report.
  • Skills shown: Python, JavaScript, SheetJS, date logic, dependency parsing, validation, reporting, and GitHub documentation.
View Repository

Project #2

Smartsheet Formula Helper

A Python tool that converts structured Smartsheet formula examples into a reusable Markdown reference guide organized by formula type and business use case.

  • Business problem: Smartsheet formulas are easy to break and hard to standardize across teams.
  • Automation solution: Store formula patterns in a CSV and generate a clean reference guide.
  • Skills shown: Python, Markdown generation, Smartsheet workflow logic, validation, unit tests.
View Repository

Project #3

AI Portfolio Site

A static portfolio website that presents project controls automation work in a business-facing, web-accessible format.

  • Business problem: GitHub repositories alone are not always easy for non-technical viewers to evaluate.
  • Automation solution: Create a central site with project summaries, demos, and repository links.
  • Skills shown: HTML, CSS, JavaScript, GitHub Pages, portfolio storytelling.
View Demo Sections

Portfolio Approach

Each project is built around practical business value.

The goal of this portfolio is not just to demonstrate code. Each project starts from a real workflow problem, defines a repeatable process, and produces an output that would help a project manager, project controls team, or operations leader make better decisions.

Interactive Demo

Smartsheet schedule movement analysis

Upload an exported Smartsheet .xlsx schedule, map the columns to analyze, and review schedule movement, data-quality warnings, dependency validation, and an estimated dependency-based critical path.

Files are processed locally in the browser from a Smartsheet export. This is not a Smartsheet API integration.

Smartsheet Schedule Analysis

Exported .xlsx schedule analyzer

Choose a Smartsheet .xlsx schedule export and map the columns the analyzer should use. Extra columns in the file will be ignored.

What the analyzer does

  • Works with exported Smartsheet .xlsx schedule files.
  • Processes files locally in the browser and uses mapped columns instead of fixed names.
  • Compares baseline dates to actual/current dates for calendar-day and workday movement.
  • Supports editable holiday/non-working dates for workday movement metrics.
  • Validates dependency warnings and exports an All Dependency Links audit tab.
  • Excludes detected parent/summary rows from estimated critical path logic.
  • Supports optional Row Type and Include in Critical Path controls for non-schedule rows.
  • Supports grouped analysis when one workbook contains multiple projects, properties, or schedules.
  • Produces an AI-ready Excel audit workbook for project review, ChatGPT/Claude-style analysis, Excel/Power BI reporting, and translation/import planning for P6, Microsoft Project, Smartsheet, or other scheduling tools.

Column mapping guidance

Required: Task or Milestone Name, Baseline Start, Baseline Finish, Actual / Current Start, Actual / Current Finish, and Predecessors.

Optional: Task ID / Row ID, Status / % Complete, Row Hierarchy / Outline Level, Project Name / Project Grouping, Row Type, and the Include in Critical Path? helper column.

Row Hierarchy / Outline Level is recommended for Smartsheet parent/child schedules so parent and summary rows can be excluded from estimated critical path logic. If your sheet does not already have one, use the Smartsheet Formula Builder's Hierarchy Level Helper before exporting.

Project Name / Project Grouping is recommended when one workbook contains multiple projects, properties, or schedules.

Row Type and Include in Critical Path? affect estimated critical path eligibility only. Excluded rows still appear in the full Excel report.

Sample Files

Try it with fake demo data

Download the sanitized sample Smartsheet-style input workbook and upload it into the analyzer. The refreshed input includes Row Type and Include in Critical Path? examples. A matching sample output report will be refreshed after this input is run through the analyzer. Both files use fake demo data only.

The analyzer validates mapped columns, compares schedule dates, checks dependencies, estimates grouped dependency-based critical paths, and prepares an Excel report.

Column Mapping

Enter column names exactly as they appear in the exported schedule.

Optional but recommended for Smartsheet schedules with parent/child rows. Map a helper column that identifies each row's hierarchy or outline level. This helps exclude parent/summary rows from critical path analysis. If your sheet does not have one, use the Smartsheet Formula Builder's 'Hierarchy Level Helper' option below to create one before exporting.

Map this when one uploaded workbook contains multiple projects, properties, or schedules. Estimated critical paths will be calculated separately for each mapped project group.

Map this when your export labels non-schedule rows such as reporting, budget, spend, placeholder, admin, or summary rows. Those row types will be excluded from estimated critical path logic, while still appearing in the full report.

Map this if your sheet has a Yes/No, True/False, Checked/Unchecked, Include/Exclude, or 1/0 helper column for estimated critical path eligibility. A No-style value excludes the row from estimated critical path logic only.

Review and edit the default dates to match your organization's calendar. One date per line is recommended; labels after the date are allowed. Holidays are excluded in addition to weekends for workday movement calculations. Delete all dates to use weekend-only workday logic.

Map the required columns and choose a Smartsheet .xlsx export to prepare the analyzer.

Sample Demo

Hardcoded schedule movement sample

This small sample keeps the original demo logic available alongside the uploaded workbook analyzer.

Click the button to calculate sample schedule movement results.
Milestone Original Date New Date Calendar Days Moved Workdays Moved Movement Direction

Interactive Demo

Smartsheet formula builder

Choose a formula pattern, enter the relevant Smartsheet columns, and generate a copy/paste-ready formula with setup notes for any cross-sheet references.

What this formula does

Generated Formula


            
            

About This Portfolio

Built around real project controls workflows.

This portfolio focuses on practical automation: schedule analysis, Smartsheet formula logic, project reporting, workflow standardization, and AI-assisted process improvement.

Each project is designed to show both technical growth and business value: clear inputs, repeatable logic, useful outputs, documentation, testing, and version control.