<?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>Forem: nghiahsgs</title>
    <description>The latest articles on Forem by nghiahsgs (@nghiahsgs).</description>
    <link>https://forem.com/nghiahsgs</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%2F290910%2Ff9eef675-db8c-4cf4-8290-3c962d8c92b1.jpeg</url>
      <title>Forem: nghiahsgs</title>
      <link>https://forem.com/nghiahsgs</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/nghiahsgs"/>
    <language>en</language>
    <item>
      <title>I built a Claude Code skill that generates 50,000+ unique slide designs — and killed the "AI slop" aesthetic</title>
      <dc:creator>nghiahsgs</dc:creator>
      <pubDate>Wed, 01 Apr 2026 07:41:51 +0000</pubDate>
      <link>https://forem.com/nghiahsgs/i-built-a-claude-code-skill-that-generates-50000-unique-slide-designs-and-killed-the-ai-slop-3g4c</link>
      <guid>https://forem.com/nghiahsgs/i-built-a-claude-code-skill-that-generates-50000-unique-slide-designs-and-killed-the-ai-slop-3g4c</guid>
      <description>&lt;h1&gt;
  
  
  Stop Making Purple Slides: I Built a Token-Based Design System for Claude Code
&lt;/h1&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%2Fexie35rjvg7qwqzjdvy4.jpeg" 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%2Fexie35rjvg7qwqzjdvy4.jpeg" alt=" " width="800" height="411"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You know the look. Every AI-generated presentation has it:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Purple gradient on white background&lt;/li&gt;
&lt;li&gt;Inter font on everything&lt;/li&gt;
&lt;li&gt;Identical box-shadow on every element&lt;/li&gt;
&lt;li&gt;Flat solid backgrounds with zero depth&lt;/li&gt;
&lt;li&gt;No visual hierarchy whatsoever&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I got tired of it. So I built &lt;strong&gt;&lt;a href="https://github.com/nghiahsgs/skills-slides" rel="noopener noreferrer"&gt;skills-slides&lt;/a&gt;&lt;/strong&gt; — a Claude Code skill with a token-based design system that makes it impossible to generate generic slides.&lt;/p&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/nghiahsgs" rel="noopener noreferrer"&gt;
        nghiahsgs
      &lt;/a&gt; / &lt;a href="https://github.com/nghiahsgs/skills-slides" rel="noopener noreferrer"&gt;
        skills-slides
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      50,000+ unique HTML presentation designs. Zero dependencies. Anti-AI-slop. A Claude Code skill.
    &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;slides&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;A Claude Code skill that generates stunning HTML presentations. Zero dependencies. Works offline. Opens in any browser.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;50 aesthetics × 20 palettes × 10 fonts × 5 layouts × 30+ effects = 50,000+ unique design combinations.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Every presentation ships as a single &lt;code&gt;.html&lt;/code&gt; file — no build step, no npm, no PowerPoint. Just double-click to present.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="https://nghiahsgs.github.io/skills-slides/" rel="nofollow noopener noreferrer"&gt;Live Demo →&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/nghiahsgs/skills-slides/examples/screenshots/slide-01-title.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fnghiahsgs%2Fskills-slides%2FHEAD%2Fexamples%2Fscreenshots%2Fslide-01-title.png" alt="Title slide — gradient mesh background with particle effects" width="100%"&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/nghiahsgs/skills-slides/examples/screenshots/slide-06-features.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fnghiahsgs%2Fskills-slides%2FHEAD%2Fexamples%2Fscreenshots%2Fslide-06-features.png" alt="Feature grid — 6 cards with 3D tilt hover" width="49%"&gt;&lt;/a&gt;
  &lt;a rel="noopener noreferrer" href="https://github.com/nghiahsgs/skills-slides/examples/screenshots/slide-07-checklist.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2Fnghiahsgs%2Fskills-slides%2FHEAD%2Fexamples%2Fscreenshots%2Fslide-07-checklist.png" alt="Anti-slop checklist — 10-point quality gate" width="49%"&gt;&lt;/a&gt;
&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Why this exists&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;AI-generated slides look the same: purple gradients, Inter font, identical shadows, flat backgrounds. This skill fights that with a &lt;strong&gt;token-based design system&lt;/strong&gt; and a strict &lt;strong&gt;anti-slop checklist&lt;/strong&gt; that catches generic patterns before delivery.&lt;/p&gt;

&lt;p&gt;The result: presentations that look intentionally designed, not template-generated.&lt;/p&gt;




&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;What's inside&lt;/h2&gt;
&lt;/div&gt;

&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;
&lt;pre class="notranslate"&gt;&lt;code&gt;tokens/              # The design system
├── aesthetics.csv       # 50 named styles (startup-pitch, neon-cyber, editorial-minimal...)
├── color-palettes.csv   # 20 palettes with full hex values + WCAG ratios
├── font-pairings.csv    # 10 curated pairs from Google Fonts &amp;amp; Fontshare
├── layout-patterns.csv  # 5 CSS grid&lt;/code&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/nghiahsgs/skills-slides" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;






&lt;h2&gt;
  
  
  How it works
&lt;/h2&gt;

&lt;p&gt;Instead of letting the AI freestyle (and default to purple gradients), every presentation is built from curated design tokens:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;50 aesthetics × 20 palettes × 10 fonts × 5 layouts × 30+ effects = 50,000+ unique combinations&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You describe a vibe. The search engine finds matching tokens. You pick a direction. Claude generates a single &lt;code&gt;.html&lt;/code&gt; file.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's in the token library?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;50 aesthetics:&lt;/strong&gt; From startup-pitch to neon-cyber, editorial-minimal to terminal-hacker. Each one defines which palettes, fonts, layouts, and effects are compatible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;20 color palettes:&lt;/strong&gt; Full systems with bg, surface, text, accents, borders, and glow. Every palette ships with WCAG contrast ratios already verified.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;10 font pairings:&lt;/strong&gt; Curated display + body pairs from Google Fonts and Fontshare. No Inter. No Roboto. No system-ui.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;30+ effects:&lt;/strong&gt; Particles, aurora, gradient mesh, glassmorphism, grid overlay, magnetic cursor, 3D tilt. Complete CSS + JS snippets for each.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  The Output
&lt;/h2&gt;

&lt;p&gt;Every presentation is a single self-contained HTML file with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;✅ &lt;strong&gt;Keyboard navigation&lt;/strong&gt; (arrows, space, escape)&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Responsive sizing&lt;/strong&gt; with &lt;code&gt;clamp()&lt;/code&gt; — works on any screen&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Full ARIA labels&lt;/strong&gt; and semantic HTML&lt;/li&gt;
&lt;li&gt;✅ &lt;code&gt;prefers-reduced-motion&lt;/code&gt; support&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;Optional in-browser editing&lt;/strong&gt; (double-click any text)&lt;/li&gt;
&lt;li&gt;✅ &lt;strong&gt;PDF export&lt;/strong&gt; via Chrome headless&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;No frameworks. No dependencies. Works offline. Works forever.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Quick Start
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Clone into Claude Code skills directory:&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
git clone [https://github.com/nghiahsgs/skills-slides.git](https://github.com/nghiahsgs/skills-slides.git) ~/.claude/skills/slides
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>claudecode</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>design</category>
    </item>
    <item>
      <title>I Built an AI Agent That Governs Itself — Separation of Powers for LLMs</title>
      <dc:creator>nghiahsgs</dc:creator>
      <pubDate>Mon, 23 Mar 2026 11:08:21 +0000</pubDate>
      <link>https://forem.com/nghiahsgs/i-built-an-ai-agent-that-governs-itself-separation-of-powers-for-llms-123</link>
      <guid>https://forem.com/nghiahsgs/i-built-an-ai-agent-that-governs-itself-separation-of-powers-for-llms-123</guid>
      <description>&lt;p&gt;Most AI agents today work like interns with root access — powerful but ungoverned. They can call any tool, access any file, and execute any command. We trust them because... well, we hope the LLM "knows better."&lt;/p&gt;

&lt;p&gt;I didn't like that. So I built &lt;strong&gt;LawClaw&lt;/strong&gt; — an AI agent governed by a &lt;strong&gt;separation of powers&lt;/strong&gt; framework, inspired by constitutional law.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem
&lt;/h2&gt;

&lt;p&gt;Every AI agent framework I've seen treats governance as an afterthought:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;"Just add a system prompt telling it not to do bad things"&lt;/li&gt;
&lt;li&gt;"Use a content filter on the output"&lt;/li&gt;
&lt;li&gt;"Hope the model is aligned enough"&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is like running a country with no laws, no courts, and no constitution — just a king who promises to be good.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Architecture: Three Branches of Power
&lt;/h2&gt;

&lt;p&gt;LawClaw implements three distinct governance layers:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Constitution (Immutable Rules)
&lt;/h3&gt;

&lt;p&gt;A constitution.md file that &lt;strong&gt;cannot be modified&lt;/strong&gt; by the agent itself. It defines:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Fundamental rights of the owner&lt;/li&gt;
&lt;li&gt;Boundaries of power (what the agent SHALL NOT do)&lt;/li&gt;
&lt;li&gt;Resource limits (execution timeouts, iteration caps)&lt;/li&gt;
&lt;li&gt;Transparency requirements (audit trails)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  2. Legislative Branch (Laws)
&lt;/h3&gt;

&lt;p&gt;Detailed laws that the owner can create, update, or repeal:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Conduct Law&lt;/strong&gt;: How the agent communicates and behaves&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Privacy Law&lt;/strong&gt;: Data handling rules&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Safety Law&lt;/strong&gt;: Dangerous operation restrictions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are more flexible than the constitution — the owner can adjust them as needs change.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Pre-Judicial Branch (Automated Enforcement)
&lt;/h3&gt;

&lt;p&gt;A judicial layer that &lt;strong&gt;intercepts every tool call before execution&lt;/strong&gt; and checks it against the constitution and laws. Think of it as automated traffic cameras:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Agent tries to delete critical files? &lt;strong&gt;Blocked.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Agent tries to expose an API key? &lt;strong&gt;Blocked.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Agent tries to modify the constitution? &lt;strong&gt;Blocked.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The agent doesn't need to be trusted. It needs to be &lt;strong&gt;governed.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;As AI agents get more capable, the question isn't "can we make them smarter?" — it's "can we make them accountable?"&lt;/p&gt;

&lt;p&gt;With traditional approaches, you're relying on the LLM's training to avoid dangerous actions. With separation of powers, you have &lt;strong&gt;structural guarantees&lt;/strong&gt; — the judicial branch blocks dangerous actions regardless of what the LLM "decides."&lt;/p&gt;

&lt;h2&gt;
  
  
  Key Design Principles
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. The agent cannot modify its own governance&lt;/strong&gt;&lt;br&gt;
Just like a citizen can't rewrite the constitution, LawClaw cannot edit its own rules. Only the human owner can.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Laws are transparent and auditable&lt;/strong&gt;&lt;br&gt;
Every tool call is logged. The owner can review the full audit trail at any time. No black boxes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Enforcement is automated, not advisory&lt;/strong&gt;&lt;br&gt;
The judicial branch doesn't "suggest" blocking a dangerous action — it &lt;strong&gt;vetoes&lt;/strong&gt; it. The agent then reports what happened transparently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Separation prevents concentration of power&lt;/strong&gt;&lt;br&gt;
No single layer controls everything. The constitution limits the laws. The laws guide the agent. The judiciary enforces both.&lt;/p&gt;

&lt;h2&gt;
  
  
  What LawClaw Can Do (Within Its Laws)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Browse the web and research topics&lt;/li&gt;
&lt;li&gt;Control a Chrome browser (with persistent sessions)&lt;/li&gt;
&lt;li&gt;Manage cron jobs for scheduled tasks&lt;/li&gt;
&lt;li&gt;Send and receive emails&lt;/li&gt;
&lt;li&gt;Execute shell commands (within safety limits)&lt;/li&gt;
&lt;li&gt;Work with git repos, create PRs, merge code&lt;/li&gt;
&lt;li&gt;Fetch real-time data (crypto prices, weather, news)&lt;/li&gt;
&lt;li&gt;Create 3D scenes with Blender&lt;/li&gt;
&lt;li&gt;Write, edit, and debug code&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of this — governed. Every action checked. Every dangerous pattern blocked.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Insight
&lt;/h2&gt;

&lt;p&gt;We've spent thousands of years developing governance frameworks for humans. Constitutions, laws, courts, checks and balances — these aren't bugs in human civilization. They're &lt;strong&gt;features.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;AI agents need the same thing. Not better prompts. Not bigger models. &lt;strong&gt;Better governance.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The agent doesn't need to be trusted. It needs to be &lt;strong&gt;governed.&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;LawClaw is a governed AI agent running as a Telegram bot. If you're interested in the separation of powers approach to AI agent safety, I'd love to hear your thoughts in the comments.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I built an open-source "focus group simulator" that spawns 1,000 AI customers to roast your startup idea</title>
      <dc:creator>nghiahsgs</dc:creator>
      <pubDate>Mon, 16 Mar 2026 06:29:54 +0000</pubDate>
      <link>https://forem.com/nghiahsgs/i-built-an-open-source-focus-group-simulator-that-spawns-1000-ai-customers-to-roast-your-startup-1c5o</link>
      <guid>https://forem.com/nghiahsgs/i-built-an-open-source-focus-group-simulator-that-spawns-1000-ai-customers-to-roast-your-startup-1c5o</guid>
      <description>&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%2Fxueljlki3atx4ts9o3bi.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%2Fxueljlki3atx4ts9o3bi.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The Problem&lt;/p&gt;

&lt;p&gt;Every founder has been there: you spend 3 months building something, launch it, and... crickets. Nobody wants it.&lt;/p&gt;

&lt;p&gt;User interviews cost time. Landing page A/B tests cost money. Survey panels cost both.&lt;/p&gt;

&lt;p&gt;What if you could get brutally honest feedback from 1,000 potential customers in 2 minutes?&lt;/p&gt;

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

&lt;p&gt;&lt;strong&gt;Sybil Swarm&lt;/strong&gt; is an open-source swarm intelligence engine. You feed it your product URL or description, and it:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Spawns 1,000 AI agents — each with a unique persona (age, job, income, personality, interests)&lt;/li&gt;
&lt;li&gt;Has them evaluate your product as real potential customers&lt;/li&gt;
&lt;li&gt;Generates a market prediction report with conversion rate, objections, and recommendations&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The name comes from the Sibyls — prophetic oracles of ancient Greece.&lt;/p&gt;

&lt;p&gt;Demo&lt;/p&gt;

&lt;p&gt;

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


&lt;/p&gt;

&lt;p&gt;The Dashboard&lt;/p&gt;

&lt;p&gt;The simulation runs in real-time with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Canvas world&lt;/strong&gt; — agents move around, cluster by sentiment (buyers → right, rejectors → left)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sentiment heatmap&lt;/strong&gt; — fills up red/yellow/green as agents complete&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Live feed&lt;/strong&gt; — Twitter-like stream of agent reactions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Conversion funnel&lt;/strong&gt; — Aware → Interested → Willing to Pay → Would Buy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## What the Report Looks Like&lt;/p&gt;

&lt;p&gt;The AI synthesis agent writes a brutally honest market prediction:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Market Viability Score (0-100)&lt;/li&gt;
&lt;li&gt;Conversion rate prediction&lt;/li&gt;
&lt;li&gt;Top objections (what's killing your product)&lt;/li&gt;
&lt;li&gt;Top suggestions (what would make people buy)&lt;/li&gt;
&lt;li&gt;Go/No-Go recommendation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of my test runs came back: &lt;em&gt;"AgriBeacon is not viable in its current form. 0% conversion rate. Its value proposition is a&lt;br&gt;
  marketing mirage."&lt;/em&gt; Ouch. But exactly what I needed to hear.&lt;/p&gt;

&lt;p&gt;## Tech Stack&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Python FastAPI, async parallel agent evaluation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; Next.js 16, Canvas 2D, Framer Motion&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;LLM:&lt;/strong&gt; Any OpenAI-compatible API (works with free Alibaba Qwen tier)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No agent framework&lt;/strong&gt; — just async batch LLM calls with semaphore. CrewAI/LangGraph are overkill for this.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;## Try It&lt;/p&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
bash
  git clone https://github.com/nghiahsgs/Sybil-Swarm.git
  cd Sybil-Swarm
  # Set up your API key (Qwen free tier works!)
  cp .env.example .env
  # Install &amp;amp; run
  cd backend &amp;amp;&amp;amp; pip install -e . &amp;amp;&amp;amp; uvicorn app.main:app --port 8000 &amp;amp;
  cd ../frontend &amp;amp;&amp;amp; npm install &amp;amp;&amp;amp; npm run dev

  Open http://localhost:3000 → paste your URL → Launch Simulation

  Is This Actually Useful?

  Honestly? It's not a replacement for talking to real humans. But it's a cheap, fast pre-filter:

  - If 0% of simulated customers would buy → strong signal to pivot
  - If 40%+ would buy → worth investing in real validation
  - The objections list alone is worth it — things you didn't think of

  What's Next

  - Chat with individual agents post-simulation (already built)
  - More provider support (OpenAI, Anthropic, Google, Qwen)
  - Deploy as hosted service

  GitHub: https://github.com/nghiahsgs/Sybil-Swarm

  MIT license. Stars appreciated!

  ---
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
      <category>webdev</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
