<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Latticework by MOI Global: AI Bootcamp for Non-Technical Investors]]></title><description><![CDATA[Four-week "building in public" AI bootcamp for non-technical investors. 
LIVE from May 5-29, 2026 (designed for self-directed study - catch up at any time).]]></description><link>https://www.latticework.com/s/ai-bootcamp-for-non-technical-investors</link><image><url>https://substackcdn.com/image/fetch/$s_!TwSt!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F80462468-0c46-435e-a6de-e12d404745f3_1280x1280.png</url><title>Latticework by MOI Global: AI Bootcamp for Non-Technical Investors</title><link>https://www.latticework.com/s/ai-bootcamp-for-non-technical-investors</link></image><generator>Substack</generator><lastBuildDate>Fri, 19 Jun 2026 14:22:29 GMT</lastBuildDate><atom:link href="https://www.latticework.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[John Mihaljevic]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[moiglobal@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[moiglobal@substack.com]]></itunes:email><itunes:name><![CDATA[John Mihaljevic]]></itunes:name></itunes:owner><itunes:author><![CDATA[John Mihaljevic]]></itunes:author><googleplay:owner><![CDATA[moiglobal@substack.com]]></googleplay:owner><googleplay:email><![CDATA[moiglobal@substack.com]]></googleplay:email><googleplay:author><![CDATA[John Mihaljevic]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[AI Bootcamp (Lesson 16): Schedule It, Refine It, and Retrospective]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: A scheduled engine, a README file, and a three-month retrospective.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-16-schedule-it</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-16-schedule-it</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Fri, 29 May 2026 10:02:07 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198449776/899a3e69ac31537960c7f0b82323109f.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Latticework AI Bootcamp</a> and progress at your own pace. Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the last lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. I have been doing every lesson alongside you, on the same tools, with the same constraints. Some lessons have landed cleanly. Some have lead to dead ends and needed rework. We&#8217;ve figured out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8</a>: Spaces, Projects, and Connectors</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">Lesson 9</a>: Memory, Sub-Agents, and Parallel Research</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research">Lesson 10</a>: Wide Research for Screening at Scale</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts">Lesson 11</a>: Iterating Prompts and Structured Idea Write-Ups</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-12-claude-code">Lesson 12</a>: Claude Code, and Building Your First Useful Script</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-13-git-github">Lesson 13</a>: Git, GitHub, and a Real Screener on FMP</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-14-layer-on-edgar">Lesson 14</a>: Layer On EDGAR, FRED, and a Scoring Layer</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-15-engine-spec">Lesson 15</a>: Engine Spec, Narrative Layer, and End-to-End Run</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p><strong>During most of our AI bootcamp, the engine has been a thing we ran by hand. Yesterday it became a pipeline:</strong> one driver, one dated CSV, one dated Markdown deliveries file, a YAML front matter block recording the spec version, the config version, the FRED observation dates, the EDGAR user-agent string, and the FMP endpoints used. The pipeline runs cleanly when we sit at the keyboard and type the command.</p><p><strong>Today the engine stops needing us to start it. It runs on a clock. The output lands in the channel of our choice (e.g., our email inbox).</strong> The repository has a README that we can open in three months without re-deriving today&#8217;s reasoning. The first scheduled run produces an artifact we read critically, any issues get fixed in the My Analyst prompt file or the scoring config rather than in the script, and the retrospective writes down what surprised us while building and what we will change over the next three months or so. By the end of today the engine is durable enough for the future, not just usable in the present.</p><p><strong>The reason this is the right place to end the bootcamp is the same reason we have been writing things down throughout. The engine that survives the test of time is not the engine with the cleverest scoring layer. It is the engine whose owner can still explain, three months in, why each box exists and how to change it.</strong> The durability is in the spec, in the diagram, in the My Analyst prompt file, in the YAML scoring config, in the .env file, and in the README we write today. The scoring weights will move. The exclusions will sharpen. The narrative questions will mature. The infrastructure underneath, version-controlled, source-grounded, parameter-driven, is what we keep. The discipline that keeps the engine trustworthy outlives the bootcamp.</p><p><strong>There is one more reason today matters. The first lesson asked us to learn when an AI model is being merely fluent versus when it is being right. Every step since has been a small repetition of that question, applied to a different layer:</strong> defending against hallucinations, grounding every claim in a source, naming provenance, refusing to commit secrets, naming a user-agent string on every SEC.gov call, separating filter from score, requiring the narrative layer to earn the right to be investigated rather than recommend action. The retrospective at the end of today is where we read back the answer in our own voice. The verification habit is what made the engine worth running in the first place.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-16-schedule-it">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 15): Engine Spec, Narrative Layer, and End-to-End Run]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: A one-page engine spec and a narrative layer on the top three names.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-15-engine-spec</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-15-engine-spec</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Thu, 28 May 2026 11:08:24 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198448489/74d06b1ac1e0c04008e40383ad762622.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Latticework AI Bootcamp</a> and progress at your own pace. Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the 15th lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8</a>: Spaces, Projects, and Connectors</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">Lesson 9</a>: Memory, Sub-Agents, and Parallel Research</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research">Lesson 10</a>: Wide Research for Screening at Scale</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts">Lesson 11</a>: Iterating Prompts and Structured Idea Write-Ups</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-12-claude-code">Lesson 12</a>: Claude Code, and Building Your First Useful Script</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-13-git-github">Lesson 13</a>: Git, GitHub, and a Real Screener on FMP</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-14-layer-on-edgar">Lesson 14</a>: Layer On EDGAR, FRED, and a Scoring Layer</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p><strong>For the last three lessons the engine has been adding plumbing.</strong> We have a private repository, a .env file that holds the FMP key and the FRED key, a screener that hits FMP for fundamentals, an EDGAR layer that stamps every row with the most recent 10-K filing date, a FRED layer that stamps every row with five dated macro observations, a scoring config in YAML, and a composite 0-to-100 score column that ranks the names. The CSV is real and the columns audit cleanly. What we do not yet have is a written-down answer to the question, what is this thing actually trying to do for us, and how would future-us recognize when the engine is helping versus when it is just producing output. Today we write that down. </p><p><strong>The one-page specification is the lesson&#8217;s first deliverable, and it is the part of the bootcamp where the personalization becomes binding.</strong> Every member of this cohort has the same scaffolding by now. After today, every member&#8217;s engine starts diverging from every other member&#8217;s engine, because the spec encodes universe, exclusions, source hierarchy, valuation lens, quality bar, schedule, delivery channel, and the maximum number of ideas we want to see per run. A generic spec produces generic ideas. A personal spec produces ideas we recognize as the kind of ideas we are willing to spend more time on.</p><p><strong>The second deliverable is the narrative layer.</strong> The composite score sorts the CSV; the narrative layer earns the top three rows the right to be investigated. For each of the three names at the top of today&#8217;s run, we ask Claude, with the My Analyst system prompt from Lesson 2, to draft a one-paragraph qualitative take that answers four questions in our voice: why the name surfaced, what evidence in the columns supports the surfacing, what could be wrong with the surfacing, and what the next human check should be. The narrative layer does not recommend action. It earns the right to be investigated. That distinction is the entire reason we are writing it down rather than trusting our memory of the column values.</p><p><strong>By the end of today the engine produces, in a single end-to-end run, a sorted CSV with provenance columns, a one-page spec saved alongside the screener, and three short qualitative paragraphs</strong> that turn the top three rows into a triage pack we can read over coffee. Tomorrow&#8217;s lesson schedules the engine so it runs without us, writes a README so future-us can change parameters without re-deriving today&#8217;s reasoning, and runs the first retrospective on what surprised us in the first week of output.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-15-engine-spec">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 14): Layer On EDGAR, FRED, and a Scoring Layer]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: Filing freshness, dated macro, and explicit weights.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-14-layer-on-edgar</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-14-layer-on-edgar</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Wed, 27 May 2026 09:24:05 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198446104/f6729398ab8e4fe13fdd189794c9c354.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Latticework AI Bootcamp</a> and progress at your own pace. Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the 14th lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8</a>: Spaces, Projects, and Connectors</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">Lesson 9</a>: Memory, Sub-Agents, and Parallel Research</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research">Lesson 10</a>: Wide Research for Screening at Scale</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts">Lesson 11</a>: Iterating Prompts and Structured Idea Write-Ups</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-12-claude-code">Lesson 12</a>: Claude Code, and Building Your First Useful Script</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-13-git-github">Lesson 13</a>: Git, GitHub, and a Real Screener on FMP</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p><strong>In the last lesson the engine started looking like a usable tool.</strong> We have a private repository, a dot env file that holds the FMP key, a dot gitignore file that protects it, and a working FMP screener that produces a CSV of names that pass our hard criteria. </p><p><strong>Today we do three things on top of that scaffolding, and each one is a step from &#8220;screen&#8221; toward &#8220;engine we trust.&#8221;</strong> </p><ul><li><p>We add an EDGAR filing-freshness layer so the screen knows when each name last filed an annual report. </p></li><li><p>We add a FRED macro-context layer so the screen carries the dated values of the rates, inflation, and labor series we actually want in the same row as the company data. </p></li><li><p>We add a 0-to-100 scoring layer on top, with the weights living in a config file we can edit without rewriting the script.</p></li></ul><p>The non-coder&#8217;s instinct on a day like today may be to flinch at the word scoring. <strong>We are not building a quant model. We are not estimating expected returns. We are making our preferences explicit, in numbers we can audit, on a screen we can defend.</strong> The default weights are a starting point, not a recipe. The point of putting the weights into a config file is the same point as putting the API key into the dot env file: the script becomes a thing we can change without fear, because the part that changes most often is the part that is easiest to find.</p><p><strong>The filing-freshness layer is the most underrated of the three. A screen that does not know how old each name&#8217;s most recent 10-K is can quietly recommend a company whose disclosures stopped in 2024.</strong> That is not a value find. That is a name we should be running an extra audit on, not adding to the engine&#8217;s output without comment. The FRED layer is the smallest of the three but the one that earns its keep the fastest: the day the 10-year yield breaks out of the range we built our valuation assumptions around, the screen&#8217;s macro columns surface that fact in the same row as the company we are evaluating, with the observation date attached so we can audit the value against the FRED page directly.</p><p><strong>By the end of today, the CSV we wrote in the last lesson has two new columns, one new ranking column, and a tiny config file alongside the screener that names what we think a good investment idea looks like.</strong></p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-14-layer-on-edgar">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 13): Git, GitHub, and a Real Screener on FMP]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: Version control for the engine and a first FMP screener.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-13-git-github</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-13-git-github</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Tue, 26 May 2026 09:30:53 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198443808/883963e22648ad4d1c2fd862e490eb4d.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Latticework AI Bootcamp</a> and progress at your own pace. Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the 13th lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8</a>: Spaces, Projects, and Connectors</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">Lesson 9</a>: Memory, Sub-Agents, and Parallel Research</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research">Lesson 10</a>: Wide Research for Screening at Scale</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts">Lesson 11</a>: Iterating Prompts and Structured Idea Write-Ups</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-12-claude-code">Lesson 12</a>: Claude Code, and Building Your First Useful Script</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p><strong>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.</strong> The two changes are not as different as they look. Version control is what lets us change the screener tomorrow without losing today&#8217;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&#8217;s hands. The screener is what we will be editing tomorrow and the day after that.</p><p><strong>The non-coder&#8217;s instinct here is to flinch at the word Git. We are not going to learn Git. That is not what today is about.</strong> 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.</p><p><strong>The screener side of today is where the engine starts to feel like a tool we will actually use.</strong> 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.</p><p><strong>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.</strong></p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-13-git-github">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 12): Claude Code, and Building Our First Script]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: Claude Code installed and a working EDGAR risk-factors script.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-12-claude-code</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-12-claude-code</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Fri, 22 May 2026 10:12:50 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198433046/9bb1fd5bd1b58ec6ae47aad6bf0362db.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Latticework AI Bootcamp</a> and progress at your own pace. Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the twelfth lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8</a>: Spaces, Projects, and Connectors</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">Lesson 9</a>: Memory, Sub-Agents, and Parallel Research</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research">Lesson 10</a>: Wide Research for Screening at Scale</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts">Lesson 11</a>: Iterating Prompts and Structured Idea Write-Ups</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p>So far we have asked assistants to do things for us. <strong>Today we start asking an assistant to build small tools that do those things on our behalf, on our schedule, without us in the room.</strong> This matters because everything we have built to date (the Spaces, the Projects, etc.) was research scaffolding. It is excellent at one-off questions and it improves our judgment in real time. What it cannot do is run while we sleep, screen overnight, hand us a triage pack at 7 a.m., or remember last week&#8217;s pull date when it builds this morning&#8217;s. <strong>That is what the next five lessons are for, and Claude Code is the workshop where we build it.</strong></p><p>The temptation, when a non-coder opens a terminal, is to either freeze or pretend. Instead, we will walk the middle path: ask Claude Code to plan before it edits, ask it to explain every line in plain English, and refuse to keep any script we could not change later. <strong>The non-coder&#8217;s superpower is not that we suddenly write Python. It is that we know how to interrogate a thing we did not write until we trust it the same way we trust a sell-side model only after we have verified the inputs.</strong></p><p>There is one more reason to take Claude Code seriously today rather than treating it as a developer&#8217;s toy. The investment-research artifacts we care about (a screener that runs daily, a watchlist monitor that pings us only when something material changes, a wide-research pass that produces a CSV every Friday morning) are exactly the kind of small, durable tools that hand-coding makes expensive and pair-programming with an assistant makes nearly free. The cost of building the first one used to be a developer relationship. The cost now is thirty minutes, a folder, and the willingness to read every line back.</p><p><strong>By the end of today we will have Claude Code installed, a small Python script that pulls a recent 10-K from SEC EDGAR</strong> and prints the first 500 words of the risk-factors section for any ticker we choose, a line-by-line plain-English explanation of that script, and the start of a habit we will use for the rest of the bootcamp: plan first, smallest working version next, explain in English, keep only what we understand.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-12-claude-code">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 11): Iterating Prompts and Structured Write-Ups]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: A five-ticker prompt-evals pass and one reverse-DCF you would trust.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Thu, 21 May 2026 10:31:19 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198430273/72e2413db62a410ca75c3b47f8dd9510.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Latticework AI Bootcamp</a> and progress at your own pace. Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the eleventh lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8</a>: Spaces, Projects, and Connectors</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">Lesson 9</a>: Memory, Sub-Agents, and Parallel Research</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research">Lesson 10</a>: Wide Research for Screening at Scale</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p><strong>In the last lesson we ran a twenty-name wide-research triage pass</strong> under one strict schema; and the schema, not the universe, was the thing that made the table honest. <strong>Today we take that lesson one layer deeper.</strong> A prompt is not a clever sentence. A prompt is a small operating procedure that has to behave the same way on the fifth ticker as it did on the first, on a sector we know cold and on one we do not, on a name with a clean filing history and one with a recent restatement. If we do not test it deliberately, we will keep noticing failures only when they show up inside an investment decision.</p><p>There is a second reason to slow down here. <strong>Most non-technical members get into trouble in the same way:</strong> they write a prompt that produces one good output on a ticker they already understand, conclude that the prompt works, and then are surprised when the same prompt produces a polished but unsourced write-up on a name they do not know. That second output is the dangerous one. It will be fluent, it will be plausible, and it will smuggle in assumptions about discount rates, terminal margins, share counts, or filing dates that the model invented because the prompt did not forbid it. P<strong>rompt iteration is how we close that gap.</strong></p><p><strong>The other half of today is the structured idea write-up itself.</strong> Research that does not land in a comparable shape is hard to compound. If every company note has a different structure, we cannot scan across them, cannot revisit our reasoning later, and cannot tell whether our process is improving. A five-bullet house-style write-up, generated from a tested prompt, gives us that comparability without flattening the thinking. And <strong>once the write-up exists, we have earned the right to run a simple reverse DCF</strong> on one name we know well, where the discipline is to separate market-implied assumptions from our own and to refuse to let the model invent inputs.</p><p>By the end of today we will have a small prompt-evals sheet with five rows, one documented failure pattern, one targeted prompt fix, and one reverse-DCF output whose inputs we have personally checked.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 10): Wide Research for Screening at Scale]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: A 20-company wide-research triage pass with one strict schema.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Wed, 20 May 2026 11:01:27 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198426914/73654f479d0a92e20333187d336bdfc1.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Latticework AI Bootcamp</a> and progress at your own pace. Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the tenth lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8</a>: Spaces, Projects, and Connectors</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">Lesson 9</a>: Memory, Sub-Agents, and Parallel Research</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p>In the last lesson we ran five parallel sub-agents on five companies, with the same schema and the same source rule for every row. Today we widen the same pattern from five names to twenty. The shape of the work does not change. What changes is that we are no longer treating wide research as a thinking exercise on a small set of companies we already know well. We are using it as a <strong>triage layer across a small universe</strong>, the kind of universe we would not have time to read through one company at a time.</p><p><strong>A classic quantitative screen narrows the field on numbers.</strong> Twenty companies above a ROIC threshold, twenty inside a market-cap band, twenty with insider ownership over a line. <strong>That is useful, but it is also coarse.</strong> It leaves out everything we actually have to read to know whether a name is worth an hour: the recurring concerns inside the last filing, the customer concentration buried in a risk factor, the management quality signals that only show up across two or three years of letters, the ownership patterns that change how an activist or a founder is likely to behave.</p><p><strong>&#8220;Wide research&#8221; adds that qualitative layer at scale,</strong> but only if we keep it source-grounded. The reason most members get into trouble here is exactly the same reason most members get into trouble with any AI-assisted research: a smooth comparison table is not evidence. A smooth comparison table is the assistant doing what it is best at (writing fluently across many rows), in a domain where fluency is the failure mode we have been defending against since Lesson 1. So our job today is to set up the run so that the table cannot lie to us without us catching it.</p><p>There is a quieter benefit as well. <strong>The discipline of writing one schema, one source rule, and one universe definition before any names are pulled is good for our own thinking.</strong> It forces us to say out loud what we are actually looking for, and what we are willing to call &#8220;missing.&#8221; Twenty rows under a strict schema beats two hundred rows we cannot audit.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 9): Memory, Sub-Agents, and Parallel Research]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: durable memory and parallel sub-agents for a small analyst team.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Tue, 19 May 2026 09:54:55 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/197399114/bfa0b3c392549c42ba8145812a477d67.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Latticework AI Bootcamp</a> and progress at your own pace. Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the ninth lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8</a>: Spaces, Projects, and Connectors</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p>In the last lesson we built three durable rooms across Perplexity and Claude. That fixed the &#8220;blank window every morning&#8221; problem at the room level: the system prompt, the connectors, and the reference files now persist between sessions. Today we go one layer deeper. Memory is how the assistant carries durable facts about us as an investor (our style, our market-cap band, our forbidden behaviors) across every room and every thread. Sub-agents are how that same assistant runs multiple bounded research tracks in parallel, instead of taking one question at a time.</p><p>Together they change the shape of the work. A single chat is one analyst answering one question. A room with memory plus sub-agents is closer to a small research operation: a lead who already knows our preferences, two or three junior agents pulling on bounded threads at the same time, and a final hand-off back to us for the part that actually matters, which is judgment about whether the table in front of us is even answering the right question. We still own that judgment. The point of today is to make the support around it materially better.</p><p>There is a softer reason as well. As investors we accumulate small, durable preferences over years (the kinds of businesses we trust, the kinds of balance sheets we avoid, the writing voice we prefer, the geographies we read fluently). Most of that detail evaporates inside a generic chat session, so we end up restating it every time. Stored well, those preferences become a quiet compounding asset across the engine.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 8): Spaces, Projects, and Connectors]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: three durable research rooms across Perplexity and Claude.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Fri, 15 May 2026 09:31:10 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/197336811/94eff04addaf71561234c160f4b334e1.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the AI Bootcamp and progress on your own time. Simply <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the eighth lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7</a>: Other Data Sources, and Idea Engine Formats</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p>Until now we have been working in disposable chats. A question goes in, an answer comes back, the window closes, and any context we built (the system prompt, the uploaded filings, the source rules, the small examples we trained the model on) leaves with it. That is fine for one-off lookups. It is the wrong shape for an idea engine that has to run all week, every week, on the same philosophy.</p><p>Spaces and Projects are the fix. A Space inside Perplexity, and a Project inside Claude, are persistent rooms where the system prompt, the connected files, the source rules, and the previous threads stay in place between sessions. We open the room, ask the question, get an answer that is already aware of how we think, and close the room without losing anything. The room is the unit of investment work. The thread inside it is the unit of conversation. That distinction is what lets us build a research operation that does not start over every morning.</p><p>Connectors are the third leg. They are the controlled bridges between these rooms and the rest of our stack: Google Drive, Google Sheets, GitHub, calendars, sometimes email. A connector turns &#8220;find the doc I wrote about company X six months ago&#8221; from a manual hunt into a one-sentence ask. The point of today is not to connect everything. The point is to connect deliberately, with a clear purpose for each link and a list of what we will not connect yet.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 7): Other Data Sources, and Idea Engine Formats]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: a bench of free and low-cost data sources, and the three formats your engine will speak.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Thu, 14 May 2026 09:30:49 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/197317976/aea594ac2f8828261668e43991c17229.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the AI Bootcamp and progress on your own time. Simply <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the seventh lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">16-lesson experiment</a>. 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&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: FRED Macro and Sector Data, the Free Read</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6</a>: FMP API Key and the First Checked Data Pull</p></li></ul><div><hr></div><h3>Why This Matters for Investors</h3><p>The first half of today is about resilience. No investor should be one vendor away from a broken workflow, and the public web offers a surprisingly deep bench of free or low-cost data sources that fill in around EDGAR, FRED, and FMP. An API quota changes, a free tier shrinks, a website redesigns away the page we relied on, or a provider gets acquired and shifts its terms. None of these events is catastrophic on its own, but each is enough to break a workflow on a Friday afternoon. Knowing the next two or three credible places to get the same number, in roughly the same shape, is the difference between a one-hour detour and a research week lost.</p><p>Format literacy matters for a different reason. The engine we are building is a small system that hands data from one tool to another (Perplexity Computer to Claude, Claude to a Google Doc, a Google Sheet to a script). Each handoff has a preferred format. CSV is the right answer when we want to open something in a spreadsheet and sort it. JSON is the right answer when a script or an agent will read it next. Markdown is the right answer when an LLM will read it next, or when a person will.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 6): FMP API Key and the First Checked Data Pull]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: we'll register for an FMP API key, pull the financials for a ticker, and check a reported number against the company's own filing.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Wed, 13 May 2026 09:30:55 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/197314400/fa8309d589dae6eea0c97460a34a7db3.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the AI Bootcamp and progress on your own time. Simply <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the sixth lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">four-week experiment</a>. I am doing every lesson alongside you, on the same tools, with the same constraints. Some days will land cleanly. Some will lead to dead ends and need rework. We&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5</a>: Free Access to FRED Macro/Sector Data</p></li></ul><div><hr></div><p>EDGAR is the primary source. FRED is the macro backbone. <a href="https://site.financialmodelingprep.com/">Financial Modeling Prep</a> (FMP), is the practical fundamentals layer that sits in between. The point of today is not to learn an API. The point is to give our idea engine a single, predictable way to ask for income statements, balance sheets, cash flow statements, ratios, ownership, and screening results, and to verify a number we get back.</p><h3>Why This Matters for Investors</h3><p>Fundamentals, ratios, ownership, screens, ETF holdings, and analyst estimates all live somewhere. If we leave the choice to whichever website happens to surface in a chat, we end up with inconsistent numbers across companies and across days. Using one fundamentals API gives us a stable schema, a stable vendor, and a single place to check when something looks off. FMP&#8217;s free tier is sufficient for the bootcamp. Whether a <a href="https://site.financialmodelingprep.com/developer/docs/pricing">paid tier</a> earns its keep is a decision we defer until the engine is running and we can see how often we hit the limit.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 5): Free Access to FRED Macro/Sector Data]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: we'll obtain a free FRED API key and build a personal watchlist that combines a macro core with a sector layer for selected industries.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access</guid><dc:creator><![CDATA[John Mihaljevic]]></dc:creator><pubDate>Tue, 12 May 2026 10:14:55 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/197247604/e239234aa3aa6200449a8cac6a31bb2c.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>Join the AI Bootcamp and progress on your own time. Simply <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the fifth lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">four-week experiment</a>. I am doing every lesson alongside you, on the same tools, with the same constraints. Some days will land cleanly. Some will lead to dead ends and need rework. We&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4</a>: SEC EDGAR, the Primary Source</p></li></ul><div><hr></div><p>Today is not about forecasting macro variables. Economists and investors alike are bad at that, and the people who are good at it do not publish their answers. The point is to control our inputs. We want to pull the live series ourselves, know the series IDs we want to track, and stop letting stale macro numbers (or stale assumptions) sit inside our investment notes.</p><h3>Why This Matters for Investors</h3><p>Rates, employment, money supply, CPI, sector indices, sector-specific data, and the full revision history of every series we care about all live in FRED, the St. Louis Fed&#8217;s public economic database. It is free, official, and reliable. Most of us already glance at FRED charts. What we will do this week is one step better: pull the series directly into our workflow, with the IDs, the latest observation dates, and an explicit note on whether the number we are using has been revised.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 4): SEC EDGAR, the Primary Source]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: we will produce a five-bullet risk summary from one recent filing, plus a list of EDGAR searches we actually want to monitor.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the</guid><dc:creator><![CDATA[John Mihaljevic]]></dc:creator><pubDate>Fri, 08 May 2026 09:31:14 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/196750116/a1c6b84ea2d1ccbc17e9a7e9cf988d00.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>It&#8217;s not too late to participate in the AI Bootcamp! To join, <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the fourth lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">four-week experiment</a>. I am doing every lesson alongside you, on the same tools, with the same constraints. Some days will land cleanly. Some will lead to dead ends and need rework. We&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3</a>: Tools, Agents, and Structured Output</p></li></ul><div><hr></div><p>A quick note before we begin: our goal today is not to become EDGAR power users in 30 minutes. It is to build a habit. When an AI-generated statement could change an investment conclusion, we verify it against the primary filing.</p><h3>Why This Matters for Investors</h3><p>If we only learn one data source in this bootcamp, it should be EDGAR, because every U.S.-listed company&#8217;s filings live there, free, official, and close to the source of truth. The models can summarize, compare, and extract, but EDGAR is where we verify.</p><p>In addition to EDGAR basics, I&#8217;ll share some slightly advanced tips for using EDGAR, and we&#8217;ll also take a quick look at similar databases in other countries, using Japan as an example.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 3): Tools, Agents, and Structured Output]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: we will define a small idea-record JSON schema and test-drive an agentic workflow that leaves behind a clean artifact we can reuse.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents</guid><dc:creator><![CDATA[John Mihaljevic]]></dc:creator><pubDate>Thu, 07 May 2026 09:30:53 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/196626999/4d23da02afe422fff2a31432bbe83dc7.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>It&#8217;s not too late to participate in the AI Bootcamp! To join, <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the third lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">four-week experiment</a>. I am doing every lesson alongside you, on the same tools, with the same constraints. Some days will land cleanly. Some will lead to dead ends and need rework. We&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2</a>: Prompt Patterns That Outperform Casual Prompting</p></li></ul><div><hr></div><p>We are building an idea engine, so the next step is to make our workflow agent-friendly and our outputs machine-readable. This way, we can reuse them, validate them, and eventually automate them.</p><h3>Why This Matters for Investors</h3><p>When we evaluate investment ideas, we accumulate small facts and judgments: what the business does, why it surfaced, what could break the thesis, what we need to verify next. If those notes live only as free-form prose, they do not travel well. We cannot reliably sort, compare, or feed them into a sheet, dashboard, or follow-up workflow.</p><p>Agents and structured outputs are how we close that gap. An agent is simply a model that can use tools, read and write files, and show its work. Structured output is what makes the result reusable, not just readable.</p><p>Let&#8217;s launch into today&#8217;s lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 2): Prompt Patterns That Outperform Casual Prompting]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: we will produce a reusable prompt template, plus a &#8220;My Analyst&#8221; Space and matching Claude Project with our philosophy baked in.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns</guid><dc:creator><![CDATA[John Mihaljevic]]></dc:creator><pubDate>Wed, 06 May 2026 09:31:21 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/196550602/5fdc53f8bbd06ebfc0d72792f29a114b.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>It&#8217;s not too late to participate in the AI Bootcamp! To join, <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the second lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">four-week experiment</a>. I am doing every lesson alongside you, on the same tools, with the same constraints. Some days will land cleanly. Some will lead to dead ends and need rework. We&#8217;ll figure out what works, together.</em></p><p>If you are catching up, here&#8217;s what came before today&#8217;s lesson:</p><ul><li><p><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Intro</a>: Build Your Own Investment Idea Engine</p></li><li><p><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a>: How LLMs Work, and How to Defend Against Hallucinations</p></li></ul><div><hr></div><p>We are going to spend the bootcamp interacting with AI through prompts. Today is where we build the habits that keep that interaction disciplined.</p><p>The practical goal is simple: we want the same model, on the same day, to do materially better work, with fewer silent errors, just because we gave it a better job description.</p><p>Let&#8217;s launch into our second lesson.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 1): How LLMs Work, and How to Defend Against Hallucinations]]></title><description><![CDATA[A four-week joint experiment for non-technical investors. Today: Two summaries of a real filing, plus your personal &#8220;always verify&#8221; checklist.]]></description><link>https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work</guid><dc:creator><![CDATA[John Mihaljevic]]></dc:creator><pubDate>Tue, 05 May 2026 09:31:15 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/196309678/de79461fa11b8f7ac85db502bd45d548.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>If you are viewing this online and would like to participate in the AI Bootcamp, <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to MOI members and <a href="https://www.latticework.com/subscribe">paid Latticework subscribers</a>.</strong></p></div><p><em>A note before we begin: This is the first lesson in a <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">four-week experiment</a>. I am doing every lesson alongside you, on the same tools, with the same constraints. Some days will land cleanly. Some will lead to dead ends and need rework. We&#8217;ll figure out what works, together.</em></p><p>Let&#8217;s launch into our first lesson.</p><p>We start with one of the most important insights in the entire bootcamp: learning when an AI model is being <em>fluent</em> versus when it is being <em>right</em>.</p><p>Every limit or hallucination in your future idea engine traces back to how large language models (LLMs) read and write text. If we understand tokens and context windows, we avoid the most expensive mistakes. If we do not, confident-sounding fabrications about earnings, ratios, quoted language, or filing dates can quietly corrupt an investment thesis.</p>
      <p>
          <a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Introduction): Build Your Own Investment Idea Engine]]></title><description><![CDATA[A four-week joint experiment for non-technical investors]]></description><link>https://www.latticework.com/p/ai-bootcamp-build-your-own-investment</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-build-your-own-investment</guid><dc:creator><![CDATA[John Mihaljevic]]></dc:creator><pubDate>Sun, 03 May 2026 13:09:23 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/196292878/2af0132380f9bed87ace84d25f51a56f.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<div class="callout-block" data-callout="true"><p><strong>It&#8217;s not too late to participate in the AI Bootcamp! To join, <a href="https://www.latticework.com/account">opt in to the bootcamp mailing list</a> (you can <a href="https://www.latticework.com/account">opt out</a> at any time).</strong> <strong>Participation is open to members and <a href="https://www.latticework.com/subscribe">paid subscribers</a>.</strong></p></div><p>I&#8217;ve been working on an AI-powered system to help generate investment ideas in line with my own approach: value-oriented, quality-tilted, with room for special situations and small-caps. The tools available are capable, but the instructions for using them are scattered, and there isn&#8217;t much guidance aimed at investors who are sophisticated but haven&#8217;t written a line of code.</p><p>Rather than wait until I&#8217;ve worked it all out, I&#8217;d like to share the process as I go and invite interested members to learn alongside me. I will be completing every lesson on the same day you do, with the same constraints.</p><h3>Bootcamp overview</h3><p>Four weeks. Sixteen lessons, with two buffer days built in. Each lesson is about 30 minutes of focused work that ends with one tangible deliverable, plus optional &#8220;Go deeper&#8221; content (podcasts, videos, papers) for those who want to spend more time on a topic. By the last day, the goal is to have a personal investment-idea engine that runs on <em>your</em> schedule, screens with <em>your</em> criteria, and delivers ideas in <em>your</em> preferred format.</p><p>This is not a polished syllabus. Some lessons will land well. Some will lead to dead ends and require rework. We&#8217;ll iterate here on Latticework, share what&#8217;s working, and improve the curriculum in real time as we go.</p><p>Cohort starts <strong>Tuesday, May 5, 2026.</strong> Final lesson is <strong>Wednesday, May 27, 2026.</strong> Buffer/catch-up days: Monday, May 25 and Thursday, May 28.</p><h3>Why I&#8217;m doing it this way</h3><p><strong>Active investing using AI tools well is a real edge,</strong> but only for investors who learn to use them in a way that respects their own philosophy. Generic AI advice produces generic ideas. We don&#8217;t want generic ideas.</p><p><strong>The best way to learn is to build.</strong> Every lesson produces something concrete. Reader replies and Latticework comments will sharpen the curriculum as we go, so use the comment function under each daily post to ask questions and share your experiences.</p><p><strong>Bloomberg terminal not needed.</strong> The bootcamp uses two paid subscriptions (Claude and Perplexity) and (mostly) free APIs. Total cost: about $40 per month. (If you already have access to expensive data APIs, you can certainly use them.) </p><h3>What you&#8217;ll build</h3><p>Four phases:</p><p><strong>Days 1&#8211;3 &#8212; Foundations.</strong> How AI models actually think. Prompt patterns that outperform 90% of casual prompting. Setting up your stack.</p><p><strong>Days 4&#8211;7 &#8212; The data layer.</strong> Mastering EDGAR, FRED, and FMP. Where investors get clean, free, reliable data, and how to pull it on demand.</p><p><strong>Days 8&#8211;11 &#8212; Perplexity &amp; Claude as research partners.</strong> Spaces, Projects, connectors, memory, sub-agents, scheduled research, and wide screening.</p><p><strong>Days 12&#8211;16 &#8212; Build &amp; ship your idea engine.</strong> Using Claude Code (a terminal pair-programmer for non-coders) to build real screeners and analyzers in plain English. Design, build, schedule, refine.</p><p>Every lesson includes a &#8220;<strong>Make it yours</strong>&#8221; callout, i.e., how to flex the same machinery to fit your philosophy. High-ROE only? Owner-operator small caps? Special situations and spin-offs? Macro-driven cyclicals? The default examples are in the MOI tradition (value, quality, special situations), but the engine you build is yours.</p><h3>What you&#8217;ll need</h3><p><strong>Two paid subscriptions (~$40/month total):</strong></p><ul><li><p><strong>Perplexity Pro</strong> (~$20/mo): access to Computer, Spaces, connectors</p></li><li><p><strong>Claude Pro</strong> (~$20/mo): includes Claude Code in the terminal</p></li></ul><p>Both are month-to-month. If either one isn&#8217;t earning its keep in your workflow, cancel it. We&#8217;re recommending them because the free tiers don&#8217;t include Claude Code or Perplexity Computer in their full form, and we&#8217;d rather have you working with capable tools than bumping into rate limits.</p><p><strong>Optional paid API:</strong> <strong>FMP (Financial Modeling Prep)</strong> &#8212; the free tier is enough to complete every lesson, but most members will want a paid plan (~$15&#8211;30/mo depending on tier) once they&#8217;re running screeners and pulling fundamentals at scale. Same monthly-cancel logic applies.</p><p><strong>Free accounts:</strong> GitHub, FRED, SEC EDGAR (no account needed).</p><p><strong>Not required:</strong> Coding or statistics background.</p><h3>The community</h3><p>Discussion happens through Latticework comments and email replies. Most of the lasting value of any joint learning project is the people you do it with, and Latticework is where that conversation will live. </p><p>If there is sufficient &#8220;critical mass&#8221; and interest in interacting further, we may launch a &#8220;Chat&#8221; here on Substack or even on Discord.</p><h3>Privacy</h3><p>Your screeners, write-ups, and capstone outputs are <strong>private by default.</strong></p><p>The bootcamp uses a <a href="https://www.latticework.com/account">separate mailing list</a>, so participation in the bootcamp will not affect your other Latticework list subscriptions.</p><h3>How to join</h3><p>This is a Latticework subscriber benefit. </p><p><strong>If you&#8217;re already a paid subscriber,</strong> click below to join the bootcamp list (click the button, then toggle on the &#8220;AI bootcamp for non-technical investors&#8221; list). You&#8217;ll get the Day 1 post in your inbox on Tuesday, May 5.</p><p><strong>If you&#8217;re not yet a Latticework subscriber,</strong> <a href="https://www.latticework.com/subscribe">subscribe here</a> and then opt into the bootcamp list.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.latticework.com/account&quot;,&quot;text&quot;:&quot;Join the Latticework AI Bootcamp&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.latticework.com/account"><span>Join the Latticework AI Bootcamp</span></a></p><div><hr></div><p>A note on transparency: I&#8217;ll share what works and what doesn&#8217;t as I build this system alongside you. Some lessons will land cleanly; others will need revision based on what we learn. Hopefully, by the end of the month, you&#8217;ll have a working investment tool tailored to <em>your</em> philosophy.</p><p>See you Tuesday.</p><p>&#8212; John</p>]]></content:encoded></item></channel></rss>