NETBOT: DIGITAL TWIN FRAMEWORK
THE "GHOST DEVELOPER" PARADOX
"Senior developers face a dilemma: to build authority, you need to be present online. To be a good engineer, you need deep focus (and zero social media distractions)."
The status quo of automation tools is embarrassing: generic "Great post! 🔥" bots that destroy your reputation. I didn't want a spam script; I needed a Digital Twin. I needed an agent capable of looking at a screenshot of code, understanding the bug, and commenting with a technical solution—while I sleep. The challenge was building an autonomous entity that respects my persona, understands visual context, and navigates the "Anti-Bot" minefield of modern platforms.
BRAIN-BODY DECOUPLING
[ Orchestrator ]
|
v
[ Discovery Strategy ] --> [ Multimodal Analysis (GPT-4o) ]
|
v
[ Image + Caption ]
|
v
[ Supabase Vector (RAG) ] --(Persona Context)--> [ Agno Agent (Brain) ]
|
v
[ Action Decision ]
|
v
[ Browser Client (Body) ]
| |
v v
[ Scroll / Read ] [ Human-like Typing ]I strictly separated the "Brain" (AI Logic) from the "Body" (Platform Clients).
The Brain: Uses Agno and Supabase (pgvector) to decide what to say based on my past writings.
The Body: Uses Playwright to execute actions. It doesn't use official APIs (which are limited); it launches a headless browser and physically clicks buttons, making it platform-agnostic.
MULTIMODAL VISION & PERSONA RAG
The core innovation here is Contextual Vision. Most bots are blind—they only read captions. NetBot "sees".
Agent captures the post image. If it's a diagram, it analyzes architecture. If a meme, it detects humor.
Queries Knowledge Base (RAG): "How would Guilherme react to a bad microservices architecture?"
Secondary LLM step evaluates if comment is toxic, generic, or off-brand before posting.
# Simplified logic from core/agent.py
async function analyze_and_engage(post_screenshot, caption):
# 1. Vision Analysis
visual_context = await vision_model.analyze(post_screenshot)
# 2. Retrieve Persona Context
memories = await vector_db.search(query=caption + visual_context)
# 3. Decision
if visual_context.is_relevant_tech_content:
return await agent.generate_comment(
context=memories,
tone="Senior Engineer, slightly ironic"
)
return Action.SKIPTHE "UNCANNY VALLEY" OF AUTOMATION
In this project, "UX" isn't about a user interface; it's about Human Simulation. Platforms detect bots by analyzing latency and perfection. To bypass this, I engineered "Human Imperfection".
- VARIABLE LATENCY
The bot pauses to "read" the post.
- TYPOS & CORRECTIONS
The typing engine occasionally makes a mistake and backspaces it, simulating real keystrokes.
- RANDOM SCROLLING
It doesn't just go to the target; it scrolls past, "looks" at other things, and then engages. It behaves like a bored human.
Vision AI - Successfully differentiated between "Code Snippets" and "Lifestyle Photos" in 95% of tests.
Resilience - By using Playwright with "Humanizing" patterns, the agent survived strict rate-limiting filters.
Released as an educational framework for studying Agentic Workflows and RAG-based assistants.