Portfolio

Internal Collaboration Platform, RedRiver Consulting

A real-time internal web application built during a full-stack internship using ASP.NET Core, Angular, and SignalR.

Enterprise SoftwareReal-TimeFull-Stack
Role
Full Stack Developer Intern
Project type
Internship Project
Duration
Dec 2025 – Apr 2026
Tools
C#, ASP.NET Core, Angular 19–20, TypeScript, MySQL, SignalR, RxJS, Git
RedRiver Internal Platform visual summary

01

Executive Summary

During a full-stack internship at RedRiver Consulting and Software AB, I developed and maintained an internal web application on ASP.NET Core and Angular 19–20, added real-time collaborative features with SignalR, and fixed critical production bugs affecting system stability.

02

The Problem

The internal application needed live, multi-user collaboration features, and had accumulated production bugs that were affecting runtime stability for its users.

03

Users & Stakeholders

  • Internal engineering team
  • The application's internal end users
  • Team lead / sprint stakeholders

04

Discovery and Research

  • Onboarded onto the existing ASP.NET Core / Angular codebase
  • Traced reported production bugs to root causes
  • Assessed where real-time updates with SignalR would add the most value

05

Goals

  • Ship real-time collaborative features without regressing existing functionality
  • Resolve critical production bugs
  • Work effectively inside an existing Agile team, stand-ups, sprint planning, and code review

06

Solution

Implemented SignalR-based real-time features so multiple users could see live, collaborative updates in the application, built out functionality across the Angular 19–20 frontend and ASP.NET Core backend with MySQL, and worked through a backlog of production bugs to improve stability, all while participating in daily stand-ups, sprint planning, and peer code reviews.

V

Visual analysis (D3)

Every figure below is generated with D3 from this case study’s own data and is annotated using Tamara Munzner’s what / why / how framework: the data abstraction, the abstract task it supports, and the visual idiom with its marks and channels.

V1Risk exposure by impact

  • High
  • Medium
  • Low

What — dataItems are identified project risks; one ordered attribute (impact) and one categorical attribute (mitigation, on hover).

Why — taskRank the risks and identify the extremes that need mitigation first.

How — idiomDot plot: point marks, position on a common ordered scale as the primary channel, colour hue as a redundant encoding.

V3Implementation sequence

What — dataItems are roadmap phases with an ordered key (sequence) and a quantitative attribute (workstreams per phase).

Why — taskSummarise the delivery order and see where the workload concentrates.

How — idiomGantt-style ranged bars: line marks with length encoding magnitude, aligned on a shared horizontal scale, colour separating phases.

V4Solution architecture as a network

What — dataA node-link network: nodes are architecture components, links are data flow, and layer is a categorical attribute.

Why — taskExplore topology — trace a path from data source to governed output and locate dependencies.

How — idiomLayered node-link layout: rectangle marks positioned by layer, connection marks for flow, greyscale luminance separating adjacent layers.

V6Engagement depth profile: radar

  • Documented items

What — dataOne item (this project) with seven quantitative attributes: the number of documented artefacts per workstream.

Why — taskSummarise the shape of the engagement and compare workstreams which parts are deep and which are thin.

How — idiomRadar/star plot: line and point marks, angle channel for the attribute key, radial distance for magnitude.

V7Roadmap workload circular barplot

  • Workstream items

What — dataItems are roadmap phases with one ordered key (sequence) and one quantitative attribute (workstream items).

Why — taskCompare how much work each phase carries and see the cycle of delivery as a whole.

How — idiomCircular barplot: arc marks, angle for the ordered phase key, radial length for magnitude.

V8Architecture composition: treemap

  • Component
  • Layer

What — dataA hierarchy: architecture layers containing components, each component counting as one unit.

Why — taskSee where the system's weight sits: which layers hold the most moving parts.

How — idiomTreemap: containment for the hierarchy, area marks sized by component count, nested rectangles for layers.

07

System Architecture

Angular 19–20 client
      |
      v
+---------------------+      +--------------------------+
|  SignalR hub             | <--> |  Live collaborative UI      |
|  real-time updates        |      |  multi-user state             |
+---------------------+      +--------------------------+
      |
      v
+---------------------+
|  ASP.NET Core API         |
|  business logic              |
+---------------------+
      |
      v
+---------------------+
|  MySQL                       |
+---------------------+

Frontend

  • Angular 19–20
  • TypeScript
  • RxJS

Backend

  • ASP.NET Core
  • C#
  • MySQL

Real-time

  • SignalR hubs
  • Live collaborative updates

R1

Technical Risks

Risk matrix
RiskImpactMitigation
Real-time features could introduce race conditions across multiple usersInconsistent state between clientsCareful hub design and testing multi-client update scenarios before rollout
Fixing production bugs in an unfamiliar codebaseRisk of introducing regressionsRoot-caused each bug individually and relied on peer code review before merging

R2

Implementation Roadmap

  1. Dec 2025

    Phase 1: Onboarding

    • Codebase familiarization
    • First bug fixes
  2. Jan – Feb 2026

    Phase 2: Real-time features

    • SignalR hub design
    • Live collaborative UI updates
  3. Mar – Apr 2026

    Phase 3: Stabilization

    • Critical bug fixes
    • Stability improvements
    • Handover

R4

Success Metrics

Stability

  • Resolved critical production bugs
  • Reduced runtime errors

Delivery

  • Shipped real-time collaboration features
  • Consistent sprint participation

R5

Deliverables

  • Internal web app on ASP.NET Core and Angular 19–20
  • SignalR-powered real-time collaboration features
  • Bug fixes improving production stability
  • Participation in daily stand-ups and sprint planning

Working real-time features into a live production app taught me more about defensive coding than any greenfield project had.

Next project

Mini AI HR

View Case Study