GMI · TECHNOLOGY OBSERVATORY // ALL SYSTEMS NOMINAL
ENGINEERED BY LEOPARD DATA

Grade My Investments Technology Architecture

Explore the comprehensive technology stack and architecture powering the Grade My Investments platform.

System Components

The Grade My Investments platform is built on a modern, scalable architecture using .NET 10, Blazor, Azure services, and MySQL. Explore each component of our technology stack below.

Platform Overview
rendering diagram…
flowchart LR
  subgraph CLIENTS[Clients]
    cw[Client Web<br/>Blazor WASM]:::app
    aw[Admin Web<br/>Blazor]:::app
    mob[MAUI Mobile]:::app
  end
  api[Azure Functions API]:::svc
  subgraph BG[Background Services]
    re[Report Engine]:::svc
    ml[ML.NET Forecasting]:::svc
    bill[Billing Engine]:::svc
    notif[Email and SMS]:::svc
  end
  db[(MySQL)]:::data
  blob[(Blob Storage)]:::data
  subgraph EXTERNAL[External Services]
    fmp[FMP Market Data]:::ext
    claude[Anthropic Claude]:::ext
    stripe[Stripe]:::ext
  end
  cw --> api
  aw --> api
  mob --> api
  api --> db
  api --> blob
  api --> re
  re --> ml
  re --> fmp
  re --> blob
  bill --> stripe
  re --> notif
  api --> claude
  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;
Grade My Investments — end-to-end platform at a glance

About Grade My Investments

What is Grade My Investments?

Overview of the Grade My Investments platform, features, and value proposition.

Learn More
History of Grade My Investments

Development timeline, evolution, and key milestones of the platform.

View Timeline
Demo Setup

How to set up and run Grade My Investments demonstrations and proof-of-concepts.

Setup Guide
What is this Technology Website?

Purpose, audience, and content of this comprehensive technology documentation site.

About This Site
Meet the Solutions Architect

Learn about Allan Edwards, the architect who designed, built, and deployed Grade My Investments in 6 months.

Meet Allan

Trust & Transparency

Anatomy of a Grade

The complete, undisguised grading algorithm — six factors, exact point bands, letter mapping — published because a grade you can't audit is a grade you shouldn't trust.

See the Algorithm
Data Provenance & Accuracy

Where every number comes from, refresh cadences, in-house computed metrics — and the $50-trillion bug that forged the "compute, don't trust" policy.

Trace the Data
SEC Data Store

Government filings as the primary fundamentals source: EDGAR normalized into the statements grades already read, a gate that approves a symbol only when every input agrees with the vendor within 0.5% and the letter is identical, gaps in the SEC's own API filled from its quarterly data sets, and 9,923 delisted companies loaded for survivorship-free research.

See How It Was Built
When NOT to Trust the Grade

Turnarounds, pre-profit growth, sector leverage norms, thin coverage — the model's blind spots, documented by the people who built it.

Read the Limits
Production Postmortems

Real incidents with real dates: the config that 500'd the site, the $50T market cap, the counter that counted nothing — and what each one changed.

Read the Incidents
The AI-Investor Workflow

The prescriptive loop: general AI decomposes your funds, GMI grades on hard data, AI investigates the shortlist — each tool doing what it's actually good at.

Learn the Loop
Lean Cloud Economics

The whole platform on ~$197/month — the bill, the first scaling wall (named in advance), and the priced upgrade path. Capacity planning as arithmetic.

See the Bill
Product Roadmap

Where GMI is headed: the September 2026 build wave, including Investor Legends and pay-as-you-go alerts, is built and in final testing. Listed as built, not shipped, until it passes testing.

See What's Next

Investor Tools

Guided First Report

Two beginners stalled at "type a ticker", so onboarding now teaches by doing: pick a company you know, get one real report, read four callouts. No schema change, and a card-on-file account is always asked before it is charged.

See the Flow
Watchlist & Screener

A live watchlist grid and a screener over the graded universe, with no new data feed: quotes fan in to one call per symbol per minute, and screens are an in-memory pass over the grade cache.

See the Sources
Investor Legends & Smart Lists

Eight screens from investors' published criteria, each criterion a pass, fail or honest "not evaluated". A cache rule that called 4 years complete for a 22-year question, and lists that log why every symbol came or went.

See the Screens
Portfolio Benchmarking

Position reports against SPY and other index ETFs, named for what they are ("held-through", because there are no purchase dates), from one calculator shared by the dashboard and the Excel download.

See the Math
Earnings Setup

How a stock has reacted to its own prints, as base rates with sample sizes and an 8-print floor, plus GMI's Read: a first version that scored worse than a coin flip in backtests, the fix, and the honest finding that 16 prints give calibrated but near-zero-skill odds.

Read the Recipe
Recurring Reports

Weekly-to-quarterly report series with automatic Claude change analysis, built by keeping one future run materialized as an ordinary schedule, so every existing billing rule still applies.

See the Design
Pay-As-You-Go Alerts

Built and in final testing: a metered ledger, a spend cap that is one conditional UPDATE (40 parallel admits against a $1 cap admit exactly 16), a formula-version guard, and five compliance gaps closed before the first paid alert.

See How It Was Built

Reports - The Heart of Grade My Investments

Modular Report Architecture

Future-ready modular system with Alpha, Beta, Charlie, and Delta generators for specialized analysis needs.

View Architecture
Report Generator Alpha

The original .NET Console application that processes database jobs and generates Excel/JSON reports.

View Alpha
Report Output Organization

How reports are generated, organized, stored in Azure Blob Storage, and delivered to users.

View Organization
Report Insights

Deep dive into actionable insights, analytics, and intelligence delivered by Grade My Investments reports.

View Insights
Sample Reports Project

Live examples from Job #64 featuring actual report outputs including Magnificent 7 portfolio analysis.

View Samples
Machine Learning Reports

ML.NET sentiment forecasting, financial predictions, and intelligent analytics integrated into Excel reports.

View ML Reports

System Architecture

Database Schema

MySQL database design, tables, relationships, and data models.

Explore Schema
Data Access Layer

Entity Framework Core implementation, repositories, and data patterns.

View Data Layer
Azure Functions

Serverless API layer, HTTP triggers, and cloud functions architecture.

Functions Layer
System Patterns

Design patterns, architectural patterns, and best practices used.

View Patterns
Azure Architecture

Cloud infrastructure, Azure services, and deployment architecture.

View Infrastructure
Multi-Threaded Report Engine

Parallel processing, rate limiting, and high-performance report generation.

View Engine
Third-Party Integrations

Stripe payments, Twilio messaging, and FMP financial data integration.

View Integrations
Job Architecture

Report generation workflow, job processing pipeline, and status management.

View Jobs
Blob Storage Architecture

Azure Blob Storage design, file organization, and lifecycle management.

View Storage
Testable Architecture

Comprehensive testing strategy with 1,812 unit, integration, and engine tests across testability patterns.

View Testing
Macro Dashboard Architecture

A second console engine ("the lighthouse"), blob-wholesale/MySQL-sliver storage, release-aware scheduling, atomic snapshot swaps, and a calibration harness — designed, built, and frozen at v1.0 with the findings published.

View Architecture
Machine Learning Architecture

ML.NET integration, sentiment analysis models, time series forecasting, and AI-powered financial insights.

View ML Architecture

Applications

Client Web App

Blazor WebAssembly application for end-users with interactive components.

Client App
Admin Web App

Administrative interface for system management and configuration.

Admin Interface
MAUI Mobile App

Cross-platform mobile application built with .NET MAUI framework.

Mobile App

Deployment & Operations

Background Services

SMS sender, email sender, report engines, and automated system services.

View Services
CI/CD Process

Azure DevOps pipelines, automated testing, and deployment workflows.

CI/CD Pipeline
System Architecture

High-level overview of complete system architecture and data flow.

View Architecture
System Security

Security measures, authentication, authorization, and data protection.

Security Overview
Logging & System Visibility

Comprehensive logging, monitoring, and system observability infrastructure.

View Monitoring
Platform Telemetry

Real-time admin email notifications and granular activity logging across all user interactions.

View Telemetry
Infrastructure as Code

Using Pulumi with C# to define and deploy Azure infrastructure through code.

View IaC

Development

Using AI

AI integration, Claude API file analysis, machine learning models, and intelligent automation.

AI Features
Development Tools

IDEs, testing frameworks, debugging tools, and development workflow.

View Tools
Source Control Management

Trunk-based development with Azure DevOps Git, featuring master and develop branches.

View Strategy
Why Microsoft Technology

Strategic decision to build primarily on Microsoft technology, complemented by best-of-breed services.

Learn Why
Syncfusion Components

Enterprise Blazor UI components including data grids, tree views, spreadsheet viewer, and charts.

View Components
Browser Strategy

Cross-browser support across Chrome, Edge, Brave, Firefox and Safari — tested on desktop and mobile, including iOS Safari and Chrome Mobile.

View Strategy
Market Data Integration

FMP market data with a token-bucket rate limiter, exponential backoff, and dual-layer proxy caching across 13+ endpoints.

View Integration
Billing Architecture

Stripe two-pass billing on a durable run queue, with per-account auditing and failed-payment reconciliation.

View Billing
Free Tier Architecture

No-credit-card free tier at near-zero marginal cost: derived entitlements, a global grade cache, server-side enforcement, and Claude model routing.

View Free Tier
The Power of AI in the Build

A $2.5–4.5M-replacement-cost platform built by one architect and Claude Code for ~$200K — effort measured from 1,742 commits in the git history, not estimated.

See the Numbers
Eating Our Own Cooking

The founder is the first customer: GMI runs the weekly analysis behind the founder's own real portfolio — and every rough edge found with real money becomes a fix.

How We Use It
Flying the System

Seven commits, a live schema migration, and an incident diagnosed in three minutes — shipped to a running platform with no maintenance window, because every change degrades to the system it replaced.

Read the Afternoon
Plutus Integration

Feeding a sister trading lab decades of fundamentals, a free macro firehose and a recomputable regime history — with no database credential, no network peering, and a boundary that fails at compile time instead of quietly at runtime.

Read the Integration
Modular Monolith Architecture

Why 387K lines run as one codebase, one database, and one API deployment — harvesting fault isolation and independent scaling from worker processes without the microservices tax.

View Architecture
Social Card Pipeline

Every grade becomes a self-advertising image: batch-rendered marketing cards for 2,400+ tickers with cache-proof dated URLs, atomic page+card publishing, and an admin posting armory.

View Card Pipeline
Shared Reports Architecture

Tokenized public report links with server-rendered Open Graph previews, generated social cards, schema-versioned rendering, and audit-ready viewer accounting.

View Shared Reports
Data Retention & Lifecycle

Transactional mark–purge–confirm file deletion with batching across Azure and Azurite blob storage.

View Lifecycle
Secrets Management

Azure Key Vault with a custom secret manager, managed identity, and kebab–to–config mapping for 10+ secrets.

View Secrets
Technology Stack at a Glance

A single reference of every layer, framework, and version powering the platform.

View Stack
Accessibility & WCAG

Our accessibility foundation — ARIA, semantic HTML, Syncfusion WCAG support — plus an honest roadmap.

View Accessibility
Disaster Recovery

35-day backups, zone-redundant storage, self-healing services, and a clearly-scoped continuity roadmap.

View DR
Data Privacy & Compliance

GDPR data export, AES-256 encryption, PII redaction, and honest forward-looking commitments.

View Privacy
Technology Stack

Modern, scalable technology stack powering Grade My Investments' comprehensive platform.

  • .NET 10
  • Blazor Server
  • Entity Framework Core
  • MySQL Database
  • Azure Functions
  • Azure DevOps
  • ML.NET
  • Bootstrap 5
  • Stripe API
  • Twilio API
  • FMP API
  • Anthropic Claude API
Platform Stats
  • 94 Technology Pages
  • 39 .NET Projects
  • 405 API Endpoints
  • 93 Client Web Pages
  • 71 Admin Web Pages
  • 68 MAUI Mobile Views
  • 1,812 Unit, Integration & Engine Tests
  • 387K Lines of Code
  • 103 Database Tables
  • Primarily Microsoft Stack
Development Scale

Grade My Investments' 387,395 lines of C# and Razor across 39 projects represents a large-scale enterprise system. This scale would typically require 10+ developers working for 2+ years. Built solo with AI-assisted development.

How the numbers are counted: lines are every line of every tracked .cs and .razor file in the solution (comments and blank lines included, build output excluded); tests are the cases dotnet test --list-tests reports across the unit, integration and engine projects; endpoints are HTTP-triggered functions in source; tables are the entities mapped in the two EF Core contexts. Re-measured in late September 2026, after the Investor Legends, GMI's Read and Alerts builds.