<!DOCTYPE html>
<html>
<head>
<style>.ck-link { text-decoration: underline; }</style>
<style>.ck-link { text-decoration: underline; }</style>
<style>@media only screen { .email * { word-break: break-word; } }
@media screen and (max-width: 384px) { .mail-message-content { width: 414px !important; } }
@media only screen { .email * { word-break: break-word; } }
@media screen and (max-width: 384px) { .mail-message-content { width: 414px !important; } }
@media only screen and (max-width:600px) { .ck-mobile-font-size { font-size:50px !important; } }
@media only screen and (max-width:600px) { .ck-mobile-font-size { font-size:50px !important; } }
@media only screen and (max-width:600px) { .ck-mobile-font-size { font-size:50px !important; } }
@media only screen and (max-width:600px) { .ck-mobile-font-size { font-size:50px !important; } }</style>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body style="margin:0;padding:0;-webkit-font-smoothing:antialiased;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%">
<div id="preview-text">
<span style="display: none; max-height: 0; overflow: hidden;">
We've been talking theory. This week: how it actually works (with full source)
</span>
<span style="display: none; max-height: 0; overflow: hidden;">
͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
</span>
</div>
<div class="email" style="margin-left:18px;margin-right:18px">
<table cellpadding="0" cellspacing="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;width:100%;margin:0 auto"><tbody><tr><td style="vertical-align:top">
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">We’ve been talking a lot about what’s possible: the functionality, the theory, the engineering patterns used, but at a high level.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">This week let’s get into the weeds of how it all <em>works</em>. I’ve linked to the source of own personal assistant that I use every day down below too, so keep reading.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">I don’t know about you, but I think best when I can <em>see</em> how things work.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">So I’ve visually laid out the process of what happens when </p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">1. you talk to your custom assistant, </p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">2. your assistant talks to the LLM, and </p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">3. you get a <em>useful</em> and accurate answer.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">This is the process that happens <em>every</em> time you ask a question or provide an instruction to your assistant (using specific examples you’ll build yourself in <a href="https://click.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448/vqh3hmuoewrewofg/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9jb2hvcnRzL2J1aWxkLXlvdXItb3duLWFpLXBlcnNvbmFsLWFzc2lzdGFudC1pbi10eXBlc2NyaXB0" target="_blank" class="ck-link" rel="noopener noreferrer" style="color:#0875c1" url-id="1806415977">my new course</a>).</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Check it out, and keep reading for the play-by-play:</p>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody><tr><td align="center" style="vertical-align:top"><figure style="margin:1em 0;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:544px;width:100%"><div style="display:block"><img src="https://res.cloudinary.com/total-typescript/image/upload/c_fit,dpr_auto,e_unsharp_mask:254,f_auto,q_auto,w_563/v1763398031/aihero.dev/Personal%20Assistant/personal-assistant-agents.png" alt="personal assistant agents" width="544" height="auto" style="border:0 none;display:block;height:auto;line-height:100%;outline:none;-webkit-text-decoration:none;text-decoration:none;max-width:100%;border-radius:4px 4px 4px 4px;width:544px;height:auto;object-fit:contain"></div>
<figcaption style="margin-top:0.4em;font-size:0.8em;text-align:center;display:none"></figcaption></figure></td></tr></tbody></table>
<h4 class="" style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Phase 1: User Query</strong></h4>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Every interaction starts with your query: You type something like “<strong>schedule a team meeting for next week</strong>,” hit send, and your custom assistant prepares a request to send to the model, bundled with your chat history as context.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Next step: Your assistant sends that request to the backend, and the magic begins.</p>
<h4 class="" style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Phase 2: Memory Retrieval</strong></h4>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">When you build your own assistant, you’ll give it a memory management system that sits between you and the model you choose. You get to see and control what it learns from you: facts about you and your work, the people you know and work with, your preferences such as language and tone, and more.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">And in this step, your assistant works in tandem with your model to extract relevant info from those memories.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">It’s smart, too — if you told it you love fly fishing, it’ll remember, but it’ll also “know” that’s <em>probably</em> not relevant to scheduling a <em>team</em> meeting.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Your agent then loads up all the appropriate context for your request, to helps the model do the task you requested.</p>
<h4 class="" style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Phase 3: Exploration</strong></h4>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">This is the point where the LLM decides if it needs to go fetch more data.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">For your team meeting, calendar availability is a natural place to start. It will look to see if you’ve given it an MCP server or other tool to provide that information.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">And then it can act on what it’s found.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Let’s say your assistant knows your team’s names and emails, and everyone’s work calendars are accessible via MCP. Your assistant can automatically check everyone’s schedules to find a time that works for the most people.</p>
<h4 class="" style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Phase 4: Action Request</strong></h4>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Here’s the part where you keep your data and systems <strong>safe</strong>.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">When your assistant needs to do something that’s potentially risky or destructive — like putting a meeting in the team calendar, or removing one — it asks you to *approve *the action before it does it.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">This gives you both insight and control… <em>especially</em> useful in the early days of using your AI assistant. You learn from it while it learns from you, so you can decide how much autonomy to give it in the future.</p>
<h4 class="" style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Phase 5: Extraction & Learning</strong></h4>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Finally, your assistant summarizes its actions so it can report back to you.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">It even extracts new memories based on the lifecycle of each request. It can use those memories in the future to choose the right tools (like knowing which calendar app you use).</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">When every one of your requests goes through these 5 steps, you end up with a system that’s safe to use, learns from its successes and mistakes, and can access your data to help you.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Pretty cool, right?</p>
<h3 class="" style="font-weight:bold;font-style:normal;font-size:1em;margin:0;font-size:1.17em;margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#000000;line-height:1.5"><strong>Check out this real example of an AI assistant workflow I use every day</strong></h3>
<table width="100%" border="0" cellspacing="0" cellpadding="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;text-align:center;table-layout:fixed;float:none" class="email-image"><tbody><tr><td align="center" style="vertical-align:top"><figure style="margin:1em 0;margin-top:12px;margin-bottom:12px;margin-left:0;margin-right:0;max-width:610px;width:100%"><a style="color:#0875c1;display:block" href="https://click.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448/l2heh6ul6x76x6u6/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9wZXJzb25hbC1zb2Z0d2FyZS1pcy1pbnNhbmUtaW4tdGhlLWFnZS1vZi1haS11Mmh4Mg==" target="_blank" rel="noopener noreferrer" class="kit-image-link" url-id="1806415978"><img src="https://res.cloudinary.com/total-typescript/image/upload/c_fit,dpr_auto,e_unsharp_mask:139,f_auto,q_auto,w_600/v1763398166/aihero.dev/Personal%20Assistant/Personal_software_is_INS_2025-11-17_at_08.48.56_2x.png" alt="personal assistant video" width="610" height="auto" style="display:block;height:auto;line-height:100%;outline:none;-webkit-text-decoration:none;text-decoration:none;max-width:100%;border:0 none;border-radius:4px 4px 4px 4px;width:610px;height:auto;object-fit:contain"></a></figure></td></tr></tbody></table>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">I built a <a href="https://click.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448/dphehmue8pn8prbm/aHR0cHM6Ly9naXRodWIuY29tL21hdHRwb2NvY2svY291cnNlLXZpZGVvLW1hbmFnZXI=" target="_blank" class="ck-link" rel="noopener noreferrer" style="color:#0875c1" url-id="1806415980">custom course video management tool</a> that’s tailored <em>specifically</em> to the way I record, edit, and produce videos for all of my new courses. And of course, I’m finding that a little bit of AI assistance along the way has become a big time saver as I move from one mode to another.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">For example, check out the <a href="https://click.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448/l2heh6ul6x76x6u6/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9wZXJzb25hbC1zb2Z0d2FyZS1pcy1pbnNhbmUtaW4tdGhlLWFnZS1vZi1haS11Mmh4Mg==" target="_blank" class="ck-link" rel="noopener noreferrer" style="color:#0875c1" url-id="1806415978">quick 2 minute demo above</a> to see how my assistant (<a href="https://click.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448/dphehmue8pn8prbm/aHR0cHM6Ly9naXRodWIuY29tL21hdHRwb2NvY2svY291cnNlLXZpZGVvLW1hbmFnZXI=" target="_blank" class="ck-link" rel="noopener noreferrer" style="color:#0875c1" url-id="1806415980">full source</a>) helps me create a rough draft of the text instructions to go in the <code>README.md</code> along with each video lesson or exercise.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">And remember, I still read and edit every line it generates, but I get to skip over the “rough draft” phase and directly into the improving and polishing part. Huge time saver.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Tomorrow, we’ll talk about the flip side of all of this power… risk, the responsibility that comes with it, and how you can keep your data and systems safe from AI disasters of all sizes.</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">You don’t want to miss that one!</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">Matt</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5">P.S. time is ticking: Save 40% when you enroll in <a href="https://click.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448/vqh3hmuoewrewofg/aHR0cHM6Ly93d3cuYWloZXJvLmRldi9jb2hvcnRzL2J1aWxkLXlvdXItb3duLWFpLXBlcnNvbmFsLWFzc2lzdGFudC1pbi10eXBlc2NyaXB0" target="_blank" class="ck-link" rel="noopener noreferrer" style="color:#0875c1" url-id="1806415977">Building Your Own AI Personal Assistant in Typescript</a><strong>, but if you join before Nov 24</strong>. Join your fellow learners live on Discord & office hours December 8-12, or work at your own pace and pop in on your own schedule. Plus keep access to the videos and code forever!</p>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"></p>
</td></tr></tbody></table>
<div class="email-footer"><table cellpadding="0" cellspacing="0" style="border-collapse:separate;mso-table-lspace:0pt;mso-table-rspace:0pt;width:100%;margin:0 auto"><tbody><tr><td style="vertical-align:top">
<div><div class="email-footer" style="color:#4b4b4b">
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5;color:#4b4b4b; margin:1em 0;font-family:Arial,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;;font-size:12px;line-height:1.5;display:block;margin:13px 0;"><a href="https://click.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448/rehm5x5qf9umw6zw6kt2/aHR0cHM6Ly93d3cudG90YWx0eXBlc2NyaXB0LmNvbS91bnN1YnNjcmliZWQ_c2VxdWVuY2U9YWlfaGVybw==" trigger-id="5153768" style="color:#0875c1" url-id="1806415981">Unsubscribe from AI Hero Emails</a>. You can also <a href="https://unsubscribe.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448" style="color:#0875c1"><span style="font-size:12px">unsubscribe</span></a><span style="font-size:12px"> from all emails at any time.</span></p>
<p style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5;color:#4b4b4b; margin:1em 0;font-family:Arial,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;;line-height:1.5;display:block;margin:13px 0;"><span style="font-size:10px">12333 Sowden Rd, Ste. B, PMB #97429, Houston, TX 77080</span></p>
</div></div>
<p class="" style="margin:1em 0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Oxygen-Sans,Ubuntu,Cantarell,'Helvetica Neue',sans-serif;color:#2d2d2f;font-size:16px;line-height:1.5"></p>
</td></tr></tbody></table></div>
</div>
<!-- -->
<img src="https://open.convertkit-mail2.com/mvupxm5gwwi5hqeeqr2amhrk2w2qqb3h22448" alt="" style="border:0 none;display:block;height:auto;line-height:100%;outline:none;-webkit-text-decoration:none;text-decoration:none;max-width:100%">
</body>
</html>