<?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: Cheth</title>
    <description>The latest articles on DEV Community by Cheth (@geek-cheth).</description>
    <link>https://dev.to/geek-cheth</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%2F2856482%2Fb06d3496-31e1-4fdc-84e4-e64516567897.png</url>
      <title>DEV Community: Cheth</title>
      <link>https://dev.to/geek-cheth</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/geek-cheth"/>
    <language>en</language>
    <item>
      <title>Hermes Agent Challenge</title>
      <dc:creator>Cheth</dc:creator>
      <pubDate>Sun, 31 May 2026 17:55:04 +0000</pubDate>
      <link>https://dev.to/geek-cheth/hermes-agent-challenge-1l9o</link>
      <guid>https://dev.to/geek-cheth/hermes-agent-challenge-1l9o</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hermes-agent-2026-05-15"&gt;Hermes Agent Challenge&lt;/a&gt;: Build With Hermes Agent&lt;/em&gt;&lt;/p&gt;

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

&lt;p&gt;I'm a 17-year-old first-year Computer Science student, and I built &lt;strong&gt;StartupForge&lt;/strong&gt; solo for this hackathon — my first real agentic AI project.&lt;/p&gt;

&lt;p&gt;StartupForge is an AI launch-kit autopilot. You describe your product idea in one sentence, and a Hermes Agent runs a four-step launch pipeline, streaming every line live so you review and approve each step before the next one starts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Competitor Research&lt;/strong&gt; — live web search: real competitors, pricing, weaknesses, and the gap your product fills.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Landing Page&lt;/strong&gt; — a complete, responsive HTML page with a working waitlist form, live device preview, and ZIP download.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Launch Posts&lt;/strong&gt; — an X/Twitter thread, a "Show HN" post, and a Reddit post, each tuned to that platform's culture.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;AI Agent Prompts&lt;/strong&gt; — a build plan plus copy-paste-ready prompts for coding, design, and marketing agents.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt; going from "I have an idea" to "I have something to launch" normally takes days of scattered research, copywriting, and planning. StartupForge compresses that into one guided run — with a human-in-the-loop approval gate so you stay in control instead of getting a black-box dump.&lt;/p&gt;

&lt;p&gt;My friend &lt;strong&gt;&lt;a href="https://github.com/0xwagmi" rel="noopener noreferrer"&gt;0xwagmi&lt;/a&gt;&lt;/strong&gt; helped me with the CSS and the landing page when I was running low on time — shoutout to him for jumping in.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo : &lt;a href="https://hermeschallenge.vercel.app/" rel="noopener noreferrer"&gt;https://hermeschallenge.vercel.app/&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;  &lt;iframe src="https://www.youtube.com/embed/ZMAePsa11SM"&gt;
  &lt;/iframe&gt;
&lt;/p&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%2Ffxl7h15d53hdeoc06k7n.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%2Ffxl7h15d53hdeoc06k7n.png" alt="The marketing landing page hero" width="799" height="415"&gt;&lt;/a&gt;&lt;/p&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%2F4d1o8hs689x998n2c2ml.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%2F4d1o8hs689x998n2c2ml.png" alt="The dashboard starting with the 4-step progress tracker streaming live" width="799" height="415"&gt;&lt;/a&gt;&lt;/p&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%2Fm8px3fc9lyvg1d8yo59r.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%2Fm8px3fc9lyvg1d8yo59r.png" alt="The dashboard mid-run with the 4-step progress tracker streaming live" width="799" height="415"&gt;&lt;/a&gt;&lt;/p&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%2Fk24n13z7rk1kl4q2rm1h.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%2Fk24n13z7rk1kl4q2rm1h.png" alt="The competitor research output" width="799" height="415"&gt;&lt;/a&gt;&lt;/p&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%2F4lwepl2kyamf26s7edia.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%2F4lwepl2kyamf26s7edia.png" alt="The landing-page preview in the device-toggle iframe" width="799" height="415"&gt;&lt;/a&gt;&lt;/p&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%2Fvldd0dfrfx49ddiul2g5.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%2Fvldd0dfrfx49ddiul2g5.png" alt="The launch-post mock cards (X / HN / Reddit)" width="799" height="415"&gt;&lt;/a&gt;&lt;/p&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%2Fol0tni5drc26xyshj6o6.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%2Fol0tni5drc26xyshj6o6.png" alt="The final results page with all four tabs" width="799" height="415"&gt;&lt;/a&gt;&lt;/p&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%2Fsut36u14ta4oqbf6gn4p.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%2Fsut36u14ta4oqbf6gn4p.png" alt="History section with all the previous results" width="799" height="415"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  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/Geek-Cheth" rel="noopener noreferrer"&gt;
        Geek-Cheth
      &lt;/a&gt; / &lt;a href="https://github.com/Geek-Cheth/hermes-agent" rel="noopener noreferrer"&gt;
        hermes-agent
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Next.js dashboard for Hermes agent product research and launch assets
    &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;StartupForge&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;Describe your idea. The agent does the rest.&lt;/p&gt;
&lt;p&gt;Hermes-powered launch kit: describe a product idea in plain text, and the agent autonomously researches competitors, writes a landing page, drafts launch posts, and generates AI agent prompts.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Stack&lt;/h2&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js 14&lt;/strong&gt; (App Router, TypeScript, Tailwind)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Clerk&lt;/strong&gt; — authentication and per-user run history&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hermes Agent&lt;/strong&gt; — OpenAI-compatible API at &lt;code&gt;/v1/chat/completions&lt;/code&gt; (port 8642)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Supabase&lt;/strong&gt; — run storage + waitlist&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Coolify&lt;/strong&gt; — reverse proxy on DigitalOcean VPS&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Quick start (local)&lt;/h2&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Copy env file:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;cp .env.example .env&lt;/pre&gt;

&lt;/div&gt;
&lt;ol start="2"&gt;
&lt;li&gt;Run Supabase schema in your project SQL editor:&lt;/li&gt;
&lt;/ol&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; See supabase/schema.sql&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;ol start="3"&gt;
&lt;li&gt;Install and run:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm install
npm run dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Open &lt;a href="http://localhost:3000" rel="nofollow noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Environment variables&lt;/h2&gt;

&lt;/div&gt;
&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Variable&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Clerk publishable key&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;CLERK_SECRET_KEY&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Clerk secret key&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HERMES_URL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Hermes gateway URL (e.g. &lt;code&gt;http://hermes-agent:8642&lt;/code&gt;)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;HERMES_API_KEY&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;API_SERVER_KEY&lt;/code&gt; from Hermes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;NEXT_PUBLIC_APP_URL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Public app URL for landing page form POSTs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SUPABASE_URL&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Supabase project URL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SUPABASE_SERVICE_KEY&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Supabase service role key&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;TELEGRAM_BOT_TOKEN&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Optional fallback Telegram bot&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&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/Geek-Cheth/hermes-agent" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  My Tech Stack
&lt;/h3&gt;

&lt;p&gt;Next.js 14 + TypeScript, Tailwind CSS, Framer Motion, Clerk (auth), Supabase (Postgres), SSE streaming, Telegram Bot API, deployed via Docker + Coolify on DigitalOcean. &lt;strong&gt;AI: Hermes Agent, powered by MiniMax&lt;/strong&gt; (I got their Pro plan free through a hackathon, which made running the agent possible).&lt;/p&gt;

&lt;h2&gt;
  
  
  How I Used Hermes Agent
&lt;/h2&gt;

&lt;p&gt;Hermes is the engine behind every output. I leaned on its agentic capabilities:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Live web search&lt;/strong&gt; for real competitor data — not hallucinated.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Streaming with live progress&lt;/strong&gt; so you watch the agent think instead of a spinner.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-step pipeline&lt;/strong&gt; where the research is fed forward as context into the next three tasks for consistent positioning.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Structured output&lt;/strong&gt; via a sentinel protocol, parsed into saved, typed results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Human-in-the-loop&lt;/strong&gt; approval between every step.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This was an agent problem, not a completion problem — it had to research the real world, produce several different artifacts, carry context between them, and report progress — all of which Hermes handles natively.&lt;/p&gt;

&lt;h2&gt;
  
  
  Future Improvements
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Automated image generation&lt;/strong&gt; — auto-generate logos, OG images, and landing-page visuals per run.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dedicated backend&lt;/strong&gt; — move the in-process job queue to a shared store (Redis/Supabase) for horizontal scaling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I haven't built these yet simply because I don't have the capital for the extra infrastructure and image APIs right now. As a student (broken guy lmao) , I focused on shipping a solid core experience first.&lt;/p&gt;




</description>
      <category>hermesagentchallenge</category>
      <category>devchallenge</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
