Trade journal
Entry and exit, lots, strike, expiry, notes and tags - a contract treated as an entity, not a string pasted into a field.
An NSE F&O trading journal for Indian derivatives traders. Local-first capture, the full Indian cost stack applied to every trade, and pattern analysis over a trader's own history - never a recommendation.

Most journals report gross P&L and quietly flatter the trader. Delta computes brokerage, STT, exchange transaction charge, SEBI fee, stamp duty and GST on every position, so the number on screen is what actually landed. It writes to SQLite first and syncs after, because a trader with bad signal still needs to log the trade.
Entry and exit, lots, strike, expiry, notes and tags - a contract treated as an entity, not a string pasted into a field.
Brokerage, STT, exchange transaction charge, SEBI fee, stamp duty, and GST on the taxable slice. P&L is reported net, never gross.
All 216 NSE F&O stocks with correct lot sizes, versioned by contract month rather than hardcoded and left to rot.
Multi-book capital tracking, so separate pools stay separate and per-book performance is readable on its own terms.
Pattern analysis across the trader's own history - observational only. It will tell you Thursday expiries cost you; it will not tell you what to buy.
Every write hits local storage first and reconciles later. Full usability with no network is the baseline, not a degraded mode.
// All values in paise. Never floats for money.function charges(t) { const brokerage = brokerageFor(t) const txn = exchangeTxnCharge(t) const sebi = sebiFee(t) const gst = pct(brokerage + txn + sebi, 18) // GST on fees only return brokerage + stt(t) + txn + sebi + stampDuty(t) + gst}// Expiry + strike + type is a composite key, not a label.type ContractKey = { symbol: string expiry: ContractMonth strike: Decimal optionType: 'CE' | 'PE' | 'FUT'}// lot size is looked up per contract month - never inlinedDelta reports P&L net of the full Indian cost stack - six separate charges applied per trade - and stays fully usable offline, syncing to Supabase once signal returns. Its AI layer is deliberately observational: pattern analysis over the trader's own history, with trade recommendations ruled out by design.