[{"content":" I Spent a Day at AgentCon Raleigh and My Brain Hasn\u0026rsquo;t Stopped Since # May 6, 2026 · Durham, NC · AgentCon World Tour\nI drove to the NC Biotech Center in Durham for AgentCon Raleigh — part of the Global AI Community\u0026rsquo;s worldwide AI Agents World Tour — and I\u0026rsquo;m still processing everything I heard. Seven sessions, one full day, and somewhere around four pages of notes scrawled in the margins of my notebook. Here\u0026rsquo;s what stood out.\nWhat Made the Day Worth the Drive # 🎙 Deep-dive talks Speakers sharing battle-tested patterns — not polished marketing, but real architectural decisions and tradeoffs from people actively shipping agents.\n🛠 Technical workshops Hands-on sessions covering building, deploying, and scaling agents — with time to actually use the tooling.\n⚡ Live demos Open-source frameworks demo'd live, with presenters walking through code in real time. The kind of thing that actually sticks.\n🌐 Global community Builders from across the Triangle and beyond — a reminder that the Raleigh-Durham area is loaded with AI development talent.\nKeynote: So You\u0026rsquo;re An Agent Boss Now — April Dunnam # April kicked off the day with a keynote that I suspect was specifically designed to make everyone feel excited. Her framing was sharp: generative AI was the warmup, agents were the main event.\nThe distinction she drew is one I keep coming back to. Generative AI waits for your prompt. Agents perceive, plan, and act — sometimes across dozens of steps, across multiple systems, without you touching a thing. That\u0026rsquo;s not an upgrade. That\u0026rsquo;s a different relationship between humans and software entirely.\nShe walked through where the agentic stack actually lives today — Azure AI Foundry, Semantic Kernel, AutoGen, MCP, low-code tooling — and made the case that what we need now isn\u0026rsquo;t just builders, it\u0026rsquo;s people who can lead agents. Give them direction. Supply the judgment. Recognize when something\u0026rsquo;s going sideways before it\u0026rsquo;s gone too far sideways to fix.\nThe \u0026ldquo;AgentBoss\u0026rdquo; framing stuck with me. It\u0026rsquo;s a little cheeky but it\u0026rsquo;s also accurate. The tools exist. The question is whether the humans running them are ready to lead.\nAgentic Coding Harnesses from Nothing — James Nugent # This was the session I was most excited about coming in and it did not disappoint. James took the \u0026ldquo;let\u0026rsquo;s demystify this\u0026rdquo; approach and actually built an agentic coding harness from scratch in Go — running against a model on his laptop, live, in the room.\nTools like Claude Code, Codex, and Copilot can feel like black boxes. James pulled back the curtain and showed what\u0026rsquo;s actually happening underneath. Turns out it\u0026rsquo;s not magic — it\u0026rsquo;s a loop you can understand, reason about, and build yourself.\nWhat I took away: even if you never ship your own harness, building one (or at least watching someone build one) fundamentally changes how you use the big-name tools. You stop guessing and start reasoning. That\u0026rsquo;s worth a 45-minute session any day.\nStop Fighting Your Framework: Ship Agents with Open Source — Jonathan Vogel # Jonathan opened with something I\u0026rsquo;ve definitely experienced: \u0026ldquo;Most AI agent demos work once.\u0026rdquo; Then requirements change, you need to swap a model, add a tool, debug a decision path — and suddenly you\u0026rsquo;re wrestling with the framework instead of building your product.\nHis answer is Strands Agents, the open-source SDK Amazon teams used internally to compress their agent shipping timelines from months to weeks. The core idea is a model-driven agentic loop — reason, act, reflect — that\u0026rsquo;s simple enough to get started quickly but extensible enough to survive real traffic, real edge cases, and real users.\nHe live-coded an agent from scratch during the session, added tools, and narrated every step of what was happening. By the end I had a much clearer mental model for how production agents should be structured. The \u0026ldquo;stop fighting your framework\u0026rdquo; message is something I want to paste above my desk.\nBrownfield vs. Greenfield AI: Same Tools, Different Playbooks — Chris Perrin # Chris might have delivered the most immediately applicable session of the day. His setup: he builds solo greenfield products at night and leads enterprise brownfield engineering teams by day. That dual perspective made this talk genuinely different.\nGreenfield software development refers to developing a system for a totally new environment and requires development from a clean slate – no legacy code around. It is an approach used when you’re starting fresh and with no restrictions or dependencies.\nBrownfield software development refers to the development and deployment of a new software system in the presence of existing or legacy software systems. Brownfield application development usually happens when you want to develop or improve upon an existing application, and compels you to work with previously created code.\nThe big insight is one most teams discover the hard way — the wrong playbook can cost you a sprint. Prompting an AI to generate code for a legacy codebase the same way you\u0026rsquo;d prompt it for a greenfield project is a recipe for \u0026ldquo;local correctness, global incompatibility.\u0026rdquo; The code looks fine. The system breaks.\nHe walked us through side-by-side prompting, the concept of \u0026ldquo;context debt\u0026rdquo; (surfacing the implicit decisions baked into an old codebase before the AI unknowingly overwrites them), and a review checklist for catching brownfield failure modes before they ship.\nI work in both contexts regularly and I\u0026rsquo;m already thinking about how to adapt my prompting discipline based on what Chris laid out.\nFrom Monolith to Microservices: AI to Accelerate Decomposition \u0026amp; Team Learning — Sunil Mishra # Sunil tackled one of the most daunting things in enterprise engineering: getting out of the monolith. The organizational reality he described felt very familiar — large, complex legacy applications that are hard to scale, teams that lack the time and documentation to do a migration safely, and a transformation process that traditionally eats months of expert attention.\nHis session showed how AI-powered tools can change the calculus: analyzing legacy codebases, identifying hidden dependencies, surfacing natural service boundaries, and essentially acting as an interactive guide that explains code paths and summarizes business logic on demand.\nThe part that resonated most was the \u0026ldquo;team learning\u0026rdquo; angle. It\u0026rsquo;s not just about moving faster. It\u0026rsquo;s about reducing the grip of tribal knowledge — the one senior engineer who holds the mental map of why things are the way they are. AI as a tool for democratizing that understanding is a use case I hadn\u0026rsquo;t fully appreciated before this session.\nBuilding a Controlled Agentic SDLC — Chris Condron # Chris shared something rare: a real war story. His talk covered PowerModels\u0026rsquo; journey from cautiously adopting AI in their development pipeline all the way to running a fully controlled agentic SDLC — for an application with strict correctness requirements. That last part is the key detail that made this session so interesting.\nIt\u0026rsquo;s easy to use agents in low-stakes contexts. Using them where the output genuinely cannot be wrong is a different problem. Chris walked through how they started, how the system grew, the challenges they ran into, and — critically — the mind-shifts the team had to make to succeed.\nHe also demoed the actual agentic flow they run in production today: the approach, the steps, the tools they built. It\u0026rsquo;s one of the best examples I\u0026rsquo;ve seen of agentic development taken seriously as an engineering discipline, not just a productivity shortcut.\nCopilot Studio to Azure AI Foundry: A Framework for Knowing When — and How — to Scale — Abhijeet Jadhav # Abhijeet closed out the day with something that felt almost like a palate cleanser: clarity. His session tackled a question a lot of enterprise teams are quietly grappling with — when do you outgrow Copilot Studio and move to Azure AI Foundry?\nHe built a practical, demo-driven framework around five platform graduation signals, a scoring matrix you can apply to your current project right now, three architecture transition patterns that protect existing investments, and a cost crossover analysis between Copilot Credits and Azure consumption.\nI don\u0026rsquo;t always love sessions that feel like vendor guidance, but this one earned its runtime by being genuinely tool-agnostic about the decision framework itself. The question of when to scale isn\u0026rsquo;t a Microsoft question — it\u0026rsquo;s an engineering judgment question, and Abhijeet gave us a principled way to answer it.\nThe Day in a Sentence # If I had to distill everything down: agents aren\u0026rsquo;t coming — they\u0026rsquo;re here, the tooling is maturing fast, and the competitive advantage is now going to the people who have judgment about when and how to deploy them, not just the ability to get them working once.\nAgentCon Raleigh was exactly the kind of day I needed. Dense, technical, practical, and full of people who are actually shipping this stuff. If the World Tour comes anywhere near you, go.\nAgentCon Raleigh was organized by Global AI Raleigh and made possible by Microsoft, KCDC, and All Things AI. The AgentCon World Tour runs globally — find the next stop at agentcon.dev.\n","date":"7 May 2026","externalUrl":null,"permalink":"/blog/posts/agentconrtp/","section":"Posts","summary":"Lessons learned from attending AgentCon-Raleigh","title":"AgentCon Raleigh","type":"posts"},{"content":"","date":"7 May 2026","externalUrl":null,"permalink":"/blog/tags/ai/","section":"Tags","summary":"","title":"AI","type":"tags"},{"content":"","date":"7 May 2026","externalUrl":null,"permalink":"/blog/tags/learning/","section":"Tags","summary":"","title":"Learning","type":"tags"},{"content":"","date":"7 May 2026","externalUrl":null,"permalink":"/blog/","section":"Mark Grover's Blog","summary":"","title":"Mark Grover's Blog","type":"page"},{"content":"","date":"7 May 2026","externalUrl":null,"permalink":"/blog/posts/","section":"Posts","summary":"","title":"Posts","type":"posts"},{"content":"","date":"7 May 2026","externalUrl":null,"permalink":"/blog/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"24 April 2026","externalUrl":null,"permalink":"/blog/tags/claude/","section":"Tags","summary":"","title":"Claude","type":"tags"},{"content":" How I Built an AI-Powered Job Search Engine in an Afternoon — And Why Every Job Seeker Should Do the Same # If you\u0026rsquo;ve been job hunting recently, you know the drill. You wake up, open your inbox, and there they are — a wall of emails from LinkedIn, Indeed, Jobright, and Built In, each one containing anywhere from one to fifteen job listings that may or may not be relevant to you. You open each one. You skim. You copy and paste the interesting ones somewhere. You forget which ones you already looked at. You apply to a few. You lose track of where you applied. Repeat tomorrow.\nI was spending one to two hours a day on this process. As a Senior Technical Program Manager who has spent a decade building platforms, automating workflows, and eliminating operational inefficiencies at scale — I finally got tired of the irony.\nSo I built a solution. And it works.\nJob Scanner Dashboard The Problem, Stated Plainly # Every morning I received job alert emails from four sources:\nLinkedIn — bundles 10–15 job listings per email Jobright — bundles 8–12 listings, includes AI match percentages and salary ranges Built In — bundles multiple listings by category Indeed — sends one job per email, personalized to your profile The manual workflow: open email → read listing → decide if interesting → open job URL → read full description → copy/paste into Claude → ask Claude to evaluate it against my resume → repeat for every listing → try to remember which ones I\u0026rsquo;d already seen yesterday.\nHigh-friction. Inconsistent. No tracking. No memory between sessions.\nExactly the kind of problem I\u0026rsquo;d been hired to fix at enterprise scale for the past decade.\nThe Architecture # The solution is a Node.js script that runs automatically every morning. Here\u0026rsquo;s what it does:\n1. Gmail Integration via OAuth\nThe scanner connects to Gmail using a read-only OAuth token and reads a dedicated Job Alerts label. Every job alert email from every source routes to this label automatically via a Gmail filter, bypassing my inbox entirely.\n2. Deduplication\nOn every run, the scanner checks a local scanned_ids.json file containing every Gmail message ID it has already processed. New emails are processed; already-seen emails are skipped. After the first run, each daily scan typically processes 5–10 new emails instead of 30–50.\n3. AI-Powered Job Extraction\nEach email is sent to Claude with a format-aware prompt. LinkedIn emails look completely different from Indeed emails — the prompt accounts for each source\u0026rsquo;s structure and reliably extracts title, company, location, salary, and URL for every listing.\n4. Resume-Based Scoring\nEvery extracted job is scored 0–100 against my resume using four weighted criteria:\nTitle and seniority alignment (35%) Skills overlap (30%) Remote/location fit (20%) Salary floor (15%) Each job gets a score, a written rationale, a list of matching strengths, and any identified gaps.\n5. CRM Dashboard\nThe ranked results are compiled into a single HTML dashboard and published to my personal website automatically. The dashboard includes:\nA ranked job grid with score badges, salary tags, and source filters Three tabs: All Jobs, My Pipeline, Weekly Report Owner authentication — anyone can view, only I can update application statuses Full application pipeline tracking status: Applied → Phone Screen → Interview → Offer → Rejected Status changes sync to the server and are visible from any device The Tech Stack # No cloud infrastructure. No monthly fees beyond existing hosting.\nComponent Technology Runtime Node.js (zero npm dependencies) Intelligence Claude API (Anthropic) Email source Gmail API via OAuth 2.0 Scheduling Windows Task Scheduler Upload FTP via Node.js TCP socket The zero-npm-dependencies decision was deliberate. Every library you add is a potential failure point, a security surface, and a maintenance burden. The entire application — Gmail auth, HTTPS requests, base64 decoding, HTML generation, FTP upload — is written against Node\u0026rsquo;s built-in modules only.\nThe Configuration # All user settings live in config.json. No editing the source code:\n{ \u0026#34;ownerPassword\u0026#34;: \u0026#34;your-secret\u0026#34;, \u0026#34;gmailLabel\u0026#34;: \u0026#34;Job Alerts\u0026#34;, \u0026#34;salaryFloor\u0026#34;: 150000, \u0026#34;preferredLocations\u0026#34;: [\u0026#34;Remote\u0026#34;], \u0026#34;acceptableHybridStates\u0026#34;: [\u0026#34;NC\u0026#34;, \u0026#34;SC\u0026#34;], \u0026#34;resume\u0026#34;: \u0026#34;Your full resume text here...\u0026#34; } What I Learned Building This # Prompt engineering is real engineering. The extraction step failed several times before the prompts were right. LinkedIn emails bundle fifteen jobs in plain text with tracking URLs. Indeed sends one job per email with the title in the subject line. Jobright includes match percentages and salary ranges inline. Each source required a different parsing strategy, and the prompt had to explain all of them clearly enough for Claude to handle without hallucinating data.\nDeduplication is the most important problem. Without it, every run processes every email again, wasting tokens and time. With it, daily runs cost pennies and complete in under a minute. The architecture decision to track message IDs locally is what makes this practical as a daily automation.\nSeparating the data layer from the presentation layer matters. Storing application statuses on the server (not in the HTML) means the dashboard can be regenerated daily without wiping tracking data. This seems obvious in retrospect but required deliberate thinking upfront.\nBuild a test mode early. node scan.js --test runs with five sample jobs, zero API calls, and zero cost. I built it after burning API credits debugging UI issues. Build it on day one next time.\nThe Results # Daily job search time: ~90 minutes → under 5 minutes Jobs evaluated in first week: 94 First run\u0026rsquo;s #1 ranked match: applied within 24 hours Cost per daily run: ~$0.05–0.15 in API credits The Bigger Picture # The architecture here — ingest unstructured data, extract structure with an LLM, score against a configurable rubric, present ranked output, track actions — solves a class of problems that appears constantly in enterprise contexts:\nMatch candidates to open roles based on structured profile scoring Surface personalized learning recommendations from a skills gap analysis Route support tickets to the right team based on content classification Score RFP responses against weighted evaluation criteria Building it for a personal use case produced a reusable template.\nTry It Yourself # The full project — scanner, Gmail OAuth setup, FTP configuration, Task Scheduler automation, and CRM dashboard — is open source at:\ngithub.com/markjgrover/ai-job-scanner\nIf you\u0026rsquo;re a job seeker with basic technical comfort, you can have a working version running in an afternoon. Zero npm packages. One config file. Runs on hardware you already own.\nI\u0026rsquo;m a Senior Technical Program Manager open to remote roles in AI/ML platforms, EdTech, DevRel, and enterprise SaaS. Connect on LinkedIn.\n","date":"24 April 2026","externalUrl":null,"permalink":"/blog/posts/claude1/","section":"Posts","summary":"Creating a Claude App to help parse job applications","title":"Claude for Job Applications","type":"posts"},{"content":"","date":"24 April 2026","externalUrl":null,"permalink":"/blog/tags/nodejs/","section":"Tags","summary":"","title":"Nodejs","type":"tags"},{"content":" Teaching Middle Schoolers How AI Really Works # Yesterday I had the opportunity to teach a group of middle school students at the Honours Guild Homeschool Cooperative in Wilmington, North Carolina about Artificial Intelligence — and honestly, it was one of the most rewarding experiences I’ve had in a long time.\nWhen most people hear “AI,” they think about futuristic robots, ChatGPT, or something mysterious happening inside giant data centers. But my goal wasn’t to impress students with complicated technical jargon.\nIt was to help them understand something much more important:\nAI is not magic.\nAI learns from people.\nAnd once students understand that, everything changes.\nThe kids ARE the model Starting with a Simple Question # We opened with a question almost every student could relate to:\nWho has used Siri? Alexa? ChatGPT? TikTok? YouTube recommendations? Almost every hand in the room went up.\nThen I asked:\n“Do you think AI is actually smart?”\nThat question sparked exactly the kind of curiosity I was hoping for.\nRather than treating AI as some mysterious black box, we broke it down into three simple ideas:\nData → Patterns → Predictions # That became the core theme of the session.\nWe talked about how AI systems learn from examples (data), discover connections (patterns), and then try to guess what comes next (predictions).\nTo make the idea tangible, we started with something incredibly simple:\n2, 4, 6, 8…\nThe students immediately answered:\n“10!”\nAnd that became the teaching moment.\nThey had just behaved like AI.\nNot because they were “thinking” like a computer, but because they recognized a pattern and predicted what came next.\nThat realization landed immediately.\nBecoming the AI # One of the most engaging parts of the class was a hands-on Large Language Model (LLM) activity.\nInstead of explaining language models with slides and technical diagrams, we physically acted one out.\nEach student received a word on an index card, while I stood in the center of the room holding strands of yarn connecting different words together.\nThe yarn represented relationships between words.\nSome connections were strong:\n“The” → “cat” Some were weak:\n“The” → “airplane” The students quickly began to understand something powerful:\nLarge Language Models don’t “think” like humans. They predict based on connections.\nThat distinction is critical.\nToday’s AI systems are astonishingly capable, but underneath all the impressive responses and conversations is still a prediction engine trying to determine what comes next based on patterns it learned from training data.\nWatching middle school students grasp that concept through interaction instead of memorization was incredible.\nTeaching Bias Through Mistakes # One of the most important sections of the lesson focused on bias in AI systems.\nInstead of defining bias academically, we demonstrated it.\nI showed the students examples of only small dogs during a mock “training” exercise. Then I introduced a large dog image and asked them what the AI might think it was.\nSome students guessed wolf. Others guessed bear.\nAnd suddenly they understood.\nIf an AI only learns from limited examples, it develops an incomplete understanding of the world.\nThat moment created an important realization:\nAI is only as good as the data it learns from.\nAnd more importantly:\nBad or incomplete data can create unfair outcomes.\nFor students growing up in a world increasingly shaped by algorithms, understanding this early matters enormously.\nThe Moment Everything Clicked # The section that resonated most deeply with the students was when we connected AI to platforms they already use every day.\nYouTube. TikTok. Netflix. Instagram.\nI asked them:\n“Do you think your feed is random?”\nSome said yes.\nThen we unpacked what’s actually happening behind the scenes.\nThese systems track:\nWhat you click What you watch What you skip How long you stay engaged Then they use all of that information to predict what you will watch next.\nSuddenly AI stopped feeling abstract.\nThe students realized they interact with predictive systems constantly.\nAnd then came the line that changed the energy in the room:\n“You are not just using AI… You are training it.”\nThat realization hit hard.\nBecause it’s true.\nEvery click teaches the system something.\nEvery interaction shapes future recommendations.\nEvery engagement feeds the algorithm.\nSimulating a Recommendation Algorithm # To bring everything together, we ended with a live simulation called:\n“You Are the Algorithm” # Students moved into different corners of the room representing:\nGaming Sports Food Music One student played the role of “The Algorithm.”\nAs students chose interests, the algorithm rewarded the most popular content category with more attention and visibility.\nThen students were allowed to move again based on what was being promoted more heavily.\nPredictably, larger groups became even larger.\nAnd in just a few minutes, the students physically experienced a recommendation feedback loop.\nThat led to one of the most important questions of the day:\n“What happens if AI only keeps showing you the same kind of content?”\nThe discussion that followed was thoughtful, honest, and surprisingly mature.\nStudents talked about:\nMissing new ideas Getting stuck in one mindset Seeing only one perspective Being influenced without realizing it That’s exactly the kind of critical thinking we need more of.\nWhy This Matters # The goal of the session was never simply to teach kids about technology.\nIt was to help them think critically about the systems shaping their world.\nAI is no longer “future technology.”\nIt is already influencing:\nWhat people watch What people believe What people buy What people pay attention to And the next generation needs more than technical skills.\nThey need awareness.\nThey need curiosity.\nThey need the ability to ask:\nWhy did the algorithm show me this? What data trained this system? What biases might exist here? How is this influencing me? Those are the real AI literacy skills that matter.\nFinal Thoughts # At the end of the session, I told the students something I genuinely believe:\n“The future of AI isn’t just built by engineers. It’s built by every person who uses it.”\nThat includes all of us.\nHuge thank you to Gina Good and the Honors Guild Homeschool Cooperative for the opportunity to teach such an engaged and thoughtful group of students.\nThe future is going to belong to people who understand not just how to use AI — but how AI uses us.\nAnd based on the conversations yesterday, I’m optimistic about the next generation.\nI\u0026rsquo;m a Senior Technical Program Manager open to remote roles in AI/ML platforms, EdTech, DevRel, and enterprise SaaS. Connect on LinkedIn.\n","date":"10 April 2026","externalUrl":null,"permalink":"/blog/posts/middleschool-ai/","section":"Posts","summary":"A hands-on introduction to artificial intelligence for middle school students at the Honors Guild Homeschool Cooperative.","title":"AI for Middleschoolers","type":"posts"},{"content":" From Ad Hoc to Operationalized: My Takeaways from All Things AI 2026 # March 23-24, 2026 · Durham, NC · All Things AI Conference\nAll Things AI Conference 2026 I walked into the Durham Convention Center in Durham, NC with a stat stuck in my head — one I\u0026rsquo;d shared on LinkedIn before the conference even started:\n88% of people use AI. Only 6% see real impact.\nThat gap didn\u0026rsquo;t feel abstract. It felt like the entire reason I was there.\nThe Event Itself # All Things AI 2026 was year two of the conference co-hosted by the All Things Open team, and it didn\u0026rsquo;t just meet expectations — it blew past them. Every Monday workshop session sold out. Tuesday\u0026rsquo;s conference sessions were standing room only from the morning keynotes straight through to 5:30 PM.\nThe numbers tell a compelling story:\nMetric Count Total Registrations 3,477 Unique Attendees 2,408 AI Workshop Learners 1,600+ (all sold out) Scholarships Awarded 1,000 Speakers 85 Sessions 73 US States Represented 39 Countries Represented 20 Community Partnerships 50+ Total Reach (impressions) 3,000,000+ Nearly half of all registrants — 48.5% — had direct influence over spending decisions at their organizations. This wasn\u0026rsquo;t an academic crowd. These were practitioners, builders, and leaders who are actually deploying AI in the real world.\nMark @ All Things AI Conference 2026 Why I Was There: The AI for Business Professionals Track # I specifically focused on the AI for Business Professionals track, and it delivered exactly what I came for — not theory, but hands-on, practical frameworks for operationalizing AI.\nThe sessions I attended centered on three themes that I think are genuinely underserved in most AI conversations:\n1. Turning AI into Repeatable Workflows # Most people I talk to are still using AI the same way they\u0026rsquo;d use a search engine — one question, one answer, done. The real leverage comes from building repeatable systems: prompt templates, chained workflows, and processes that run consistently without you reinventing the wheel every time.\n2. Driving Measurable Business Outcomes # There\u0026rsquo;s a big difference between \u0026ldquo;AI saved me 20 minutes today\u0026rdquo; and \u0026ldquo;this workflow reduced our sales cycle by two weeks.\u0026rdquo; The track pushed attendees to connect AI usage directly to business metrics — and challenged us to document those results.\n3. Moving from \u0026ldquo;Prompting\u0026rdquo; to \u0026ldquo;System Building\u0026rdquo; # This framing resonated most with me. Prompting is a skill. System building is a discipline. And the practitioners who are seeing real ROI from AI have made that shift. They\u0026rsquo;re not just using AI — they\u0026rsquo;re designing around it.\nHighlights from the Floor # The sessions were packed, but a few moments stood out:\nIBM\u0026rsquo;s Luis Lastras opened the keynotes with a clear-eyed look at where enterprise AI actually stands vs. where the hype says it should be.\nWhurley ran a live demo of an autonomous agent — the kind of thing that moves AI from \u0026ldquo;interesting\u0026rdquo; to \u0026ldquo;this changes how we work.\u0026rdquo;\nYassah Reed gave one of the most important talks of the day on how biased data in healthcare AI models is creating real-world harm — a reminder that responsible AI isn\u0026rsquo;t optional.\nMicrosoft\u0026rsquo;s Ben Heller (Field CTO) spoke to the practical realities of AI adoption inside large organizations.\nDon Shin of Crosscomm led an AI Agents Workshop that was one of the most hands-on sessions I attended.\nThe Bigger Takeaway # The stat I posted before the conference — 88% use AI, 6% see impact — wasn\u0026rsquo;t just a hook. It\u0026rsquo;s a structural problem.\nMost organizations are in the \u0026ldquo;ad hoc user\u0026rdquo; phase. AI is something people do to tasks, not something woven into how work gets done. The gap between usage and impact isn\u0026rsquo;t about access to tools. It\u0026rsquo;s about workflow design.\nWhat All Things AI made clear is that the advantage is shifting — fast — to people and organizations that are:\nBuilding persistent context into their AI workflows Creating repeatable systems rather than one-off prompts Measuring outcomes, not just usage If you\u0026rsquo;re still experimenting, you\u0026rsquo;re not behind. But the window to get ahead is narrowing.\nLooking Ahead # Dates for All Things AI 2027 have already been announced: March 22–23. I\u0026rsquo;ll be planning my calendar around it.\nIf you\u0026rsquo;re on the fence about attending, ask yourself: are you an ad hoc user, or are you building systems? If you want to make the shift, this conference is where that conversation is happening.\nWant to learn more about the conference? The official All Things AI 2027 Conference page check it out!\n","date":"27 March 2026","externalUrl":null,"permalink":"/blog/posts/all-things-ai/","section":"Posts","summary":"Connecting with the North Carolina AI Community","title":"All things AI","type":"posts"},{"content":" How I Built My Portfolio Without Letting AI Write My Code # There\u0026rsquo;s a version of this project where I open Claude or ChatGPT, paste in \u0026ldquo;build me a portfolio website,\u0026rdquo; and ship whatever comes back. I\u0026rsquo;ve seen it done. The output looks fine. Sometimes it even looks good.\nThat\u0026rsquo;s not what I did — and the difference matters to me.\nCheck out my live site: (https://www.markjgrover.com/)\nMark Grover\u0026rsquo;s Personal Portfolio Website as of March 2026 The Premise # I\u0026rsquo;m a Sr. Program Manager, UX Program Manager, and former Site Reliability Engineer. My career spans multiple disciplines, and that\u0026rsquo;s always been a challenge to communicate in a single portfolio. Different roles value different things. A hiring manager looking for an SRE doesn\u0026rsquo;t want to wade through UX case studies to find what\u0026rsquo;s relevant to them.\nSo the core product requirement was simple: one site, multiple audiences, no confusion.\nThe technical requirement I set for myself was equally deliberate: build it myself, in vanilla HTML, CSS, and JavaScript, using LLMs as a thought partner — not a code generator.\nWhat \u0026ldquo;Using LLMs as a Thought Partner\u0026rdquo; Actually Means # This is the part I want to be precise, because the distinction is real and it affected the outcome.\nWhen I say I used LLMs as a thought partner, I mean I used them the way I\u0026rsquo;d use a knowledgeable colleague sitting next to me. I\u0026rsquo;d describe what I was trying to accomplish, talk through the tradeoffs, ask \u0026ldquo;what am I missing here?\u0026rdquo;, and use their input to sharpen my own thinking.\nWhat I didn\u0026rsquo;t do was paste in a requirement and ask for implementation. I wrote every function. I made every structural decision. I debugged in the browser, not by having Claude fix the error message.\nThe difference isn\u0026rsquo;t about moral credit — it\u0026rsquo;s about what you end up with. When you write the code yourself, you understand it. When something breaks at 11pm before a job application deadline, you can fix it. When you want to add a feature six months later, you know exactly where to look.\nI also found that writing the code myself forced me to make real decisions. \u0026ldquo;Render the role dropdown\u0026rdquo; sounds obvious until you have to actually implement it — and then you\u0026rsquo;re deciding whether dropdown state should live in the URL, in memory, or in localStorage, and each of those choices has downstream consequences. An AI assistant would have picked one and moved on. I had to think it through.\nThe Architecture # The site is a single HTML file. No React, no Vue, no build step, no node_modules. It loads one CSS file and one JavaScript file, both served statically.\nAll of the content — every project, every certification, every testimonial, every line of role-specific copy — lives in a single portfolio.json file. The JavaScript fetches it on load and renders everything dynamically from that data.\nThis was a deliberate choice. I wanted the separation between content and presentation to be total. If I want to add a new portfolio project, I touch the JSON. I don\u0026rsquo;t go find a component and copy it. If I want to change the headline for a role view, I edit one field in the JSON. The structure enforces good habits.\nThe Role-Switching Feature # The part of this project I\u0026rsquo;m most proud of is the role-based personalization system.\nThe site reads a ?role= parameter from the URL. When someone lands on markjgrover.com?role=ux, the entire page reframes itself for a UX audience: the hero section shows copy written for that role, the portfolio cards sort and emphasize UX-relevant projects, certifications relevant to UX float to the top, and the testimonials are reordered to lead with the most relevant ones.\nThis means I can send a job application for a UX Program Manager role and include a URL that presents exactly the right story — without maintaining four separate websites.\nThe implementation is a single function, applyRole(), that serves as the central orchestrator. When the role changes (via URL param on load, or via the dropdown in the nav), every rendering function is called with the new role as an argument, and each one sorts and filters accordingly. No page reload, no routing library, no state management framework.\nI built it this way because I\u0026rsquo;d thought carefully about what the data model needed to look like. Each portfolio project has a roles array. Each certification has a roles array. The rendering functions read those arrays and sort by relevance. The logic is simple because the data structure is right.\nWhat I Learned # Data modeling is the hardest part. I spent more time thinking about the shape of portfolio.json than I spent writing any individual feature. Getting that structure right — deciding what belonged at the top level versus nested in details, figuring out how to represent role relevance without duplicating content — paid dividends throughout the rest of the project.\nVanilla JS is underrated. I had a moment about halfway through where I wondered if I should just use React. I\u0026rsquo;m glad I didn\u0026rsquo;t. The DOM APIs are genuinely good. IntersectionObserver for scroll spy, URLSearchParams for role detection, querySelector and createElement for rendering — none of it required anything beyond what the browser provides. The site loads instantly because there\u0026rsquo;s nothing to load.\nThe absence of a build step is a feature. I can open the folder, edit a file, refresh the browser, and see the change. There\u0026rsquo;s no compile step, no hot reload configuration to fight, no webpack magic to debug. For a project this size, that simplicity is worth a lot.\nLLMs are most useful when you already know what you want. The times I got the most value from AI assistance were when I had a specific, concrete question: \u0026ldquo;What\u0026rsquo;s the cleanest way to lock body scroll when a modal is open and restore the exact scroll position on close?\u0026rdquo; That\u0026rsquo;s a question with a right answer that I could evaluate. The times it would have been least useful were the big architectural decisions — those required judgment about my own needs and constraints that no LLM could substitute for.\nThe Stack # HTML — semantic, single-page structure CSS — custom properties, flexbox and grid, no utility framework JavaScript — vanilla ES2020+, no transpilation Data — single JSON file, fetched at runtime Analytics — Google Analytics (gtag) for role view and resume download tracking Icons — Font Awesome 6 via CDN Hosting — static file host (no server-side rendering needed) The Source Code # The full source is on GitHub at github.com/markjgrover/markjgrover.com. The data/portfolio.json file is particularly worth a look if you\u0026rsquo;re thinking about how to structure content for a multi-role portfolio — the schema took the most iteration to get right, and I think it ended up in a good place.\nIf you\u0026rsquo;re building your own portfolio and want to adapt this approach, the key insight is this: separate your content from your presentation completely, and make role relevance a property of the data, not the UI. Everything else follows from that.\nWhat\u0026rsquo;s Next # A few things I\u0026rsquo;d like to add:\nA print stylesheet for the resume section Proper og: meta tags for social sharing with role-specific descriptions A \u0026ldquo;copy role URL\u0026rdquo; button in the nav so it\u0026rsquo;s easier to share the right link But honestly, the site is doing its job. It\u0026rsquo;s gotten me into conversations I wouldn\u0026rsquo;t have had with a static PDF. That\u0026rsquo;s the measure that matters.\nMark Grover is a Sr. Program Manager, UX Program Manager, and former Site Reliability Engineer. He\u0026rsquo;s on LinkedIn and reachable at mark@markjgrover.com.\n","date":"13 March 2026","externalUrl":null,"permalink":"/blog/posts/mark-portfolio-website/","section":"Posts","summary":"Leveraging expertise + ChatGPT to build a personal portfolio","title":"Building a Portfolio Website","type":"posts"},{"content":"","date":"27 February 2026","externalUrl":null,"permalink":"/blog/tags/chatgpt/","section":"Tags","summary":"","title":"ChatGPT","type":"tags"},{"content":" Building My First AI Vacation Planning GPT # ChatGPT Family RV Trip Planning Over the last few months, I’ve been spending a lot of time learning about AI transformation, workflow automation, and the emerging world of AI agents. One concept that I\u0026rsquo;ve landed on that makes an LLM much more than just a chatbot:\nAI becomes significantly more valuable when it moves beyond simple chat interactions and begins orchestrating workflows.\nI didn’t want to just learn about AI.\nI wanted to build something practical.\nSo I decided to create my first custom GPT inside ChatGPT — an AI-powered vacation planning assistant.\nNot because the world desperately needed another travel app…\n…but because it was the perfect opportunity to learn how modern AI agents actually work.\nThe Idea # I started with a simple question:\nWhat’s something people regularly spend hours researching that could benefit from personalized AI assistance?\nVacation planning immediately came to mind.\nWhen most people plan trips, they usually bounce between:\nhotel websites campground listings weather forecasts activity reviews maps restaurant recommendations It’s fragmented and time consuming.\nI wanted to see if I could create a GPT that would:\nAsk intelligent questions Understand user preferences Generate personalized recommendations Function more like a travel planning assistant than a chatbot What I Wanted the GPT to Do # The goal wasn’t just to answer questions.\nThe goal was to create a guided workflow.\nI designed the GPT to collect:\ntravel date windows destination preferences lodging preferences activity interests budget expectations travel group type Then use that information to:\nrecommend hotels or campgrounds suggest activities nearby identify attractions within a user-defined range provide historical weather context generate sample itineraries Essentially:\na lightweight AI travel agent.\nChatGPT Family RV Trip Planning - Itinerary What I Learned About AI Agents # One of the biggest takeaways from this project was realizing that modern AI systems become much more powerful when you structure them around decision-making workflows.\nAt the conference, there was a lot of discussion around:\nagentic workflows retrieval augmented generation (RAG) contextual AI tool-enabled LLMs At first, those terms sounded overly technical.\nBut after building this GPT, the concepts became much more tangible.\nI realized that a good AI agent is really a combination of:\nstructured prompting intelligent intake questions contextual decision logic iterative refinement The magic isn’t just the model itself.\nThe magic is in designing the experience.\nBuilding the GPT # The process itself was surprisingly approachable.\nInside ChatGPT, I created a Custom GPT and focused primarily on:\ndefining the instructions designing the workflow structuring the interaction model The hardest part wasn’t technical implementation.\nThe hardest part was:\nanticipating user needs designing useful prompts thinking through decision trees creating meaningful interactions In many ways, it felt more like product design than software engineering.\nThe Actual GPT Instructions # Below is the exact instruction set I used as the foundation for my Vacation Planning GPT.\nIf you want to replicate or expand on this idea, you can copy and paste the following into the Custom GPT instructions section inside ChatGPT.\nGPT Instructions # You are a personalized vacation planning assistant. Your job is to guide the user through planning a trip by collecting key details, then generating tailored recommendations. Step 1: Ask the user for: - Destination (city, state, or region) - Travel dates (start and end) - Lodging preference (hotel, campground, Airbnb, resort) - Budget range (low, medium, high) - Preferred activities (provide a selectable-style list: outdoors, food, nightlife, relaxation, family-friendly, adventure, cultural, etc.) - Travel party (solo, couple, family, group) Step 2: Based on responses: - Suggest 3–5 lodging options aligned to preferences - Suggest top activities within a reasonable proximity (e.g., 1–10 miles depending on area) - Provide a sample itinerary (day-by-day) Step 3: Provide contextual insights: - Typical weather for those dates - Packing suggestions - Travel tips specific to the destination Step 4: Ask follow-up questions to refine results. Behavior Guidelines: - Be structured, concise, and helpful - Use bullet points and sections - Personalize recommendations - Explain WHY recommendations fit the user - Ask clarifying questions when needed - Prioritize practical and actionable advice Output Format: 1. Trip Overview 2. Lodging Recommendations 3. Activities \u0026amp; Attractions 4. Suggested Itinerary 5. Weather Expectations 6. Packing Suggestions 7. Additional Travel Tips How the Workflow Functions # One of the first things I focused on was the intake process.\nInstead of asking users to dump everything into one giant prompt, I wanted the GPT to guide the conversation naturally.\nThe GPT asks questions like:\nWhere are you traveling? What dates are you considering? Do you prefer hotels, campgrounds, Airbnbs, or resorts? What types of activities do you enjoy? Are you traveling solo, with family, or with a group? This transforms the experience from:\n“Ask me anything”\ninto:\n“Let me help plan this with you.”\nThat subtle difference matters.\nThe Most Interesting Part: Contextual Recommendations # The part I found most exciting was layering context into the recommendations.\nFor example:\nIf someone selected camping, the GPT could prioritize parks and outdoor activities. If they selected family travel, recommendations could shift toward family-friendly attractions. If someone traveled during peak summer months, weather considerations could shape itinerary suggestions. That’s when it stopped feeling like a chatbot and started feeling more like an intelligent assistant.\nChatGPT Family RV Trip Planning - Highlights Future Improvements # This first version is just the beginning.\nSome future ideas I’d love to add:\nreal-time hotel and campground APIs weather integrations Google Maps activity proximity logic budget optimization scoring calendar exports dynamic itinerary refinement saved traveler preferences personalized trip scoring I also think there’s huge potential in adding memory and preference persistence over time.\nImagine an AI travel assistant that actually learns:\nhow you like to travel what activities you enjoy your preferred budget range your pacing preferences That starts becoming incredibly powerful.\nThe Bigger Realization # This project changed how I think about AI in the workplace.\nMost organizations are still experimenting with AI through isolated prompts:\nsummarize this rewrite that generate ideas But the real transformation happens when AI becomes embedded into repeatable workflows.\nThat’s where the value starts to compound.\nInstead of:\n“Use AI for a task”\nthe conversation becomes:\n“Design systems where AI participates in the workflow.”\nThat shift feels enormous.\nFinal Thoughts # This project reinforced something I’ve been thinking about a lot lately:\nThe future of AI may not belong solely to people who can build models from scratch.\nIt may belong to people who can:\nunderstand workflows identify real-world problems design intelligent systems bridge business needs with AI capabilities That intersection is where I want to keep learning and building.\nAnd this vacation planning GPT was my first real step into that world.\nHonestly, that may be the most exciting part of AI right now.\nThe tools are finally accessible enough that curious builders, project managers, strategists, and technologists can all participate in shaping what comes next.\n","date":"27 February 2026","externalUrl":null,"permalink":"/blog/posts/chatgpt1/","section":"Posts","summary":"Creating custom GPTs to improve workflows","title":"Creating ChatGPTs","type":"posts"},{"content":" From Project Manager to PMP: My Road to Certification # February 5, 2026 — the day I earned my PMP. A day I\u0026rsquo;ll remember for a while.\nEarning the Project Management Professional (PMP)® certification isn\u0026rsquo;t something you just stumble into. It\u0026rsquo;s a deliberate, often grueling process of study, self-doubt, practice, more practice, and a fair amount of humbling yourself in front of 382 mock exam questions at a time. This is the story of how I got there — and the three people whose work made the difference.\nPMP Certified! Why the PMP? # The PMP is widely regarded as the gold standard in project management credentials. It signals not just that you understand the theory, but that you\u0026rsquo;ve earned real-world experience managing projects and can demonstrate it. The exam itself is notoriously difficult — 180 situational questions designed to test whether you think like a project manager, not just memorize frameworks. About 50% of the content leans on agile and hybrid methodologies, the other half on predictive approaches. Passing above target across all three domains (People, Process, and Business Environment) requires internalizing an entire mindset shift.\nGetting to the exam first required 35 hours of verified project management education. That\u0026rsquo;s where my journey really began.\nAndrew Ramdayal: The Instructor Who Changes How You Think # If you\u0026rsquo;ve spent any time in PMP prep circles, you\u0026rsquo;ve heard the name Andrew Ramdayal. He holds over 60 professional certifications in IT and accounting from vendors including Microsoft, Cisco, CompTIA, and PMI, and has a Master\u0026rsquo;s Degree in Management Information Systems with a minor in project management. He\u0026rsquo;s been teaching PMP and information security courses for over 20 years to thousands of students around the world.\nWhat sets Andrew apart isn\u0026rsquo;t the credentials — it\u0026rsquo;s the methodology. He created the PMP Mindset framework used by thousands of certified professionals, an approach that teaches you to stop thinking like a student answering questions and start thinking like a seasoned project manager navigating real situations. That distinction matters enormously on an exam where almost every question is a scenario, not a definition lookup.\nI completed Andrew\u0026rsquo;s PMP Certification Exam Prep Course — 35 PDU Contact Hours/PDU on Udemy (https://www.udemy.com/course/pmp-certification-exam-prep-course-pmbok-6th-edition/), taught through his TIA Education Group. The 35-hour course fulfilled my PMI education requirement, and by the end I walked away with both my contact hours certificate and, more importantly, a fundamentally different mental model for approaching project problems.\nHis Amazon bestselling PMP Study Guide has sold over 250,000 copies and helped more people pass the PMP exam than any other PMP book — and reading it alongside his video lectures made the content stick in a way that passive reading never would have. The combination of conceptual clarity and real-world grounding is what makes his teaching exceptional. You\u0026rsquo;re not just memorizing inputs, tools, and outputs — you\u0026rsquo;re learning why a project manager in a given situation would choose one path over another.\nI purchased Andrew\u0026rsquo;s PMP Simulator for additional Mock Exams and found it invaluable (https://www.tiaexams.com/course/tiapmpsimulator). I especially appreciated the detailed video explanations for every question — not just the correct answer, but why the other choices are wrong. It included 10 mock exams, 1,100+ questions, and 30+ hours of video covering all three exam domains.\nNilotpal Ray: The Mock Exam That Humbles You (Constructively) # Knowing the content is one thing. Surviving 150 back-to-back scenario questions under time pressure is another. For exam simulation, I turned to Nilotpal Ray — known online as PMPwithRay.\nNilotpal is a PMP and PRINCE2 certified project manager with over 12 years of work experience in the project management domain. His YouTube channel (PMPwithRay) has over 45,000 subscribers and 4 million views. He\u0026rsquo;s currently working as a Senior Project Manager with the National Health Service (NHS) in the UK, and he brings that real operational experience into every question he writes.\nHis PMP Exam-PMI 2026 Mock Simulator on Udemy (https://www.udemy.com/course/pmp-exam-situational-question-practice-test-200-q-pmbok6/) packs 382 questions across three practice sets: a diagnostic test, a full-length 180-question exam, and a bonus set. About 70–80% of the questions are situational in nature — exactly the style you encounter on the actual PMP exam. The rest cover newer syllabus topics like Servant Leadership, Personality Indicators, Minimum Viable Product (MVP), Disciplined Agile, Measurement of Training Outcomes, and Project Compliance.\nWhat I appreciated most about Ray\u0026rsquo;s simulator was its honesty. These aren\u0026rsquo;t soft warm-up questions. They\u0026rsquo;re designed to surface exactly where your thinking goes wrong, and the Q\u0026amp;A forum lets you work through your errors with Ray himself. His \u0026ldquo;situational question framework\u0026rdquo; has become something of a legend among PMP candidates — multiple students have credited it as the key to their passing score.\nAfter working through all 382 questions, tracking my errors, and revisiting the concepts I was getting wrong, I felt genuinely ready — not just rehearsed. Ray\u0026rsquo;s simulator earns its place in any serious PMP study plan.\nRicardo Vargas: The Flow That Made It All Click # Ricardo Vargas Process Groups Chart Some concepts in project management don\u0026rsquo;t fully land until you see them. That\u0026rsquo;s where Ricardo Viana Vargas came in.\nRicardo is, without exaggeration, one of the most accomplished figures in the global project management community. He has directed dozens of projects across industries and continents, managing more than $20 billion over the past 27 years. He received the PMI Fellow Award — the highest recognition from the Project Management Institute — and was the first Latin American Chairman of PMI worldwide. He\u0026rsquo;s also directed the United Nations Office for Project Services, leading over 1,000 humanitarian projects valued at $1.2 billion.\nBut for PMP candidates, Ricardo is perhaps best known for something deceptively simple: his PMBOK Processes Flow diagram. He originally created it in 1998 when he was studying for the PMP exam himself, and has updated it with each new PMBOK edition since. The color-coded visual maps every process group, knowledge area, input, tool, technique, and output into a single coherent reference — the kind of thing that transforms a wall of abstract text into a navigable architecture.\nI downloaded the flow included in the ricardo_vargas_practice-guide_flow_color resource [https://ricardo-vargas.com/downloads/portfolio-management-processes-flow/] and printed it out as a poster, pasted it together, and spent a good amount of time with it in front of me, tracing the logical connections between processes. When the exam asks you why a change request in executing feeds back to the planning process group, or why a specific output from scope management becomes an input three knowledge areas later — that flow is the mental map that makes the answer feel intuitive rather than memorized.\nRicardo has emphasized that the flow doesn\u0026rsquo;t replace reading the PMBOK Guide — it facilitates understanding and application by providing a visual overview that serves as a quick reference for practitioners and students. That\u0026rsquo;s exactly how I used it: as the connective tissue between everything else I was studying.\nThe Stack That Got Me Across the Line # In a little over a month I had:\n35 contact hours completed and certified through Andrew Ramdayal\u0026rsquo;s TIA course 382 mock exam questions worked through via Nilotpal Ray\u0026rsquo;s PMBOK7 simulator A deep familiarity with Ricardo Vargas\u0026rsquo;s process flow diagram, used as a visual anchor throughout A supplemental reference in the Project Management Professional Master Cheat Sheet, covering all three exam domains — People (42%), Process (50%), and Business Environment (8%). I don\u0026rsquo;t recall the website I got the Master Chat Sheet from, so unfortunately I can\u0026rsquo;t give proper attribution. If you are the owner of this document, please let me know so I can give proper attribution. [Download the cheat sheet] This was a good resource for breaking down each individual tasks into short digestible review. I read a bunch of Reddit threads and gleaned additional recommendations and feedback from other Redditors. Although Andrew was my authoritative \u0026ldquo;instructor\u0026rdquo; for all my formal learning, I also found Mohammed Rahman\u0026rsquo;s Mindset Principles helpful [Download the principles]. The exam itself was everything the mock tests prepared me for: relentless situational scenarios, questions where two answers look equally reasonable and you have to choose the most correct one, and a constant demand to think from the project manager\u0026rsquo;s perspective rather than your own instincts.\nPassing it felt earned.\nMy PMP Certificate — issued by PMI What I\u0026rsquo;d Tell Someone Starting Today # If you\u0026rsquo;re preparing for your PMP, here\u0026rsquo;s what worked for me:\nStart with Andrew Ramdayal. His 35-hour Udemy course is both your required education hours and your conceptual foundation. Don\u0026rsquo;t rush it. The \u0026ldquo;PM Mindset\u0026rdquo; he teaches is the entire point.\nStress-test yourself with Nilotpal Ray\u0026rsquo;s simulator. Do the diagnostic first to find your weak spots, then work through the full exam under timed conditions. Review every wrong answer — not just the right answer, but why the other options were wrong.\nPrint Ricardo Vargas\u0026rsquo;s flow diagram. Tape it to your wall. Refer to it constantly. When something in the PMBOK doesn\u0026rsquo;t make sense in isolation, find it on the flow and look at what it connects to.\nThe PMP isn\u0026rsquo;t just a credential. The process of earning it genuinely changed how I think about project work — how I frame problems, prioritize responses, and consider the ripple effects of decisions across scope, schedule, cost, and people. That, more than the letters after my name, is the real return on the investment.\nIf you\u0026rsquo;re on your own PMP journey and have questions about any of these resources, feel free to reach out.\n","date":"13 February 2026","externalUrl":null,"permalink":"/blog/posts/enablement1/","section":"Posts","summary":"Upskilling is key in this AI transformative era","title":"Constantly Improving","type":"posts"},{"content":"","externalUrl":null,"permalink":"/blog/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/blog/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","externalUrl":null,"permalink":"/blog/series/","section":"Series","summary":"","title":"Series","type":"series"}]