Join the Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.
A note before we begin: This is the 13th lesson in a 16-lesson experiment. I am doing every lesson alongside you, on the same tools, with the same constraints. Some lessons will land cleanly. Some will lead to dead ends and need rework. We’ll figure out what works, together.
If you are catching up, here’s what came before today’s lesson:
Intro: Build Your Own Investment Idea Engine
Lesson 1: How LLMs Work, and How to Defend Against Hallucinations
Lesson 2: Prompt Patterns That Outperform Casual Prompting
Lesson 3: Tools, Agents, and Structured Output
Lesson 4: SEC EDGAR, the Primary Source
Lesson 5: FRED Macro and Sector Data, the Free Read
Lesson 6: FMP API Key and the First Checked Data Pull
Lesson 7: Other Data Sources, and Idea Engine Formats
Lesson 8: Spaces, Projects, and Connectors
Lesson 9: Memory, Sub-Agents, and Parallel Research
Lesson 10: Wide Research for Screening at Scale
Lesson 11: Iterating Prompts and Structured Idea Write-Ups
Lesson 12: Claude Code, and Building Your First Useful Script
Why This Matters for Investors
In the last lesson we put a working script into a folder. Today we do two things that turn that folder into the start of an actual idea engine. We put it under version control with Git, push it to a private GitHub repository, and we add the first real screener on top of the FMP API. The two changes are not as different as they look. Version control is what lets us change the screener tomorrow without losing today’s. A private repository is what lets us keep credentials out of our screens, our screens out of our chats, and our chats out of anyone else’s hands. The screener is what we will be editing tomorrow and the day after that.
The non-coder’s instinct here is to flinch at the word Git. We are not going to learn Git. That is not what today is about. The goal is narrow: keep a private versioned record of the engine so we can change it without fear, and keep our API keys out of the repository by default. Those two outcomes are worth the thirty minutes even if we never type a Git command again on our own. Claude Code does the typing. We read the plan, we read the diff, and we approve.
The screener side of today is where the engine starts to feel like a tool we will actually use. FMP gives us fundamentals, ratios, ownership, and the screener endpoint in one place, on a free tier that is enough to complete this lesson. We are going to ask Claude Code to write a small Python script that hits the FMP stock-screener endpoint with our criteria (in the default scaffold: US-listed, market cap between five hundred million and five billion dollars, return on invested capital above fifteen percent over the trailing five years, and insider ownership above ten percent), and saves the output as a CSV in the project folder. The criteria are ours to change. The script is the part we keep.
By the end of today we will have a private repository, a clean separation between code and credentials, the EDGAR risk-factors script from yesterday committed with a plain-English message, and a first screener output we can sanity-check against the names we already know.
Let’s launch into today’s lesson.









