Case studyFeatured

Project Status Excel Add-in

Office add-in that pulls utilisation and schedule data from Dialogue Time directly into Excel. One click replaces manual exports and keeps the project status workbook current.

Full-stackIntegrationInternal toolsOffice 365
Office.jsNode.jsExpressAzure AD / MSALDockerApache

Client

Dialogue One A/S

Industry

Consulting / Internal tools

Role

Full-stack developer

Timeframe

2021

Location

Copenhagen, Denmark

Published

Sep 1, 2021

Context

Analysts exported data from Dialogue Time and imported it into a macro workbook to generate project status reports. This manual process was slow, error-prone, and broke whenever the source data changed. We needed a way to pull live data directly into Excel without leaving the workbook.

Approach

  • Office add-in with SSO: Built on the Office Add-in Node.js SSO template. Users authenticate once via Azure AD, and the add-in handles token exchange silently.
  • MSAL on-behalf-of flow: The backend validates Office JWT tokens, exchanges them for Graph and Dialogue Time API tokens, then fetches hours and schedule data.
  • Excel automation: Office.js writes data directly into "Report" and "Schedule" worksheets, mapping API fields to the existing workbook structure.
  • Containerised backend: Node/Express service deployed via Docker, fronted by Apache with SSL.

Highlights

  • Single-click data refresh replaces multi-step export/import workflow.
  • SSO means no extra login prompts. Users stay authenticated via Office.
  • Field mapping preserves compatibility with existing macros and formulas.
  • Deployed as a registered 365 Integrated App for organisation-wide access.

Impact

  • Eliminated manual export/import steps entirely.
  • Reduced report latency from hours to seconds.
  • Fewer errors from automated field mapping and direct data insertion.
  • Higher adoption because it works inside the tools analysts already use.
Case study

Replaced scattered timesheets and manual payroll processes with a single source of truth. Consultants log hours in one system, managers approve in real-time, and exports are audit-ready by default.

Full-stackInternal toolsIntegration
Case study

Replaced cash handling at the company canteen with NFC tap-to-buy. Employees tap badges, purchases sync to payroll, and the canteen eliminated cash entirely.

Full-stackInternal toolsIntegration
Writing

How a three-person dev team at a Copenhagen consultancy decided what to build, what to buy, and what to hybridise, and why those decisions weren't really about preferences.

ArchitectureProcessInternal tools
Writing

The steps I use to go from a sentence-long idea to a scoped, buildable MVP with realistic trade-offs.

ProductArchitectureProcess