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 Overviewflowchart 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;About Grade My Investments
What is Grade My Investments?
Overview of the Grade My Investments platform, features, and value proposition.
Learn MoreHistory of Grade My Investments
Development timeline, evolution, and key milestones of the platform.
View TimelineDemo Setup
How to set up and run Grade My Investments demonstrations and proof-of-concepts.
Setup GuideWhat is this Technology Website?
Purpose, audience, and content of this comprehensive technology documentation site.
About This SiteMeet the Solutions Architect
Learn about Allan Edwards, the architect who designed, built, and deployed Grade My Investments in 6 months.
Meet AllanTrust & 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 AlgorithmData 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 DataSEC 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 BuiltWhen 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 LimitsProduction 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 IncidentsThe 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 LoopLean 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 BillProduct 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 NextInvestor 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 FlowWatchlist & 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 SourcesInvestor 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 ScreensPortfolio 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 MathEarnings 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 RecipeRecurring 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 DesignPay-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 BuiltReports - 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 ArchitectureReport Generator Alpha
The original .NET Console application that processes database jobs and generates Excel/JSON reports.
View AlphaReport Output Organization
How reports are generated, organized, stored in Azure Blob Storage, and delivered to users.
View OrganizationReport Insights
Deep dive into actionable insights, analytics, and intelligence delivered by Grade My Investments reports.
View InsightsSample Reports Project
Live examples from Job #64 featuring actual report outputs including Magnificent 7 portfolio analysis.
View SamplesMachine Learning Reports
ML.NET sentiment forecasting, financial predictions, and intelligent analytics integrated into Excel reports.
View ML ReportsSystem Architecture
Data Access Layer
Entity Framework Core implementation, repositories, and data patterns.
View Data LayerAzure Functions
Serverless API layer, HTTP triggers, and cloud functions architecture.
Functions LayerAzure Architecture
Cloud infrastructure, Azure services, and deployment architecture.
View InfrastructureMulti-Threaded Report Engine
Parallel processing, rate limiting, and high-performance report generation.
View EngineThird-Party Integrations
Stripe payments, Twilio messaging, and FMP financial data integration.
View IntegrationsJob Architecture
Report generation workflow, job processing pipeline, and status management.
View JobsBlob Storage Architecture
Azure Blob Storage design, file organization, and lifecycle management.
View StorageTestable Architecture
Comprehensive testing strategy with 1,812 unit, integration, and engine tests across testability patterns.
View TestingMacro 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 ArchitectureMachine Learning Architecture
ML.NET integration, sentiment analysis models, time series forecasting, and AI-powered financial insights.
View ML ArchitectureApplications
Deployment & Operations
Background Services
SMS sender, email sender, report engines, and automated system services.
View ServicesSystem Architecture
High-level overview of complete system architecture and data flow.
View ArchitectureSystem Security
Security measures, authentication, authorization, and data protection.
Security OverviewLogging & System Visibility
Comprehensive logging, monitoring, and system observability infrastructure.
View MonitoringPlatform Telemetry
Real-time admin email notifications and granular activity logging across all user interactions.
View TelemetryInfrastructure as Code
Using Pulumi with C# to define and deploy Azure infrastructure through code.
View IaCDevelopment
Using AI
AI integration, Claude API file analysis, machine learning models, and intelligent automation.
AI FeaturesSource Control Management
Trunk-based development with Azure DevOps Git, featuring master and develop branches.
View StrategyWhy Microsoft Technology
Strategic decision to build primarily on Microsoft technology, complemented by best-of-breed services.
Learn WhySyncfusion Components
Enterprise Blazor UI components including data grids, tree views, spreadsheet viewer, and charts.
View ComponentsBrowser Strategy
Cross-browser support across Chrome, Edge, Brave, Firefox and Safari — tested on desktop and mobile, including iOS Safari and Chrome Mobile.
View StrategyMarket Data Integration
FMP market data with a token-bucket rate limiter, exponential backoff, and dual-layer proxy caching across 13+ endpoints.
View IntegrationBilling Architecture
Stripe two-pass billing on a durable run queue, with per-account auditing and failed-payment reconciliation.
View BillingFree 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 TierThe 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 NumbersEating 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 ItFlying 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 AfternoonPlutus 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 IntegrationModular 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 ArchitectureSocial 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 PipelineShared 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 ReportsData Retention & Lifecycle
Transactional mark–purge–confirm file deletion with batching across Azure and Azurite blob storage.
View LifecycleSecrets Management
Azure Key Vault with a custom secret manager, managed identity, and kebab–to–config mapping for 10+ secrets.
View SecretsTechnology Stack at a Glance
A single reference of every layer, framework, and version powering the platform.
View StackAccessibility & WCAG
Our accessibility foundation — ARIA, semantic HTML, Syncfusion WCAG support — plus an honest roadmap.
View AccessibilityDisaster Recovery
35-day backups, zone-redundant storage, self-healing services, and a clearly-scoped continuity roadmap.
View DRData Privacy & Compliance
GDPR data export, AES-256 encryption, PII redaction, and honest forward-looking commitments.
View PrivacyTechnology 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.