← All projects

Project S / Market & portfolio research

Less time gathering signals. More time understanding the decision.

Stocks, options, news, community ideas, and account exports rarely line up on their own. Project S brings them into one research workflow.

Actively evolving

A question worth building for
“Which opportunities fit my holdings—and what risks come with the income?”
Market evidencePersonal constraintsPortfolio context

Illustrative scenario

The spark

My research was scattered across too many tabs and accounts.

I wanted to move from collecting symbols and opinions to comparing evidence against my own use case: existing exposure, income goals, event risk, and the tradeoffs behind each candidate.

The research lens

The same opportunity. A different fit.

Market evidence

News, sentiment, option chains, and comparable events.

Account context

Existing holdings, short options, and dated snapshots.

Personal constraints

Income goals, concentration, and acceptable exposure.

Under the surface

From market noise to a considered shortlist.

Explore how discovery connects to portfolio context.

01 / Collect

Bring signals into a common shape.

Market data, option chains, news sentiment, and community ideas enter shared research workflows. Community discovery groups source evidence, collapses repeated plays, and excludes expired ideas from current discovery.

Decision: count evidence, not repeated mentions.

02 / Compare

Put today’s setup in context.

Historical event comparisons, earnings context, and expected moves help frame a candidate’s risks. Reasons and validation evidence remain visible alongside heuristic scores.

Decision: explain the ranking without presenting scores as probabilities.

03 / Personalize

Start with the holdings you actually have.

Reviewed CSV and TSV imports normalize positions into dated, user-scoped account snapshots. Mapping, excluded rows, and changes from a prior snapshot can be inspected before acceptance.

Decision: make portfolio input deterministic and reviewable.

04 / Assess

Connect income with exposure.

Account filters and per-ticker consolidation provide portfolio context. Strategy-aware checks support income research; they do not replace a broker’s live margin calculation. Broader cross-provider income and alternative-position analysis are the next layer.

Decision: distinguish current evidence from incomplete account information.

The hard part

An attractive idea can still be wrong for this portfolio.

Ranking a trade in isolation misses concentration, existing short options, event exposure, and differences between account snapshots. I connected research to normalized holdings so the same opportunity can be considered in the context that changes the decision.

Portfolio imports are snapshots, not live broker connections. The import flow makes unsupported or invalid positions visible. Cross-provider income planning and margin alternatives are the next part of the product I’m developing.

In practice

Discovery → evidence → portfolio context

Built for personal research. Broader income and alternatives analysis is evolving.

Python · FastAPI · Next.js · PostgreSQL · Redis