← Projects
Project status: Pre-launch

SCOUT

A valuation service that shows a stock's fair value as a range and a distribution, using public methodology — Damodaran-style DCF and Monte Carlo simulation. It is a pre-launch solo project, written with an AI coding agent and marked as co-authored in the commits. The project is being prepared as a business, so the source code and model parameters are private.

Role

Solo — planning, engine, backend, app, admin console

Period

2026.05 – present (solo · pre-launch)

Kotlin Spring Boot PostgreSQL Flyway Testcontainers Flutter React Next.js
SCOUT system diagram (labels in Korean): app, web and console → Spring Boot API → Kotlin engine and PostgreSQL; model inputs change only through the approval gate

SCOUT is a valuation service built on public methodology: Damodaran-style DCF and Monte Carlo simulation. It shows a stock’s fair value as a range and a distribution instead of a single number. It is a solo project and has not launched yet.

The valuation engine is a pure Kotlin module with no Spring dependency. A Spring Boot API, a Flutter app, a React operations console and a Next.js web front sit on top of it. Model inputs enter only as proposals, whatever the source (manual entry, filing ingestion, reference data, the LLM advisor), and change only if the proposal passes an approval gate. The filing-ingestion path creates an update proposal when the freshness check finds a stock behind. The LLM advisor can submit proposals to that gate but cannot change values itself.

In the app, a margin-of-safety view shows whether a price is worth acting on, and a pause prompt steps in when the user is about to chase a stock.

App screens

  1. App home. Entry points for buy review, sell review and a calm-down check, plus macro indicators (snapshot), today’s mood signal and the watchlist’s gap to fair value (masked).
  2. Stock report (PRO, simple mode). Pick a scenario on a bear-to-bull ladder. ★ marks the recommended scenario and ◎ the one nearest the reference price. The margin-of-safety chips update the entry price instantly. Per-scenario values and theses are masked.
  3. Buy review. When the price is above fair value, the app pauses the user with three self-check questions about urgency, paying above fair value and following others’ pace. Figures masked.

Operations console

The console screens run on mock data (note the MOCK badge at the top right). Stocks are replaced with 종목 A·B… (“Stock A, B…”) labels and figures are masked.

Operations console, stock workbench: P25–P75 ranges per scenario and the Monte Carlo per-share value distribution for the selected scenario (Korean UI).
Stock workbench — P25–P75 ranges per scenario and the Monte Carlo per-share value distribution for the selected scenario, with company, scenario and quant notes. Stock, figures and notes masked (mock data, Korean UI).
Data freshness: each stock is judged by the gap between the parameter's base quarter and the latest filed quarter (Korean UI).
Data freshness — each stock is judged by the gap between the parameter's base quarter and the latest filed quarter (behind by two or more quarters — proposal target, one quarter behind — warning, unknown, not collected, fresh). Ingestion status separates missing data from not-yet-loaded data (Korean UI).
Parameter gate: proposals from manual edits, automatic ingestion, the LLM advisor and reference data all pass through one queue (Korean UI).
Parameter gate — proposals from manual edits, automatic ingestion, the LLM advisor and reference data all pass through one queue. Each ends as approved and applied, rejected with a reason, auto-applied, or held for a person (Korean UI).

The source code and model parameters are private. On request, I can share the design records (ADRs) and a demo.

Not investment advice.