Skip to content

Tech Strategy Tool

A collaborative web application that helps engineering teams define, track, and evolve their technical strategy. Purpose-built for live, low-friction editing during meetings so that discussions are immediately captured as structured, actionable strategy — not meeting notes that nobody reads.

The Problem

Technical strategy discussions happen in meetings, but the outcomes get lost in slide decks and wikis that go stale. The Tech Strategy Tool provides a shared, living document where teams capture:

  • Principles — the guiding beliefs and standards that govern daily technical decisions
  • Objectives — measurable goals that make progress visible
  • Initiatives — concrete projects that drive progress on objectives

Each team defines its own strategy within a shared organizational view, with cross-team principle sharing to maintain alignment.

Key Features

  • Real-time collaborative editing — Multiple users edit the strategy simultaneously. Changes propagate instantly via Server-Sent Events, with per-field conflict detection so editors never silently overwrite each other's work.

  • Structured strategy model — Principles govern daily work, Objectives make progress measurable, and Initiatives track concrete implementation. The hierarchy enforces clarity: every initiative ties to an objective, and every objective connects to governing principles.

  • Complete audit history with restore — Every change is recorded as an immutable event. Any user can view per-entity history with previous values, and administrators can restore the entire strategy to any point in time.

  • Cross-team principle sharing — When an objective in one team needs a principle from another team, the tool creates an independent copy automatically. This supports organizational alignment while letting teams evolve their strategy independently.

  • Multi-team, role-based access — Viewers see everything, Editors can modify any team's strategy (with full audit trail as the safety net), and Administrators manage users, teams, and system-level operations.

Architecture at a Glance

The system is built on an event-sourced architecture: every state change is captured as an immutable event in an append-only log. The current state is derived by replaying events from the last checkpoint.

Event sourcing is not used here for scalability — it is used because the domain genuinely benefits from an immutable audit trail. History, restore, and conflict detection are first-class product features, not afterthoughts.

graph LR
    A[Strategy Site<br/>Blazor WASM] -->|HTTP API| C[ASP.NET Core<br/>API Host]
    B[Admin Site<br/>Blazor WASM] -->|HTTP API| C
    C -->|Read/Write| D[(PostgreSQL)]
    C -->|SSE Push| A
    C -->|SSE Push| B
    C -->|Process Events| E[Event Processor<br/>In-Memory State]
Component Technology Purpose
Strategy Site Blazor WebAssembly Editing principles, objectives, and initiatives
Admin Site Blazor WebAssembly User management, team setup, event log, restore
API Host ASP.NET Core Minimal API Endpoints, auth, SSE, event processing
Database PostgreSQL 17 Event store, checkpoints, users, sessions
Event Processor Pure C# (no dependencies) Single-writer in-memory state machine

Technology Stack

  • .NET 10 / ASP.NET Core / Blazor WebAssembly
  • PostgreSQL 17 with EF Core for persistence
  • Event sourcing with checkpoint-based replay
  • Server-Sent Events for real-time notifications
  • DocumentFormat.OpenXml for PowerPoint export
  • Docker Compose for local development infrastructure
Section Description
Getting Started Set up and run the project in minutes
Architecture Design decisions and system structure
User Guide How to use the Strategy and Admin sites
API Reference Complete endpoint documentation
Domain Model Entities, events, and processing rules
Contributing Conventions, testing, and development workflow

Project Structure

src/
  TechStrat.Core/             Pure domain logic (events, model, processor)
  TechStrat.Infrastructure/   PostgreSQL persistence via EF Core
  TechStrat.Shared/           DTOs and API contracts
  TechStrat.Api/              ASP.NET Core host and endpoints
  TechStrat.UI/               Shared Razor component library
  TechStrat.StrategySite/     Blazor WASM - Strategy Site
  TechStrat.AdminSite/        Blazor WASM - Admin Site

tests/
  TechStrat.Core.Tests/            Unit tests (no external deps)
  TechStrat.Api.Tests/             Integration tests (WebApplicationFactory)
  TechStrat.Infrastructure.Tests/  Persistence tests (Testcontainers)