<?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>Thu, 17 Sep 2026 19:13:00 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[podcasts@moiglobal.com]]></webMaster><itunes:owner><itunes:email><![CDATA[podcasts@moiglobal.com]]></itunes:email><itunes:name><![CDATA[John Mihaljevic]]></itunes:name></itunes:owner><itunes:author><![CDATA[John Mihaljevic]]></itunes:author><googleplay:owner><![CDATA[podcasts@moiglobal.com]]></googleplay:owner><googleplay:email><![CDATA[podcasts@moiglobal.com]]></googleplay:email><googleplay:author><![CDATA[John Mihaljevic]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[AI Bootcamp for Non-Technical Investors: Build Your Own Investment Idea Engine]]></title><description><![CDATA[A self-paced, 16-lesson series for value investors who want to use AI well, on their own terms.]]></description><link>https://www.latticework.com/p/ai-bootcamp-for-non-technical-investors</link><guid isPermaLink="false">https://www.latticework.com/p/ai-bootcamp-for-non-technical-investors</guid><dc:creator><![CDATA[MOI Global Equity Research]]></dc:creator><pubDate>Sat, 27 Jun 2026 14:09:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/6555b323-3ec6-4169-bf06-7e87cada28c6_1280x720.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>The AI Bootcamp for Non-Technical Investors originally ran in May 2026 as a four-week &#8220;building in public&#8221; experiment. It has since been updated and turned into a 16-lesson self-paced course that you can start today (keep reading below). Last update: June 28, 2026.</em></p><p><em>The original AI Bootcamp launch video follows:</em></p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;8a14aae8-5500-43d9-bd6a-40ed42c74052&quot;,&quot;duration&quot;:null}"></div><div><hr></div><p><strong>Active investing using AI tools well is a real edge, but only for investors who learn to use them in a way that respects their own philosophy.</strong> Generic AI outputs are not enough. Pasted into a research process, they are at best a distraction and at worst a quiet source of error.</p><p><strong>The AI Bootcamp for Non-Technical Investors is a 16-lesson series, plus an introduction, that walks you through building your own AI-powered investment idea engine.</strong> No coding background is required. No statistics background is required. The only prerequisites are a working investment philosophy, the patience to verify what the machine tells you, and roughly 30 minutes per lesson.</p><p>The bootcamp originally ran as a four-week cohort in May 2026. Everything is now published and available for you to work through at your own pace.</p><h3>What you will actually build</h3><p>By the end of the series, you will have, on your own machine and in your own accounts:</p><ul><li><p><strong>A &#8220;My Analyst&#8221; workspace in both Perplexity and Claude,</strong> with a system prompt that encodes your investing philosophy, your &#8220;never do this&#8221; rules, and your tone.</p></li><li><p><strong>A small library of reusable prompt templates</strong> and a personal &#8220;always verify&#8221; checklist that sits between any AI output and a buy, sell, or pass decision.</p></li><li><p><strong>A working data layer</strong> built on three free or low-cost backbones: SEC EDGAR for primary filings, FRED for macro and sector data, and a data service for fundamentals &#8212; with a bench of free fallbacks behind them.</p></li><li><p><strong>An idea-record JSON schema and a wide-research workflow</strong> that lets you triage 20 companies in an afternoon.</p></li><li><p><strong>A real Python screener,</strong> version-controlled in Git and GitHub, that pulls from a data service, layers on EDGAR filing freshness and FRED macro context, scores survivors against weights you wrote down, and produces a narrative triage pack on the top three names.</p></li><li><p><strong>A scheduled, automated end-to-end run</strong> of that engine, delivered to a channel you choose, with a README and a three-month retrospective that hold future-you accountable.</p></li></ul><p>You will end the bootcamp with a working system you understand line by line, not a black box.</p><h3>Who this is for</h3><ul><li><p>Value investors who want AI in their workflow without surrendering judgment.</p></li><li><p>Non-technical investors who have been put off by tutorials written for engineers.</p></li><li><p>MOI members and Latticework subscribers who already have a philosophy and want a faster, more disciplined research loop around it.</p></li></ul><p>If you can read a 10-K and you can follow a recipe, you can complete this bootcamp.</p><h3>What you will need</h3><ul><li><p>Perplexity Pro (~$20/month).</p></li><li><p>Claude Pro (~$20/month).</p></li><li><p>A data service, optional but recommended (varied cost).</p></li><li><p>Free accounts at GitHub, FRED, and SEC EDGAR.</p></li></ul><p>That is the full stack. No Bloomberg terminal, no FactSet seat, no engineering team.</p><h3>How the bootcamp is structured</h3><p>The 16 lessons are organized in four phases. Each lesson takes roughly 30 minutes and produces a concrete artifact you keep.</p><h4>Phase 1: Foundations (Lessons 1&#8211;3)</h4><p>How AI models actually think, the prompt patterns that outperform casual prompting, and the agentic workflows that leave behind clean, reusable artifacts.</p><ul><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Introduction: Build Your Own Investment Idea Engine</a></strong> &#8212; The framing post. Why this series exists, who it is for, what you will build, and how to use it.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1: How LLMs Work, and How to Defend Against Hallucinations</a></strong> &#8212; LLMs are fluent first, accurate second. The four defenses against hallucination, two hands-on tests against a real 10-Q, and your personal &#8220;always verify&#8221; checklist.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-2-prompt-patterns">Lesson 2: Prompt Patterns That Outperform Casual Prompting</a></strong> &#8212; The five-element prompt template (Role, Task, Context, Constraints, Format), a reusable Buffett-style quality screen, and a &#8220;My Analyst&#8221; Space and Project with your philosophy baked in.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-3-tools-agents">Lesson 3: Tools, Agents, and Structured Output</a></strong> &#8212; Three tiers of output reliability and a small idea-record JSON schema that will accumulate over the four weeks as a library of comparable records, not a pile of notes.</p></li></ul><h4>Phase 2: The data layer (Lessons 4&#8211;7)</h4><p>Where investors get clean, free, reliable data, and how to pull it into the engine.</p><ul><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-4-sec-edgar-the">Lesson 4: SEC EDGAR, the Primary Source</a></strong> &#8212; Filing types, the EDGAR API, full-text search operators, a five-bullet risk summary from a real 10-K, and a personal list of EDGAR searches worth monitoring.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-5-free-access">Lesson 5: Free Access to FRED Macro/Sector Data</a></strong> &#8212; A free FRED API key, a 10-series macro core (rates, inflation, labor, credit, money, production), and a sector layer for the industries you actually follow.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-6-fmp-api-key">Lesson 6: Data API Key and the First Checked Data Pull</a></strong> &#8212; Registering for a data service, pulling the three statements and key metrics for one ticker, and verifying one number against the company&#8217;s own filing on EDGAR.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-7-other-data-sources">Lesson 7: Other Data Sources, and Idea Engine Formats</a></strong> &#8212; A bench of free and low-cost fallbacks (Stock Analysis, Fiscal.ai, Koyfin, OpenInsider, WhaleWisdom, others) and the three formats the engine will speak: CSV, JSON, and Markdown.</p></li></ul><h4>Phase 3: Perplexity and Claude as research partners (Lessons 8&#8211;11)</h4><p>Spaces, Projects, connectors, memory, sub-agents, and screening at scale.</p><ul><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-8-spaces-projects">Lesson 8: Spaces, Projects, and Connectors</a></strong> &#8212; Three durable research rooms (Watchlist Monitor, Quick Ideas, Deep Dive Workshop) across Perplexity and Claude, with connectors to Drive, Sheets, and GitHub. One room, one job.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-9-memory-sub-agents">Lesson 9: Memory, Sub-Agents, and Parallel Research</a></strong> &#8212; A memory audit, durable preferences vs. task instructions, and five sub-agents researching five companies along five dimensions in parallel &#8212; merged by you.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-10-wide-research">Lesson 10: Wide Research for Screening at Scale</a></strong> &#8212; Qualitative triage across 20 companies with one strict 11-column schema. Five sample universes, from quality compounders to recent spin-offs to distressed equity.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-11-iterating-prompts">Lesson 11: Iterating Prompts and Structured Write-Ups</a></strong> &#8212; A prompt-evals sheet (five rows, three scores, one failure mode, one fix) and a reverse-DCF prompt you would actually trust.</p></li></ul><h4>Phase 4: Build and ship your engine (Lessons 12&#8211;16)</h4><p>Claude Code as a terminal pair-programmer for non-coders, Git and GitHub as editable memory, and the screener, scoring, narrative, and schedule that make the whole thing real.</p><ul><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-12-claude-code">Lesson 12: Claude Code, and Building Our First Script</a></strong> &#8212; Installing Claude Code, working in Plan Mode, and writing a Python script that pulls the risk-factors section from a 10-K for any ticker. Every line explained in plain English before it runs.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-13-git-github">Lesson 13: Git, GitHub, and a Stock Screener</a></strong> &#8212; Version control as editable memory, a private GitHub repository, API keys stored safely in a .env file, and a first real screener against a stock screener endpoint.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-14-layer-on-edgar">Lesson 14: Layer On EDGAR, FRED, and a Scoring Layer</a></strong> &#8212; Filing freshness from EDGAR, dated macro context from FRED, and a 0-to-100 scoring layer whose weights live in a YAML config file you can edit without touching the script.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-15-engine-spec">Lesson 15: Engine Spec, Narrative Layer, and End-to-End Run</a></strong> &#8212; A one-page engine spec (nine questions the code cannot answer for itself), the five-box architecture (Data In &#8594; Filter &#8594; Score &#8594; Narrate &#8594; Deliver), and a narrative triage pack on the top three names.</p></li><li><p><strong><a href="https://www.latticework.com/p/ai-bootcamp-lesson-16-schedule-it">Lesson 16: Schedule It, Refine It, and Retrospective</a></strong> &#8212; Scheduling the engine (GitHub Actions, Perplexity scheduled tasks, APScheduler, or local cron), choosing a delivery channel, a README for future-you, and a one-page three-month retrospective that holds you to your verification standard.</p></li></ul><h3>How to use the series</h3><p><strong>You do not have to do this in four weeks. You can do it in eight, or in four weekends, or one lesson per Sunday morning over a season.</strong> The lessons build on each other, so the order matters. Each lesson produces a concrete artifact you keep, so you can stop and start without losing your place.</p><p>A few suggestions:</p><ul><li><p><strong>Treat the artifacts as the deliverables,</strong> not the reading. The point of Lesson 2 is your &#8220;My Analyst&#8221; Space, not the post itself.</p></li><li><p><strong>Verify before you trust.</strong> The &#8220;always verify&#8221; checklist from Lesson 1 is the through-line of the entire bootcamp.</p></li><li><p><strong>Skip the coding lessons at your peril.</strong> Lessons 12 through 16 are where the engine becomes yours rather than a rented chatbot. Plan Mode in Claude Code is gentle on non-coders, and the lessons are designed for someone who has never opened a terminal.</p></li></ul><h3>Access</h3><p>The Introduction and each lesson are partially accessible to everyone. Full access to the lessons, including all prompts, schemas, scripts, and walkthroughs, is included with a paid Latticework subscription or MOI membership.</p><p><strong>Start with the <a href="https://www.latticework.com/p/ai-bootcamp-build-your-own-investment">Introduction</a>,</strong> then work through the lessons in order. The engine you finish with is yours.</p>]]></content:encoded></item><item><title><![CDATA[AI Bootcamp (Lesson 16): Schedule It, Refine It, and Retrospective]]></title><description><![CDATA[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 is what came before this 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>: Data 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 Stock Screener</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. In the last lesson 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 data API 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 is what came before this 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>: Data 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 Stock Screener</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 data service API key and the FRED key, a screener that hits a data service 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 participant 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. The next 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 is what came before this 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>: Data 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 Stock Screener</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 data service API key, a dot gitignore file that protects it, and a working stock 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 Stock Screener]]></title><description><![CDATA[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: Version control for the engine and a first stock 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 is what came before this 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>: Data API 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 a data API.</strong> The two changes are not as different as they look. Version control is what lets us change the screener in a later lesson 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 in the next two lessons.</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> A data service 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 stock-screener API 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 the previous lesson 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 is what came before this 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>: Data 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 is what came before this 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>: Data 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 is what came before this 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>: Data 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 is what came before this 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>: Data 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</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 is what came before this 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>: Data 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</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 is what came before this 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>: Data 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 a data service. 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): Data API Key and the First Checked Data Pull]]></title><description><![CDATA[Part of the Latticework AI Bootcamp for non-technical investors. Today we'll register for a data API key, pull the financials for a ticker, and check a reported number against the company's 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 Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</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">16-lesson self-paced course</a>. I did every lesson on the same tools, with the same constraints, that you will use. Some lessons will land cleanly. Some will lead to dead ends and need rework.</em></p><p>If you are catching up, here is what came before this 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 financial data service 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.</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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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 Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</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">16-lesson self-paced course</a>. I did every lesson on the same tools, with the same constraints, that you will use. Some lessons will land cleanly. Some will lead to dead ends and need rework.</em></p><p>If you are catching up, here is what came before this 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 in this lesson 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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>Join the Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</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">16-lesson self-paced course</a>. I did every lesson on the same tools, with the same constraints, that you will use. Some lessons will land cleanly. Some will lead to dead ends and need rework.</em></p><p>If you are catching up, here is what came before this 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: 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>Join the Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</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">16-lesson self-paced course</a>. I did every lesson on the same tools, with the same constraints, that you will use. Some lessons will land cleanly. Some will lead to dead ends and need rework.</em></p><p>If you are catching up, here is what came before this 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: we will produce a reusable prompt template, plus a "My Analyst" 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>Join the Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</strong></p></div><p><em>A note before we begin: This is the second lesson in a 16-lesson self-paced course. I did every lesson on the same tools, with the same constraints, that you will use. Some lessons will land cleanly. Some will lead to dead ends and need rework.</em></p><p>If you are catching up, here&#8217;s what came before this 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, in the same session, to do materially better work, with fewer silent errors, just because we gave it a better job description.</p><p>Let us launch into the 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[Part of the Latticework AI Bootcamp for non-technical investors. In this lesson: Two summaries of a real filing, plus your personal "always verify" 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>Join the Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</strong></p></div><p><em>A note before we begin: This is the first lesson in a 16-lesson self-paced course. I did every lesson on the same tools, with the same constraints, that you will use. Some lessons will land cleanly. Some will lead to dead ends and need rework.</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 16-lesson self-paced course 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>Join the Latticework AI Bootcamp and progress at your own pace. Participation is open to members and paid subscribers.</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 had worked it all out, I shared the process as I went and invited interested members to learn alongside me. I completed every lesson on the same tools, with the same constraints, that you will use.</p><h3>Bootcamp overview</h3><p>Sixteen lessons, designed to be completed at your own pace. 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 final lesson, the goal is to have a personal investment-idea engine that runs on your schedule, screens with your criteria, and delivers ideas in your 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><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>Lessons 1 to 3, Foundations. How AI models actually think. Prompt patterns that outperform 90% of casual prompting. Setting up your stack.</strong></p><p><strong>Lessons 4 to 7, The data layer. Mastering EDGAR, FRED, and a data service. Where investors get clean, free, reliable data, and how to pull it on demand.</strong></p><p><strong>Lessons 8 to 11, Perplexity and Claude as research partners. Spaces, Projects, connectors, memory, sub-agents, scheduled research, and wide screening.</strong></p><p><strong>Lessons 12 to 16, Build and ship your idea engine. Using Claude Code (a terminal pair-programmer for non-coders) to build real screeners and analyzers in plain English. Design, build, schedule, refine.</strong></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> A financial data service.</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 lives.</p><h3>Privacy</h3><p>Your screeners, write-ups, and capstone outputs are <strong>private by default.</strong></p><h3>How to join</h3><p>This is a Latticework subscriber benefit. </p><p><strong>If you are already a paid Latticework subscriber, you can begin with <a href="https://www.latticework.com/p/ai-bootcamp-lesson-1-how-llms-work">Lesson 1</a> immediately. If you are not yet a subscriber, you can subscribe here and then start the course.</strong></p><div><hr></div><p>A note on transparency: I share what worked and what didn&#8217;t as I built this system. Some lessons land cleanly; others required revision based on what we learned. By the end of the 16 lessons, you can have a working investment tool tailored to your philosophy.</p><p>See you in Lesson 1.</p><p>&#8212; John</p>]]></content:encoded></item></channel></rss>