satyam
home

Trading Journal

A private journal for every trading day — calendar with per-day P&L, rich entries with chart screenshots, mistake tags, and monthly analytics. Password-protected, S3-backed.

Personal Tool
Next.js · Tailwind · Tiptap · AWS S3
Trading Journal cover

Why I built it

Every trader is told to journal; almost nobody does, because the friction is brutal — screenshots in one folder, notes in another, P&L in a spreadsheet. I wanted the post-market ritual to take five minutes: open the day, paste the charts, tag the mistakes, done. And I wanted it private — this is real money and real errors of judgment, not content.

What it does

  • Calendar-first navigation — the home view is a month grid where every trading day shows its P&L, green or red. Patterns you'd never notice in a spreadsheet jump out immediately (Mondays bleed, expiry days print).
  • Rich day entries — a Tiptap-based editor with inline chart screenshots, trade-by-trade notes, and emotional state. Images upload straight to S3.
  • Mistake tags — every losing pattern gets a named tag (early-entry, revenge-trade, oversized). The analytics view aggregates them, so the journal doesn't just record mistakes — it ranks which one is costing the most.
  • Monthly analytics — win rate, average win vs. average loss, P&L curve, tag breakdown.
  • Password-protected — single-user by design; the whole app sits behind auth.

Build notes

Next.js App Router with Tailwind, Tiptap for the editor (the interesting part was persisting editor JSON with embedded S3 image references), and S3 presigned uploads so screenshots never pass through the server.

What I learned

Building a tool you use every single day is a different discipline from building a demo — the friction you tolerate on day one becomes unbearable by day thirty, so the iteration pressure is real and constant. Half of the features exist because I personally got annoyed.