← All selected work

Enterprise workflows

ConstructIQ

Shared project data, with separate access and management rules.

A construction project workspace for tasks, progress reports, risks, team membership, and documents.

  • Java
  • Spring Boot
  • PostgreSQL
  • Redis
  • React
  • AWS ECS
Working prototype
A shared project contextA shared project contextProjectTasksReportsRisksDocumentsOwnership + membershipAccess and management are separate decisions

A shared project context

  1. Project

    Ownership + membership

  2. Tasks · Reports · Risks · Documents

    Access and management are separate decisions

Conceptual system illustration. Tasks, reports, risks, and documents share project context. Access and management permissions are checked in the backend.

The problem

Project information is useful when tasks, progress, risks, and documents can be understood together. The same workspace also needs to distinguish access to a project from permission to manage it.

My contribution

Built the Spring Boot backend and React management interface, including project access rules, Redis caching, and an AWS deployment workflow.

Engineering decisions

  • Model the workflow, not just the screens

    Projects connect team registrations, tasks, reports, risks, and documents. A dedicated access service checks ownership and membership, with separate checks for management actions.

  • Make caching aware of the caller

    Permission-sensitive reads use user-scoped Redis cache keys. Write operations evict related caches so the interface does not simply reuse a stale result after a change.

  • Keep AI grounded in accessible work

    Backend chat and advice endpoints assemble permitted project context before calling a configurable provider. The React AI screen is an early implementation; the complete user journey remains in development.

Delivery & scope

Docker and GitHub Actions support ECR/ECS delivery, with a successful deployment recorded. The React interface covers project detail workflows. Live availability is unverified; cloud object storage remains planned.

Explore the source

Code, architecture notes, and delivery details on GitHub.