PlainStock
Understand your stocks, not just track them.
Live data, AI generated analysis, and peer comparisons turned into plain language reports you can read in seconds.
Role
Solo designer and builder. Product, interface, backend, database, API integrations, and the prompt engineering behind every report.
The only project here that is public and live. Everything else on this site is client work under NDA.
A tool for reading one stock in plain language, designed and built end to end, and the only project here you can open and use right now.
Part 01: The problem
More consumption than comprehension
I use Fidelity to manage my portfolio, but getting a clear picture of one stock takes multiple tabs, pages, and clicks. Every session felt like more consumption than comprehension.
- Role
- Solo designer and builder
- Design and build
- Claude, Antigravity, Google Stitch, Figma
- APIs and infrastructure
- Gemini API, Finnhub, Polygon, Supabase, Vercel
- Status
- Built for personal use, now shared with others
Part 02: The product
Live data, AI reports, and peer analysis in a single view
PlainStock offers a complete read on your portfolio without leaving the page. Each stock shows real time price movement across three timeframes, with one click access to an AI generated report and peer comparison.
Dashboard
The main view pulls live market indices and stock performance into one sortable table. Stocks can be added, removed, or moved to a future prospects watchlist.
AI Brief panel
Each AI Brief synthesizes the stock's current position, recent movement, and analyst signals into a plain language report.
Part 03: The approach
A system designed before it was built
I mapped every data source, API dependency, caching layer, and security requirement before anything got built. Every build decision traced back to a product decision.
- Decision
A table, not a dashboard of charts
Scanning across stocks and timeframes is the core behavior, so the main view is a sortable table rather than a wall of visualizations.
- Decision
Plain language, not charts
Charts require a level of financial literacy the person this was built for does not need to have.
- Decision
Owned stocks separated from prospects
Monitoring something you hold and evaluating something you might buy are two different mindsets, so they are two different lists.
I used Claude, Antigravity, and Google Stitch to build across domains I don't own: backend infrastructure, database architecture, API integrations, and AI prompt engineering.
Part 04: Trust
Trust was the hardest thing to build
This project started as a personal tool to simplify how I check my stocks. It grew into a fully shipped product with live data, AI generated reports, peer analysis, and multi-user support.
Pivotal moment
An AI report you can't rely on is worse than none
The AI Brief went through roughly 13 versions. Better prompts alone did not fix it. I defined a quality rubric, scored against it, and engineered toward that standard.
The output rambled, hallucinated sources, dropped sections, and changed tone between runs. Better prompts alone did not fix it. I defined a quality rubric, scored one report against it until it met the bar, then made that the standard every report generated after it had to match.
Early reports cited junk sources, so I added explicit blocking rules and Google Search grounding to keep citations credible.
Then a second failure, and a quieter one. Early builds regenerated the report on every page load, so users saw different content each visit with no explanation. I switched to a fetch once model with manual refresh, caching reports until the user explicitly asks for a new one. That one change restored trust in the output.
A tool I built because I wanted it to exist, and kept working on until I trusted what it told me.