How I used AI to build screener & identified 2 amazing Micro caps
"Thanks Claude, we did great here"
I’m always interested in new technologies or inventions, and so I have been playing with ChatGPT for a while now.
But a couple months ago, a friend told me:
“Stop using ChatGPT. Try Claude Co-Work. It can do whatever you want”
Designing my own screener
Hearing about this, I had to try it for myself…
And Claude said, alright… “Let me make a disgusting looking overcomplicated view of what you have already told me… “
At this point, I had a choice. I could either go and make a cringe LinkedIn post about how “AI doesn’t know everything, so it’s useless” and buy some SaaS companies, or I could coach it a little bit, as we do as humans as well…
So I tried:
“Make it look very simple, minimalistic beautiful, Apple iOS like”
It then updated to this schematic:
That’s actually pretty comprehensive. Claude then asked if I was ready to start building this. I have zero programming skills, so I said sure let’s go!
I initially did this in Claude Co-Work, because Claude Code was asking for an API key, and I didn’t know what that is. I also didn’t know what an IDE is or what Github is, so initially I didn’t use any of those. I will get to this in a later post covering “The best way to code with AI without knowing how to code”.
Actually building the stock screener
In about 2 hours, Claude Cowork had built me a complete stock screener for the Polish stock market. A market that has taught me a lot in the past before I started working more across countries…
This was a pilot version, which would just take 5 companies I suggested and look up their financials on Yahoo Finance. Importantly, for those financials not found, it would go download and interpret the company’s filings to enrich the commercially available financials. The program would then rank the companies based on PEG multiple or other metrics.
While building this, my main commands were “OK build it” and “Look for bugs and remove the bugs”. Claude meanwhile was working very hard to get things working, and actually building about 80 python files, and a .bat file which I could double-click to start up the program.
If you have not used Claude Co-work or another Desktop AI app, this is probably a good time to try it. These tools basically work the same as AI chat windows, but do multiple iterations on the same question or task, creating much better results.
Why this worked extremely well
I noticed that, Claude Cowork is extremely effective at doing this, because
(1) Claude uses APIs. These are like a quick access doors for a program to access an app or a website. So many websites and apps have a human access point and a computer program access point. This allows the program to quickly get what it needs without figuring out where to click and so on.
(2) Claude Cowork can use Chrome. This is really amazing but Claude will actually open a browser session, go to a website, download its HTML structure and click/scroll around to figure out to get what it needs. It can then translate this into python code so your computer can look up online files whenever you want without needing tokens.
(3) Claude writes and reads files in a dedicated folder. So since Claude can write the program, run it, and follow along in Chrome or in a txt file containing the program’s steps and outputs… It can endlessly test and improve the program. As the initial intention of the program is pretty clear, testing and improving doesn’t need much direction other than “Test and improve” or “Test and check for each Ticker if the latest financials are all included”.
(4) Claude can write (python) software, and this software can actually call Claude or other AIs while it’s running. For example, for some small Polish companies, sites like Yahoo don’t really have good data. I remember reading a pitch on Eurosnack a few years ago and realizing that I would have owned this at 1 PLN if the screeners I used worked properly. But now, I could just tell Claude, if there are no good financials for the company, then just have the program look them up somehow… Claude then asked me to make an account with a developer AI provider, and give it an API key for the provider, so that it could build this into the program. The program then first asks Yahoo for financials, and if not possible, it visits the GPW website, downloads filings to a local folder, and sends the key filings to an AI that reads them. When software uses AI, it’s a bit more expensive than the gateway drug of doing it yourself, but it’s not that bad,
Limitations
After the initial excitement, came 2 weeks during which the status of my project was stuck at “99% ready, just 2 more hours fixing this bug” …
So, yes, you can build this quickly with Claude, but there are still a lot of details to work through to really make it work, for example:
How often to update the full universe of stocks to look at
How to handle earnings pre-announcements without attachment
How to handle semi-annual reporters (Singapore stocks)
How to find the periodic reports when the company’s page has >100 insider buying/selling filings flooding the system
What to do if the filing reader AI is offline when the program is running
How to handle companies with odd fiscal year ends, e.g. FY2627 starts in October 2025, how should the program know this…
Working on this, was very difficult, because Claude has a limited context window, so as the program grows, at some point, it becomes too big for Claude to fully know it.
Claude then becomes more like a team member working on part of the code, rather than building it all, and knowing it all, and keeping it consistent.
This created a situation where it kept altering the code such that when only fiscal year financials were known, it would just divide them by 4 to get quarters. This is clearly not useful as it’s much better to look up available quarters and half-year filings to enrich the data, and then piece things together to a nice quarterly view.
Even with clear specs, Claude in Cowork would often forget this intention, and just delete the quarterly data extractor and switch it to naive split by 4… Sometimes without mentioning it, leading to the database to be filled with poor data…
Results
After several days of trying, I ended up solving the limitations above in 2-3 hours by starting to work in Visual Studio, with the GitHub Co-pilot plugin, which basically creates an agent that prompts Claude many more times than Cowork does, which creates a larger context window and restores the overview needed to fix bugs, without breaking anything else.
I will write about how to do that in another post, but this basically gave me endless possibilities to improve the screener. This is what the result looks like:
On the top, we have 5 tabs:
Pipeline shows the top stocks in every country.
Search Criteria shows the criteria (Financials / sector / size / momentum … )
Deep dive opens a chat with an AI of choice reviewing specific company filings
Filings shows a newsfeed, basically the last 10-20 filings in a given country/sector
Machine room shows a dashboard on all the services/APIs/websites used to show if they are responding well or have blocked us, or are down/out of tokens etc…
When finding a stock that meets the criteria, I of course want to view the financials and the key info from the filings, and a list of the main filings to review, so I built this into the Pipeline screen:
So, here I have pretty much all I want to know before reading the annual report of the company. It shows factor scoring on top, a key summary on the outlook extracted from the latest filings, an overview of the financials, and some custom metrics like adjusted PEG ratio, last quarter’s revenue growth, 6 and 12-month based P/E ratios, and current momentum.
If the company looks interesting, I can open the financials right from the same screen:
Because of the way I have now set this up, it just shows the filings the program has already downloaded, which in the case of Helio are the (positive) profit warnings the company sent out in January and February.
Even before this info is available in Yahoo Finance, the program downloaded these filings, took out the key financials using a call to Gemini 3.1 Flash through Google AI Studio, and added them to the database.
If a company does not look interesting, I can click “Hide & Rerank”. This removes the company from the list and updates the ranking.
The overall program takes about 10 hours to run, and collects data for Poland, Singapore, Hong Kong, Australia and UK, enriching data that looks incomplete by downloading the filings and extracting financials from them. To download and extract filings, it uses the following approach to balance speed and costs:
1) Read all filing titles
2) Categorize filings (mix of keyword recognition or asking kimi k2.5 if not clear)
3) Download key filings
4) Send key filings to Gemini Flash 3.1 to quickly extract financials
5) For top ranked stocks, download and read some more filings to create the summary text
Reading each filing takes about 1 second. The machine has now read over 27500 filings, of about 40 pages each, for a total cost of ~77 Euro. That’s about 1 million pages…
Stocks found in this way
The screener saves a lot of time, and avoids missing out on great stocks like Eurosnack, or using old data for stocks like Helio, although the real alpha of course is in reading through company filings and identifying deep competitive advantages, innovations or sector turnarounds that AI cannot currently identify.
So it can find us the companies that look interesting on the surface, without providing a fully secure way to find multi baggers. Below are 2 example companies found this way, which, taking into account their competitive positioning and market dynamics are not incredible table pounders, but which certainly are interesting, and one of which I did buy a small position in. The way I like to find the truly amazing stocks is to go through a few 100s of these and then find some with unique details or catalysts setting them up for great shareholder returns. That will certainly go faster using the new tool.
Helio sa
Helio is a Polish packager/distributor of nuts and dried fruits. The company does not provide much info to investors, but does show some new (clearly more premium) products on its website, for example this 125 gr Mango package:
These products work well with Polish consumers, shifting from chips/crisps to more healthy snacks.
After having a deeper look at Helio, below is a quick summary on the company:
I know the company from before and currently don’t have a position but like to buy these at 7-8x earnings. Highlighted them on X when trading at 29PLN in October.
Chuan Holdings (1420.hk)
Chuan Holdings is a Singapore building company, and is in some ways a mix of Lincotrade (Alterations of existing buildings) and Huationg (Earthworks and dormitory revenues).
The company sent out a profit alert 2 days ago:
That’s an alert you don’t see every day: A 57 mSGD market cap company casually sharing a 133% jump in profits, now trading at exactly 3x earnings.
Taking out their > 38 mSGD in cash and financial assets, the company trades at an ex-cash P/E multiple of ~1x. The improved net income looks to be the result of both their construction segment, as well as the full 2025 year attribution of dormitory revenues and cost savings, related to their August 2024 acquisition of a 1000-worker dorm. An in-house 1000-worker dorm will save them about ~4-6 mSGD in recurring costs, compared to sending their workers to an externally managed dorm. Most profit improvement thus comes from the construction segment which is facing a strong demand environment in Singapore, enabling it to increase margins.
The revenue evolution of the past years also reflects this:
Profits have grown significantly…
driven not only by revenue growth, but also margin expansion:
The margins are higher because of a weaker dollar suppressing the cost of materials and labor, a better bidding environment and increased scale creating fixed cost leverage.
The backlog indicates that Revenue growth will clearly continue…
… as the company continues to increase its backlog, by consistently winning more work than they can deliver:
It will be interesting to see if the company can maintain its margins in the coming 1-2 years. This will be the result of the continued strong demand in Singapore pushing prices (and profits) higher, offset by a more than doubling in fuel costs, pushing margins lower.
If the company can negotiate with customers, to pass part of the fuel cost increase, in exchange for faster execution or priority or something else, then they can maintain let’s say about half of their profits, and set the stock up for a rally.
If the company cannot negotiate with customers, they will lose about all of their profits. In the current environment in Singapore that seems very unlikely.
I think the most likely outcome is that their bigger competitors (like KTC) raise prices at some point next month, and Chuan will follow in their footsteps. The COO of OKP last week didn’t really agree to that idea, so I may be tainted by my European perspective, where re-negotiation is common in these kinds of situations.
In any case, I will keep the position very small until we get more visibility. This company is one open Strait of Hormuz away from being a 2-3x.
Disclosure: No position in Helio. Long a bit of Chuan Holdings (1420)
Disclaimer: This publication’s authors are not licensed investment professionals. Nothing here is investment advice.


















Will you make your screener public at any point? Would love to try this out. Us mortals are still using tikr and trading new
Thank you floe