A native macOS application for resource and project forecasting built for Arcsen. Plan weekly capacity, track utilisation, and export forecasts to Excel — all in a fast, offline-first desktop app.
- Resource Grid — allocate hours per resource per project per week; inline cell editing; right-click to clear; drag-to-bulk-set
- Team Overview — see all team members' committed hours and utilisation side by side
- Projects Overview — filter by team or custom resource set; colour-coded utilisation per project per week
- Per-Project View — resource-level allocation breakdown for any single project
- Capacity Management — default weekly capacity per resource; per-week overrides; start/end date support
- Bulk Apply — apply a fixed hours value across a date range for any resource/project combination
- Teams — group resources into colour-coded teams
- Fiscal Year selector — FY runs February → January; weeks assigned to months by the Thursday rule (ISO)
- Excel Export — exports the full resource grid to
.xlsx - Persistent storage — data saved to
~/Library/Application Support/UnitForecasting/data.json; forward-compatible decoder
| Requirement | Version |
|---|---|
| macOS | 13 Ventura or later |
| Architecture | Apple Silicon (arm64) |
- Download
UnitForecasting.zipfrom the latest release. - Unzip it — you'll get
UnitForecasting.app. - Drag
UnitForecasting.appto your Applications folder (or keep it on the Desktop). - First launch only: macOS Gatekeeper will block the app because it is not notarised.
- Right-click (or Control-click)
UnitForecasting.app→ Open. - Click Open in the security dialog.
- The app will open normally on every subsequent launch.
- Right-click (or Control-click)
- Xcode Command Line Tools
xcode-select --install
# 1. Clone the repository
git clone https://github.com/CobergTech/DeliveryOperations.git
cd DeliveryOperations
# 2. Get the SDK path
SDK=$(xcrun --show-sdk-path --sdk macosx)
SRC=UnitForecasting
# 3. Compile
swiftc \
"$SRC/Models.swift" "$SRC/WeekGenerator.swift" "$SRC/AppStore.swift" \
"$SRC/GridHelpers.swift" "$SRC/GridSelection.swift" \
"$SRC/ContentView.swift" "$SRC/ResourceGridView.swift" "$SRC/TeamOverviewView.swift" \
"$SRC/ProjectsOverviewView.swift" "$SRC/ProjectOverviewView.swift" \
"$SRC/ManageProjectsView.swift" "$SRC/ManageResourcesView.swift" \
"$SRC/BulkApplyView.swift" "$SRC/BulkCapacityView.swift" \
"$SRC/AddEditProjectView.swift" "$SRC/AddEditResourceView.swift" \
"$SRC/ManageTeamsView.swift" "$SRC/ExcelExporter.swift" \
"$SRC/UnitForecastingApp.swift" \
-sdk "$SDK" -target arm64-apple-macosx13.0 -parse-as-library -O \
-o build/UnitForecasting.app/Contents/MacOS/UnitForecasting
# 4. Copy to Desktop
cp -R build/UnitForecasting.app ~/Desktop/
open ~/Desktop/UnitForecasting.appNote: The
build/UnitForecasting.appbundle (withInfo.plistandAppIcon.icns) must already exist. It is included in the repository.
All data is stored locally in JSON format:
~/Library/Application Support/UnitForecasting/data.json
No network connection is required. No data leaves your machine.
- FY YYYY/YY runs from 1 February to 31 January.
- Each calendar week is assigned to the month containing its Thursday (ISO 8601 standard).
- Week labels are unique across the full fiscal year (e.g. CW06, CW07 …).
UnitForecasting/
├── Models.swift Data models (Project, Resource, Team, AppData)
├── AppStore.swift ObservableObject store; JSON persistence
├── WeekGenerator.swift FY week + month group generation
├── GridHelpers.swift Shared PreferenceKey for scroll offset
├── GridSelection.swift Drag-select state for the allocation grid
├── ContentView.swift Root NavigationSplitView + sidebar
├── ResourceGridView.swift Per-resource allocation grid
├── TeamOverviewView.swift Team-wide utilisation overview
├── ProjectsOverviewView.swift Multi-project overview with team/resource filter
├── ProjectOverviewView.swift Per-project resource allocation view
├── ManageProjectsView.swift Add / edit / delete projects
├── ManageResourcesView.swift Add / edit / delete resources
├── ManageTeamsView.swift Add / edit / delete teams
├── AddEditProjectView.swift Project form sheet
├── AddEditResourceView.swift Resource form sheet
├── BulkApplyView.swift Bulk-apply hours sheet (resource view)
├── BulkCapacityView.swift Bulk-set capacity sheet
├── ExcelExporter.swift XLSX export
└── UnitForecastingApp.swift App entry point
Internal use — Arcsen © 2025. All rights reserved.