Technology Stack at a Glance
A consolidated reference of every framework, library, and service powering the Grade My Investments platform — a single .NET 10 solution spanning 32 projects, from Blazor and MAUI front ends to Azure Functions, machine learning, and Pulumi-provisioned cloud infrastructure.
flowchart TB
subgraph PRES[Presentation Layer]
direction LR
web[Blazor WebAssembly<br/>Syncfusion UI - Bootstrap]:::app
maui[.NET MAUI<br/>Mobile App]:::app
end
subgraph APIL[API Layer]
api[Azure Functions<br/>Isolated Worker]:::app
end
subgraph SVCL[Services Layer]
svc[Domain Services<br/>Documents - Reports]:::svc
end
subgraph MLL[Machine Learning]
ml[Microsoft.ML<br/>AutoML - TimeSeries]:::svc
end
subgraph DAL[Data Access Layer]
ef[EF Core 9<br/>Pomelo MySQL]:::svc
end
subgraph DATA[Data Stores]
direction LR
db[(Azure MySQL<br/>Flexible Server)]:::data
blob[(Azure Blob<br/>Storage ZRS)]:::data
end
iac[Pulumi IaC<br/>Azure Native]:::sec
obs[Observability<br/>Serilog - App Insights]:::sec
ext[External Services<br/>Stripe - SendGrid<br/>Twilio - Claude - FMP]:::ext
web --> api
maui --> api
api --> svc
svc --> ml
svc --> ef
svc --> ext
ef --> db
ef --> blob
iac -.-> web
iac -.-> api
iac -.-> db
obs -.-> api
obs -.-> svc
obs -.-> ef
classDef app fill:#1f2630,stroke:#C0894E,color:#F3EFE8;
classDef svc fill:#241c14,stroke:#E2B583,color:#F3EFE8;
classDef data fill:#22201a,stroke:#C0894E,color:#EBD3AE;
classDef ext fill:#1b1f27,stroke:#5A616B,color:#C4C0B8;
classDef sec fill:#1d2733,stroke:#5cc8e0,color:#eafaff;Presentation Layer
The user-facing web and mobile experiences, both built on the same .NET component model with shared Syncfusion UI controls.
| Technology | Version | Role |
|---|---|---|
| Blazor WebAssembly | 10.0.2 | Client and Admin single-page web apps |
| .NET MAUI | 10.0.41 | Cross-platform mobile app |
| Syncfusion Blazor + MAUI | 32.1.23 | Grid, Charts, Spreadsheet, WordProcessor, TreeView, PdfViewer |
| Bootstrap | CSS | Responsive layout and component styling |
Backend & API
- Azure Functions (Isolated Worker) 2.51.0
- .NET 10 / C# 32 projects
The API runs out-of-process on the isolated worker model, decoupling function code from the host runtime for full control over the .NET version and dependency graph.
Data & Storage
| Technology | Version | Role |
|---|---|---|
| Entity Framework Core | 9.0.6 | ORM and data access |
| Pomelo MySQL Provider | 9.0.0 | EF Core MySQL driver |
| Azure Database for MySQL | Flexible Server | Primary relational store |
| Azure Blob Storage | ZRS (prod) | Report files and documents |
Machine Learning
- Microsoft.ML 5.0.0
- ML.AutoML 0.21.1
- ML.TimeSeries 5.0.0
Document Generation
| Library | Version | Format |
|---|---|---|
| EPPlus | 8.4.2 | Excel workbooks |
| DocumentFormat.OpenXml | OpenXML | Word documents |
| PdfPig | PDF parsing and extraction | |
| Markdig | Markdown | Markdown to HTML rendering |
Integrations
- Stripe.net — payments & billing 46.2.0
- SendGrid — transactional email 9.29.3
- Twilio — SMS delivery 7.8.0
- Anthropic Claude — AI analysis API
- Financial Modeling Prep — market data API
Identity & Authentication
- Google OAuth Google.Apis.Auth — client sign-in
- MSAL Microsoft.Authentication.WebAssembly.Msal — admin sign-in
- Microsoft.Graph Directory and profile access
Infrastructure as Code
The entire Azure footprint is provisioned declaratively in C# with Pulumi — version-controlled, reproducible, and reviewed like application code.
- Pulumi (C#) 3.82
- Pulumi.AzureNative 3.5
- Pulumi.Azure classic
- Pulumi.AzureAD identity
Observability
- Serilog Structured logging via Console and File sinks
- Application Insights Distributed telemetry, traces, and metrics
Testing
- xUnit 2.9.2
- Moq mocking
- FluentAssertions assertions
- coverlet coverage
Hosting
- Azure App Service Hosts the Blazor web applications
- Linux VM (systemd) Runs background services as managed daemons
- Single Region Central US
Platform Foundation
A single language and runtime span the web, mobile, API, background services, and infrastructure code — maximizing code sharing and team velocity.