- Role
- Frontend architect
- Org
- Corestrat
- Years
- 2025 — 2026
- Sector
- Multi-asset trading · Portfolio intelligence
- Outcome
- Sub-ms data fetch · Reduced clicks-to-trade
FinSight
A multi-asset trading and portfolio intelligence platform built for a Turkish brokerage — the Groww/Zerodha equivalent for the Turkish retail market.
Full-fledged trading with watchlists, news, wallets, multi-asset portfolios, and an algo-trading layer. I owned frontend architecture end-to-end: design system, real-time data layer over WebSockets, charting integration with TradingView, and execution flows tuned for sub-second responsiveness across the Turkish market session.

The Turkish retail brokerage market lacked a serious, modern equivalent to what Groww and Zerodha built for India — a single platform where retail traders could research, watch, trade, and run algorithms across asset classes without stitching together five different tools. Existing Turkish offerings either felt like dated banking portals or limited mobile-only apps. The client wanted to lead the category, not enter it as another option.
The product needed to do three things at once: feel as approachable as a fintech consumer app, behave with the reliability and density of a professional trading terminal, and stay performant during the high-volume open and close windows of the Borsa Istanbul session.
Design-system-first. Every screen was built off a single Figma source — color theory, typography, spacing, density, and dark mode — so the platform read as one product across watchlist, charting, order entry, and back-office surfaces. Accessibility (contrast, keyboard navigation, focus management) was a baseline requirement, not a polish phase.
UX before features. Trading apps fail when the user has to think about the interface during a fast market. Reduced clicks-to-trade across every flow, tuned hover and feedback states for confidence under pressure, and used motion sparingly — present where it confirms an action, absent everywhere else.
Real-time data, honestly handled. Built a WebSocket subscription layer that reference-counts channels per symbol so the same instrument open across watchlist, chart, and order ticket consumes one socket, not three. Order book and price ticks tuned to update without ever shifting the user's focus.
Charting via TradingView. Integrated TradingView's advanced charts to give traders a familiar, professional charting surface — drawing tools, indicators, multi-timeframe analysis — without rebuilding what TradingView already does best. Custom overlays handled the platform-specific data (positions, fills, algo events) on top.
Algo-trading surface. Designed the UX for the algo-trading flow as a first-class feature, not a developer escape hatch — strategy builder, backtest viewer, and live monitor are accessible without leaving the main shell.
TradingView over a custom chart engine
We had the option to build our own canvas charting layer for tighter visual control, but TradingView already solves drawing tools, indicators, and multi-timeframe analysis better than a team of any reasonable size could in a year. We integrated TradingView's advanced charts and put our effort into the things only we could build — the platform-specific overlays, position markers, and algo event annotations layered on top of it.
JavaScript over TypeScript
The team's velocity and the timeline favored JavaScript. The Redux store was strictly conventionalized through patterns and code review, and runtime validation on the WebSocket and IBKR data boundaries caught the class of issues TypeScript would have caught at compile time. Pragmatic for the stage, with a documented migration path if the codebase outgrows it.
Performance as a feature, not a polish phase
From day one, every chart load, order ticket open, and watchlist update was measured. Aggressive caching at the data layer, memoized selectors at the Redux layer, and a strict ban on layout-shifting renders during live tick updates. Result: a UI that feels stationary even when the market is not.

