<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kourtney Lee</title>
    <description>The latest articles on DEV Community by Kourtney Lee (@kourtneylee1611).</description>
    <link>https://dev.to/kourtneylee1611</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3842312%2F490cdedd-032c-4f69-9cac-2c390c2672ef.jpg</url>
      <title>DEV Community: Kourtney Lee</title>
      <link>https://dev.to/kourtneylee1611</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kourtneylee1611"/>
    <language>en</language>
    <item>
      <title>Never Miss an AI Hackathon Again: Building an Autonomous Discovery Agent with Notion &amp; Brave MCP</title>
      <dc:creator>Kourtney Lee</dc:creator>
      <pubDate>Mon, 30 Mar 2026 00:10:15 +0000</pubDate>
      <link>https://dev.to/kourtneylee1611/never-miss-an-ai-hackathon-again-building-an-autonomous-discovery-agent-with-notion-brave-mcp-1kjg</link>
      <guid>https://dev.to/kourtneylee1611/never-miss-an-ai-hackathon-again-building-an-autonomous-discovery-agent-with-notion-brave-mcp-1kjg</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/notion-2026-03-04"&gt;Notion MCP Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;HackathonSniper&lt;/strong&gt; is an autonomous AI agent designed to eliminate "hackathon fatigue." If you're like me, you spend hours every month checking Devpost, DoraHacks, and Dev.to just to find one hackathon that fits your niche. &lt;/p&gt;

&lt;p&gt;HackathonSniper turns this manual hunt into an automated pipeline. It doesn't just "search"—it &lt;strong&gt;thinks&lt;/strong&gt;. It uses the Model Context Protocol (MCP) to bridge the gap between AI reasoning and the real web.&lt;/p&gt;

&lt;h2&gt;
  
  
  Video Demo
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/eGlTIzBa2hI"&gt;
  &lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Show us the code
&lt;/h2&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/klee1611" rel="noopener noreferrer"&gt;
        klee1611
      &lt;/a&gt; / &lt;a href="https://github.com/klee1611/HackathonSniper" rel="noopener noreferrer"&gt;
        HackathonSniper
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI-powered hackathon discovery agent using Brave Search + Notion MCP
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;🎯 Hackathon Sniper&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A sophisticated TypeScript agent that automatically discovers, evaluates, and tracks hackathons using AI-powered analysis. Built with clean architecture patterns, &lt;strong&gt;real MCP server integration&lt;/strong&gt;, and complete environment separation.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;✨ Features&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;🔍 Intelligent Search&lt;/strong&gt; - Real Brave Search MCP server integration&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🤖 AI Evaluation&lt;/strong&gt; - Groq-powered hackathon qualification analysis&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📊 Notion Integration&lt;/strong&gt; - Real Notion MCP server for storage and tracking&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🎭 Test Isolation&lt;/strong&gt; - Complete environment isolation for testing (zero external dependencies)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;⚡ Fast Development&lt;/strong&gt; - Hot reload, comprehensive Makefile, pnpm package management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🛡️ Type Safety&lt;/strong&gt; - End-to-end TypeScript with Zod schema validation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🧪 Robust Testing&lt;/strong&gt; - Unit, integration, and smoke tests&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🚀 Quick Start&lt;/h2&gt;
&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Prerequisites&lt;/h3&gt;

&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;Node.js 18+&lt;/li&gt;
&lt;li&gt;pnpm (recommended) or npm&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Installation &amp;amp; Setup&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Clone and setup in one command&lt;/span&gt;
git clone &lt;span class="pl-k"&gt;&amp;lt;&lt;/span&gt;repository-url&lt;span class="pl-k"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="pl-c1"&gt;cd&lt;/span&gt; HackathonSniper
make setup&lt;/pre&gt;

&lt;/div&gt;
&lt;div class="markdown-heading"&gt;
&lt;h3 class="heading-element"&gt;Development Workflow&lt;/h3&gt;

&lt;/div&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Copy and fill in your API keys&lt;/span&gt;
cp .env.example .env
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; Run development&lt;/span&gt;&lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/klee1611/HackathonSniper" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  The Technical Architecture
&lt;/h3&gt;

&lt;p&gt;The agent follows a rigorous 3-phase lifecycle:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;🔍 The Hunt (Brave Search MCP)&lt;/strong&gt;: It performs targeted searches across the web to find new hackathon announcements, even those buried in blog posts or obscure landing pages.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;🤖 The Vetting (Groq LLM)&lt;/strong&gt;: Every discovery is analyzed by a Llama-3 model. It evaluates the prize pool, solo-friendliness, AI relevance, and proximity to the deadline.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;📊 The Storage (Notion MCP)&lt;/strong&gt;: Qualified opportunities are instantly synced to a beautifully structured Notion database, complete with metadata, deadlines, and AI-generated summaries.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7wqbjtxs4ugb2yve3ru.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc7wqbjtxs4ugb2yve3ru.png" alt="tech_architecture" width="607" height="795"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Notion MCP
&lt;/h2&gt;

&lt;p&gt;The &lt;strong&gt;Notion MCP Server&lt;/strong&gt; (&lt;code&gt;@notionhq/notion-mcp-server&lt;/code&gt;) is the "nervous system" of this project. It transforms a simple script into a powerful productivity tool by allowing the AI to interact with my Notion workspace as if it were a native application.&lt;/p&gt;

&lt;p&gt;Instead of writing complex, boilerplate-heavy API calls to the Notion REST API, the Notion MCP is integrated. This allowed the agent to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic Schema Mapping&lt;/strong&gt;: The agent automatically maps structured AI evaluation objects to Notion database properties (Dates, Checkboxes, URLs, and Rich Text).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Process Isolation&lt;/strong&gt;: By using the MCP &lt;code&gt;StdioClientTransport&lt;/code&gt;, the Notion integration runs in its own isolated process, managed entirely by the Model Context Protocol.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Workflows&lt;/strong&gt;: The agent uses the &lt;code&gt;create_notion_page&lt;/code&gt; tool provided by the MCP server to dynamically populate my "Hackathon Scout" dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Wrapping Up
&lt;/h3&gt;

&lt;p&gt;This integration unlocks a "set and forget" workflow. I can run HackathonSniper as a background task, and my Notion workspace stays updated with a high-signal, low-noise list of opportunities. It’s not just data entry; it’s an &lt;strong&gt;autonomous data clerk&lt;/strong&gt; powered by Notion MCP.&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>notionchallenge</category>
      <category>mcp</category>
      <category>ai</category>
    </item>
  </channel>
</rss>
