I built a Casablanca Stock Exchange terminal as a highschool senior
I'm a 2ème bac student in Fès, Morocco, and I want a career in finance. Following the Casablanca Stock Exchange meant jumping between slow, scattered sites, so I built the screen I wanted: SAHM Terminal, a free terminal with live charts, a sector heat map, company pages, market news and a DCF valuation tool, in French and English. Live: https://sahm-terminal.vercel.app The stack Backend: Python…
A high school senior in Morocco decided to create his own stock market terminal after facing difficulties accessing reliable data from the Casablanca Stock Exchange. He crafted a free terminal, named SAHM Terminal, which offers live charts, sector heat maps, company pages, market news, and a Discounted Cash Flow (DCF) valuation tool. This tool is designed for educational purposes and does not recommend any investments.
The terminal was built using Python and FastAPI for the backend, providing JSON data through the /api/v1 endpoint. The front end was developed using vanilla JavaScript without any frameworks, featuring a hash router and function keys (F1 to F10) for navigation. TradingView's Lightweight Charts provided historical data, while embedded market-data widgets displayed live quotes and the heat map.
To ensure data accuracy, the terminal's pipeline detects share splits and adjusts historical prices accordingly. This process maintains the integrity of original files, allowing users to verify any adjustments. A refresh script updates the terminal with new data exports. The valuation tool explicitly labels its estimates as educational, as they are based on the user's assumptions.
The project faced challenges, such as obtaining licensing information regarding historical exchange data. The author reached out to the stock exchange and is awaiting a response. Additionally, finding a free hosting solution for Python applications without a credit card required persistence, ultimately leading to Vercel's FastAPI support. Promoting the terminal and gathering user feedback was a separate task from its development.
If you are involved in the Moroccan market or data products, the author invites your input on what features could be improved. Readers can reach him at sahmterminal1@gmail.com.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.