ChartSentinel

ChartSentinel gives traders a single terminal for market analysis. Live charts sit next to AI signal confidence, sentiment, sector heatmaps and order flow, so a trader can see the setup and the context at once. We built the web platform end to end, from the signal engines to the dashboard, and the mobile app is next.
- 01Trading terminal with live candlestick charts
- 02Signal engines for confidence, trend and risk, served through a typed API
- 03Market sentiment, sector heatmap and order flow panels
- 04Sign-in, dashboard and early-access requests
- 05A conviction score per ticker, built from six AI agents
- 06Weekly reports from templates, rendered to PDF, with an admin side to publish them
- 07Marketing site and waitlist
- 01
A redesign running on sample data
The new interface looked finished but every page was fed by placeholder data.
We built a live data layer and wired each page to the real API one at a time, then added auto-refresh so the boards update without a reload.
- 02
Sign-in failing for some visitors
Login and signup showed a network error depending on whether the visitor typed the address with or without www.
We fixed the allowed-origins handling on the server, then routed the API through the site's own address so the browser never treats it as a foreign request.
- 03
One indicator scoring every stock the same
The futures positioning signal showed an identical zero for every single stock, which dragged the combined score down.
That data does not exist for single stocks, so the engine now marks it not applicable, rebalances the remaining weights and scores positioning by percentile where it does apply.
- 04
A scan board that kept going empty
The reversal scan only looked at today's bar, so on quiet days the board had nothing on it.
The scan now surfaces recent setups as well as today's, and the strategy was recalibrated against backtests before it shipped.
- 05
Reports that could carry unsafe content
Reports are written by admins and shown to every subscriber, so anything pasted into one would run in a reader's browser.
We moved reports to structured templates and hardened the renderer so report content is always treated as text, never as code.
