Activity

Penguino

Huge update.
.
Although not in the initial roadmap for this project, I decided to create a simulated trading feature inspired by Tradingview’s paper trading which allows users to use a $100,000 balance to open positions and experiment with strategies. As part of this, I:

  • Added a ‘Trade’ tab on the /stock/{ticker} page which allows you to open/close positions
  • Created a portfolio page
  • Added a global bottom status bar & trading panel
    .
    Furthermore, I updated the lightweight charts implementation and added a Technical Indicator Menu, allowing users to toggle SMA (50/200), EMA20 and Bollinger Bands.
    .
    I also made various different styling updates.
0
Penguino

I made more significant updates, adding various new features. I made a visual Tradingview-style stock screener heatmap for all of the ASX200 Companies, aggregating all of the stocks by sector colour coded based on + gain (green if up, red if down).
.
As well as making a new Stock Screener tab, I created a Watchlist; allowing users to create favourites which appear on their own watchlist dashboard.
.
I connected the backend to Google’s Gemini 3 Flash model for my AI analysis tab, which reads the last 12 news articles (from the news tab, scraped via playwright) and the company’s financial tables to generate an investment thesis with sentiment, catalysts and risks.
.
I also built a financial model engine (DCF Valuation). The backend finds Free Cash Flow and net debt, and the frontend lets users tweak growth/discount rates to calculate an intrinsic value live.

.
PS: Sorry - I was supposed to do this Devlog yesterday but I was too tired last night, so I left it for today.

1

Comments

alarixfr
alarixfr 1 day ago

no way we have bloomberg terminal at home

Penguino

Today I made significant changes to the /stock/[ticker] page.
.
I built a custom news aggregator (new endpoint(s): /read-article and /stock{ticker}/info) from the ground-up, which uses Google News RSS & Playwright to scrape and parse data news URLs. This unfortunately took me a very long time as I was previously trying to manually scrape and sanitize the data. Luckily, I realised that there are python libaries which make this way easier; which I later employed in my implementation.
.
As well as the News tab, I also added a financials tab which shows annual income information and calculates metrics like EBITDA.
.
I also made the Search Bar functional and made some other cool UI changes.

1

Comments

D-Pod
D-Pod 2 days ago

wow, this looks awesome! the UI is really nice, and the data retrieval is very impressive.

Penguino

Progress was a bit sluggish because of constant trial & error, but I managed to:
.

  • Make the left sidebar collapsible upon trigger of a button
  • Make two new endpoints which power a new page which shows detailed information about each individual stock ticker; will extend the functionality of this new page tomorrow.
    .
    I also fixed some miscellaneous issues.
Attachment
Attachment
0
Penguino

I’ve made significant updates since the last devlog.
I did the following:
.

  • Updated the sidebar logo to be more visually appealing.
  • Added an animation for the Active sidebar highlight; it now slides up/down when you navigate between different links on the sidebar.
  • Replaced most of the placeholder elements, linking the frontend to the backend.
  • The frontend overview now shows all of the stocks which are in the database (kangaroo.db), displaying live price updates and changes in realtime.
  • It also pulls the icons for each symbol, displaying them beside each ticker symbol.
  • The market ticker price (ASX200, at the top right) now uses yf (yahoofinance) to pull and display the true value.
  • The ASX status (market close/open) at the top right is now synchronised with the backend market status api (/market-status).
    .
    I’m really happy with the way I’m progressing, more to come soon 👀
Attachment
0
Penguino

I spent time planning and designing a placeholder frontend UI (using Next & Tailwind)
I will later update this to..

  • make it look better, this looks a bit too robotic and corporate
  • add logo to the sidebar

I’ll also eventually hook it to the data and actually begin making the other pages. At the moment this isn’t functional and its only just a design concept.

I took significant inspiration from this design I found on BeHance: https://www.behance.net/gallery/234585077/Crypto-Dashboard-Modern-UIUX-Redesign

Attachment
2

Comments

D-Pod
D-Pod 5 days ago

Looks good so far! I don’t think it looks too robotic. It’s a good dark-theme UI.

Penguino
Penguino 5 days ago

thank you D-pod :)

Penguino

I made it so that the scraper stops when the market is closed (saves resources as playwright chrommium instance doesn’t need to be open)

Attachment
0
Penguino

I did extensive research on ASX data, trying to find a free API that would help me with what I need to accomplish, but I unfortunately wasn’t able to find anything that suited my needs.
.
Thus, I looked for other alternative methods. I found a website which has live data for the ASX200 (the top 200 companies on the Australian Stock Exchange). I built a webscraper using playwright which saves this data to a local Sqlalchemy db (which will later be migrated to Supabase upon deployment).
.
In total this probably took me about ~5.5 hours because of the rigorous trial-and-error to get the scraper properly working (💀), although only ~4 has been logged.

Attachment
0
Penguino

Initialised the folder structure (\backend, \frontend), and tested the yfinance data library in my venv.

Attachment
0
Penguino

I created a Logo, Banner & README.md file for my project as well as doing some planning for the direction this project is headed in 👀

Attachment
0