<?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: Sumama-Jameel</title>
    <description>The latest articles on DEV Community by Sumama-Jameel (@sumama_jamil_173056ab0be5).</description>
    <link>https://dev.to/sumama_jamil_173056ab0be5</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3979013%2F270972d4-d44c-4b3e-84a6-1a634c06e7f7.png</url>
      <title>DEV Community: Sumama-Jameel</title>
      <link>https://dev.to/sumama_jamil_173056ab0be5</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sumama_jamil_173056ab0be5"/>
    <language>en</language>
    <item>
      <title>Nexus Engine: One command to Set Up a Complete production Environment</title>
      <dc:creator>Sumama-Jameel</dc:creator>
      <pubDate>Tue, 21 Jul 2026 06:50:11 +0000</pubDate>
      <link>https://dev.to/sumama_jamil_173056ab0be5/nexus-engine-one-command-to-set-up-a-complete-production-environment-1m36</link>
      <guid>https://dev.to/sumama_jamil_173056ab0be5/nexus-engine-one-command-to-set-up-a-complete-production-environment-1m36</guid>
      <description>&lt;p&gt;I’m 14 and I got tired of spending hours (sometimes days) setting up new machines. Different distros, different package managers, fragile shell scripts, no rollback.&lt;/p&gt;

&lt;p&gt;So I built &lt;strong&gt;Nexus&lt;/strong&gt; — a cross-platform environment provisioning engine. One command turns a fresh OS into a fully productive development machine.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Setting up a dev machine is painful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Hundreds of Linux distros with different package managers (apt, pacman, dnf, apk).&lt;/li&gt;
&lt;li&gt;Shell scripts break easily with no rollback or state management.&lt;/li&gt;
&lt;li&gt;Tools like Ansible are overkill for laptops. Docker doesn’t configure your host. Dotfile managers don’t install dependencies.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Result: Developers lose dozens of hours per year on setup issues.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Nexus Does
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;One static Go binary.&lt;/strong&gt; Detects your OS, chooses the right package manager, applies declarative YAML profiles, and handles everything with security gates and rollback.&lt;/p&gt;

&lt;p&gt;No scripts. No manual steps. Works on Linux and Windows (with WSL2 support).&lt;/p&gt;

&lt;h3&gt;
  
  
  Standout Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cross-distro support&lt;/strong&gt; — apt, pacman, dnf, apk behind one interface.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;7-step orchestrator with rollback&lt;/strong&gt; — PreFlight → Refresh → Execute → Verify → Audit. Failed foundation packages trigger full rollback.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security gate (SanitizeAndExecute)&lt;/strong&gt; — Allowlist, metacharacter rejection, timeouts. No raw shell execution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;10 built-in profiles&lt;/strong&gt; — Go dev, Rust dev, Frontend, Data Science, Ethical Hacking, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;WSL2 setup in ~60 seconds&lt;/strong&gt; on Windows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dotfiles + age-encrypted vault + Distrobox containers&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Community profile registry&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Optional Tauri GUI dashboard.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Architecture
&lt;/h3&gt;

&lt;p&gt;Nexus is organized in bounded contexts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;BRAIN&lt;/strong&gt; — Cobra CLI + core engine (Go)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DNA&lt;/strong&gt; — YAML profiles with JSON Schema + struct validation + SHA256 integrity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BRIDGE&lt;/strong&gt; — WSL2 handling (cross-compiled)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CONTAINER&lt;/strong&gt; — Distrobox management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;VAULT&lt;/strong&gt; — age encryption&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;REGISTRY&lt;/strong&gt; — Community profiles&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every command goes through a strict security gate. State is crash-safe with atomic writes and append-only logs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Quick Start
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install&lt;/span&gt;
go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/Sumama-Jameel/nexus-engine/cmd/nexus@latest

&lt;span class="c"&gt;# Initialize&lt;/span&gt;
nexus init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nexus wsl setup    &lt;span class="c"&gt;# Full WSL2 setup&lt;/span&gt;
nexus wsl enter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Competitor Comparison
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Static Binary&lt;/th&gt;
&lt;th&gt;Cross-Distro&lt;/th&gt;
&lt;th&gt;Security Gate&lt;/th&gt;
&lt;th&gt;Rollback&lt;/th&gt;
&lt;th&gt;WSL2&lt;/th&gt;
&lt;th&gt;One-Command Init&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Nexus&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ansible&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Nix&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;chezmoi&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Nexus combines the best ideas into one tool.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why I Built It
&lt;/h3&gt;

&lt;p&gt;The Linux desktop (and Windows-to-Linux migration) should be accessible to everyone — not just people who’ve memorized package manager flags. Nexus makes reproducible, secure dev environments simple.&lt;/p&gt;

&lt;h3&gt;
  
  
  Get Involved
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Add or improve profiles&lt;/li&gt;
&lt;li&gt;Test on your distro and open issues&lt;/li&gt;
&lt;li&gt;Contribute to WSL2 or container features&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Sumama-Jameel/nexus-engine" rel="noopener noreferrer"&gt;https://github.com/Sumama-Jameel/nexus-engine&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s the most painful part of setting up a new dev machine for you? Have you tried tools like Nix or Ansible? I’d love your feedback.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>linux</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>SubZero: Privacy-First Subscription Detector (Open Source Alternative to Rocket Money)</title>
      <dc:creator>Sumama-Jameel</dc:creator>
      <pubDate>Tue, 21 Jul 2026 06:47:38 +0000</pubDate>
      <link>https://dev.to/sumama_jamil_173056ab0be5/subzero-privacy-first-subscription-detector-open-source-alternative-to-rocket-money-31dd</link>
      <guid>https://dev.to/sumama_jamil_173056ab0be5/subzero-privacy-first-subscription-detector-open-source-alternative-to-rocket-money-31dd</guid>
      <description>&lt;p&gt;I’m 14 and I built an open-source tool that finds every subscription in your bank statement — &lt;strong&gt;without Plaid, without storing your data, and without selling your financial history&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SubZero&lt;/strong&gt; is a Next.js web app where you upload a PDF or CSV bank statement. It scans everything in memory and returns a detailed report of recurring charges, price hikes, and cancellation options.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;People waste hundreds of dollars every year on forgotten subscriptions. Commercial tools like Rocket Money and Trim solve this by connecting directly to your bank via Plaid — which means giving a third party your login credentials and full financial data.&lt;/p&gt;

&lt;p&gt;That’s a privacy nightmare.&lt;/p&gt;

&lt;h3&gt;
  
  
  SubZero’s Approach
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Upload → Scan in memory → Delete.&lt;/strong&gt; No accounts. No persistent storage. Your data never leaves the server except in the response.&lt;/p&gt;

&lt;p&gt;It uses &lt;strong&gt;8 detection methods&lt;/strong&gt; running in parallel for high accuracy:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Keyword + fuzzy matching (Fuse.js)&lt;/li&gt;
&lt;li&gt;Time-delta and amount clustering&lt;/li&gt;
&lt;li&gt;500+ vendor database (including local services like JazzCash, Daraz, Foodpanda)&lt;/li&gt;
&lt;li&gt;Trigram index + Double Metaphone phonetic matching&lt;/li&gt;
&lt;li&gt;Business/SaaS usage-based detection&lt;/li&gt;
&lt;li&gt;Cross-report comparison for price hikes and cancellations&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Privacy by design&lt;/strong&gt; — Zero data persistence. PII scrubbing (SSNs, account numbers, etc.).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-format support&lt;/strong&gt; — CSV + PDF (using mupdf).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Smart heuristics&lt;/strong&gt; — Detects truncated vendor names, variable SaaS charges, and single-occurrence subscriptions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Optional LLM&lt;/strong&gt; — Only anonymized hints sent. Cancel URLs restricted to safe whitelist.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;5-layer upload security&lt;/strong&gt; — Validation, sanitization, magic bytes, size limits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-upload mode&lt;/strong&gt; — Compare statements across months automatically.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One-click Vercel deploy&lt;/strong&gt; — No database required.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Architecture Deep Dive
&lt;/h3&gt;

&lt;p&gt;The core is a 10-stage pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Rate limiting + Upload validation (5 layers)&lt;/li&gt;
&lt;li&gt;Parsing (CSV via Papaparse, PDF via mupdf)&lt;/li&gt;
&lt;li&gt;PII scrubbing + bank detection&lt;/li&gt;
&lt;li&gt;Heuristics Engine (8 parallel methods)&lt;/li&gt;
&lt;li&gt;Confidence scoring (0-100 based on 8 signals)&lt;/li&gt;
&lt;li&gt;Merge + deduplication&lt;/li&gt;
&lt;li&gt;Enrichment (actions, health score A-F)&lt;/li&gt;
&lt;li&gt;Optional LLM normalization&lt;/li&gt;
&lt;li&gt;Report generation&lt;/li&gt;
&lt;li&gt;Response (JSON + optional PDF export)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The entire engine lives in &lt;code&gt;lib/audit/&lt;/code&gt;. It’s designed to be easy to extend with new heuristics or vendor patterns.&lt;/p&gt;

&lt;h3&gt;
  
  
  Security Model
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Per-IP rate limiting&lt;/li&gt;
&lt;li&gt;Zod schema validation at every boundary&lt;/li&gt;
&lt;li&gt;Strict PII regex scrubbing&lt;/li&gt;
&lt;li&gt;CSP, HSTS, and other security headers&lt;/li&gt;
&lt;li&gt;Body size limits (max 11MB)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Competitor Comparison
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Bank Login&lt;/th&gt;
&lt;th&gt;Cost&lt;/th&gt;
&lt;th&gt;Open Source&lt;/th&gt;
&lt;th&gt;Privacy&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SubZero&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Free&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Zero persistence&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Rocket Money&lt;/td&gt;
&lt;td&gt;Yes (Plaid)&lt;/td&gt;
&lt;td&gt;$6–12/month&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Full data shared&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Trim&lt;/td&gt;
&lt;td&gt;Yes (Plaid)&lt;/td&gt;
&lt;td&gt;% of savings&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Full data shared&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SubFind&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;One-time&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Closed source&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;SubZero gives you comparable detection power with actual privacy.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Next.js&lt;/strong&gt; + TypeScript + Tailwind&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Zod&lt;/strong&gt; for validation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fuse.js&lt;/strong&gt;, Trigram, Double Metaphone for matching&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mupdf&lt;/strong&gt; for PDF extraction&lt;/li&gt;
&lt;li&gt;Deployable on Vercel with zero config&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Get Involved
&lt;/h3&gt;

&lt;p&gt;This project needs help expanding the vendor database (especially for non-US banks) and improving detection accuracy.&lt;/p&gt;

&lt;p&gt;Try it here: Upload a statement and see what it finds.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Sumama-Jameel/subzero" rel="noopener noreferrer"&gt;https://github.com/Sumama-Jameel/subzero&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s the most annoying subscription tracking problem you’ve faced? Or if you’ve tried it, what did it miss or get right?&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiqbmj0gte8rehae5x87q.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fiqbmj0gte8rehae5x87q.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1tpjos71s818co2f47h5.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F1tpjos71s818co2f47h5.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;br&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fth1hhdarss7f02u2sbw3.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fth1hhdarss7f02u2sbw3.png" alt=" " width="800" height="600"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Scam Intelligence Network: One API for Threat Intelligence (URL, Email, Phone &amp; Crypto)</title>
      <dc:creator>Sumama-Jameel</dc:creator>
      <pubDate>Tue, 21 Jul 2026 06:44:24 +0000</pubDate>
      <link>https://dev.to/sumama_jamil_173056ab0be5/scam-intelligence-network-one-api-for-threat-intelligence-url-email-phone-crypto-5f8b</link>
      <guid>https://dev.to/sumama_jamil_173056ab0be5/scam-intelligence-network-one-api-for-threat-intelligence-url-email-phone-crypto-5f8b</guid>
      <description>&lt;p&gt;I’m a 14-year-old builder. My first big project using AI was trying to commercialize a threat intelligence tool. I failed to sell it. So I open-sourced it instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Scam Intelligence Network (SIN)&lt;/strong&gt; is an open-source “OpenRouter for threat intelligence.” One unified API to check suspicious URLs, emails, phone numbers, and crypto addresses against 1.43 million local records + 10+ external sources + optional LLM analysis.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem
&lt;/h3&gt;

&lt;p&gt;Cybercrime is exploding, but checking threats is fragmented and painful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You need 10–12 different APIs (VirusTotal, AbuseIPDB, HIBP, EmailRep, IPQualityScore, etc.).&lt;/li&gt;
&lt;li&gt;Each has different keys, rate limits, response formats, and pricing.&lt;/li&gt;
&lt;li&gt;Most solutions are either expensive, closed-source, or lack coverage for all four vectors (URL + Email + Phone + Crypto).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is especially hard for indie developers, small security teams, and self-hosted setups.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Scam Intelligence Network Solves
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;One POST request. One consistent response format.&lt;/strong&gt; Parallel checks. Smart fallback. Local-first design.&lt;/p&gt;

&lt;p&gt;Key Highlights:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;1.43 million local threat records&lt;/strong&gt; — Instant offline detection (under 10ms). Skips external calls on matches.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;10+ external sources&lt;/strong&gt; checked in parallel using &lt;code&gt;asyncio.gather()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Unified verdict engine&lt;/strong&gt; with weighted scoring + rule-based overrides.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Circuit breakers&lt;/strong&gt; and caching for reliability.&lt;/li&gt;
&lt;li&gt;Full &lt;strong&gt;Docker&lt;/strong&gt; deployment + CLI tool.&lt;/li&gt;
&lt;li&gt;Privacy-first and self-hostable.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Core Architecture
&lt;/h3&gt;

&lt;p&gt;The system follows a clean vertical-slice + layered design:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;REST/CLI Layer → Analyzer Layer → Service Layer → Infrastructure Layer → Local Threat Data
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Analyzer Layer&lt;/strong&gt; — One folder per type (URL, Email, Phone, Crypto). Easy to extend.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Service Layer&lt;/strong&gt; — Parallel calls to VirusTotal, AbuseIPDB, URLhaus, HIBP, IPQS, Groq LLM, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Infrastructure&lt;/strong&gt; — SQLite caching (with HMAC integrity), circuit breakers, rate limiting, API key auth.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verdict Engine&lt;/strong&gt; — Combines signals into HIGH/MEDIUM/LOW/CRITICAL with confidence scores.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Local blacklist check happens first — massive speed win and cost saver.&lt;/p&gt;

&lt;h3&gt;
  
  
  Main Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Four analyzers behind a single &lt;code&gt;/analyze&lt;/code&gt; endpoint.&lt;/li&gt;
&lt;li&gt;Local + external + optional LLM reasoning (anonymized data only).&lt;/li&gt;
&lt;li&gt;Quality gates and tiered confidence scoring.&lt;/li&gt;
&lt;li&gt;Prometheus metrics, security headers, correlation IDs.&lt;/li&gt;
&lt;li&gt;Analytics database for tracking queries.&lt;/li&gt;
&lt;li&gt;Ready for monetization (tiered plans) but fully open source.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Quick Start
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Docker (recommended):&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/Sumama-Jameel/scam-intelligence-network.git
&lt;span class="nb"&gt;cd &lt;/span&gt;scam-intelligence-network
&lt;span class="nb"&gt;cp&lt;/span&gt; .env.example .env
docker-compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Test it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-X&lt;/span&gt; POST http://localhost:8000/analyze &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-H&lt;/span&gt; &lt;span class="s2"&gt;"X-API-Key: your-key"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s1"&gt;'{"input": "https://suspicious-site.com", "input_type": "URL"}'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Or use the CLI:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python main.py &lt;span class="s2"&gt;"suspicious@example.com"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Why I Open Sourced It
&lt;/h3&gt;

&lt;p&gt;I tried selling it and failed. Couldn’t find customers or explain the value clearly. But the code is solid and catches real threats. If even one person uses it to block a phishing attempt, it was worth releasing.&lt;/p&gt;

&lt;p&gt;Threat intelligence shouldn’t be locked behind enterprise budgets.&lt;/p&gt;

&lt;h3&gt;
  
  
  Competitor Comparison
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;URL&lt;/th&gt;
&lt;th&gt;Email&lt;/th&gt;
&lt;th&gt;Phone&lt;/th&gt;
&lt;th&gt;Crypto&lt;/th&gt;
&lt;th&gt;Local DB&lt;/th&gt;
&lt;th&gt;Open Source&lt;/th&gt;
&lt;th&gt;Self-Hosted&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;SIN&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;1.43M&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IPQualityScore&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AlienVault OTX&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Partial&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No other open tool covers all four vectors with this level of local + parallel + resilient design.&lt;/p&gt;

&lt;h3&gt;
  
  
  Tech Stack &amp;amp; Design Choices
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;FastAPI&lt;/strong&gt; + Python&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SQLite&lt;/strong&gt; for cache + analytics + auth&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Asyncio&lt;/strong&gt; for parallel checks&lt;/li&gt;
&lt;li&gt;Vertical slice architecture for easy extension&lt;/li&gt;
&lt;li&gt;Heavy focus on resilience (circuit breakers, caching, quality gates)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Get Involved
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Run it locally or deploy on a cheap VPS.&lt;/li&gt;
&lt;li&gt;Add new data sources or blocklists.&lt;/li&gt;
&lt;li&gt;Share feedback or issues.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/Sumama-Jameel/scam-intelligence-network" rel="noopener noreferrer"&gt;https://github.com/Sumama-Jameel/scam-intelligence-network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s the biggest pain point you face with threat intelligence today — fragmented APIs, cost, or lack of coverage for certain vectors? Let me know in the comments.&lt;/p&gt;

</description>
      <category>api</category>
      <category>opensource</category>
      <category>security</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Whelmer: Full-Visibility Browser DevTools for AI Agents</title>
      <dc:creator>Sumama-Jameel</dc:creator>
      <pubDate>Tue, 21 Jul 2026 06:40:30 +0000</pubDate>
      <link>https://dev.to/sumama_jamil_173056ab0be5/whelmer-full-visibility-browser-devtools-for-ai-agents-22i5</link>
      <guid>https://dev.to/sumama_jamil_173056ab0be5/whelmer-full-visibility-browser-devtools-for-ai-agents-22i5</guid>
      <description>&lt;p&gt;I’m a 14-year-old builder from Pakistan. After struggling with existing browser automation tools while building AI agents, I decided to create something better.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Whelmer&lt;/em&gt; is a Rust-based CLI tool that gives you complete, unfiltered access to everything a browser emits — across multiple protocols and browsers.&lt;/p&gt;

&lt;h3&gt;
  
  
  The Problem with Existing Tools
&lt;/h3&gt;

&lt;p&gt;When you connect to a browser via CDP (Chrome DevTools Protocol), the browser fires hundreds of event types across 53 domains: Network, DOM, Console, Storage, Fetch, Security, and more.&lt;/p&gt;

&lt;p&gt;Most agent frameworks and tools do one (or more) of the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Filter events aggressively&lt;/li&gt;
&lt;li&gt;Hide protocol differences behind high-level abstractions&lt;/li&gt;
&lt;li&gt;Only support Chrome CDP&lt;/li&gt;
&lt;li&gt;Drop events they consider “unimportant”&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This creates blind spots. You miss critical signals — like how an SPA handles auth tokens in localStorage, or subtle network patterns that reveal rate limiting logic.&lt;/p&gt;

&lt;p&gt;Multi-browser support makes it worse. Firefox uses BiDi or its own FDP. Safari has its own protocol. Most tools pretend these differences don’t exist.&lt;/p&gt;

&lt;h3&gt;
  
  
  What Whelmer Does Differently
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Whelmer&lt;/strong&gt; shows &lt;strong&gt;everything&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Native support for &lt;strong&gt;CDP, BiDi, FDP&lt;/strong&gt;, and Foxbridge (CDP-to-Firefox proxy)&lt;/li&gt;
&lt;li&gt;Works out of the box with Chrome, Brave, Edge, Opera, and Firefox&lt;/li&gt;
&lt;li&gt;A central &lt;strong&gt;EventBus&lt;/strong&gt; with a 10,000-event ring buffer — nothing is dropped&lt;/li&gt;
&lt;li&gt;Raw NDJSON streaming for easy piping into other tools/agents&lt;/li&gt;
&lt;li&gt;Runtime domain management (enable/disable any of the 53 CDP domains)&lt;/li&gt;
&lt;li&gt;Structured JSON output for all commands&lt;/li&gt;
&lt;li&gt;Pure Rust static binary (~7MB) — no Node.js, no Python, no heavy dependencies&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Multi-protocol support&lt;/strong&gt; — One binary, consistent event model across browsers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Raw event firehose&lt;/strong&gt; — Every WebSocket message is available. Use &lt;code&gt;events --json&lt;/code&gt; and pipe to &lt;code&gt;jq&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;History replay&lt;/strong&gt; — Access the last 10k events with &lt;code&gt;events --history N&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Powerful commands&lt;/strong&gt;:

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;dom&lt;/code&gt;, &lt;code&gt;eval&lt;/code&gt;, &lt;code&gt;cookies&lt;/code&gt;, &lt;code&gt;storage&lt;/code&gt;, &lt;code&gt;network&lt;/code&gt;, &lt;code&gt;screenshot&lt;/code&gt;, &lt;code&gt;perf&lt;/code&gt;, etc.&lt;/li&gt;
&lt;li&gt;All support &lt;code&gt;--json&lt;/code&gt; output.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pluggable architecture&lt;/strong&gt; — Easy to extend with new protocols or handlers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Architecture Overview
&lt;/h3&gt;

&lt;p&gt;Whelmer uses a clean pipeline:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;WsConnection&lt;/strong&gt; — Manages persistent WebSocket connection with command/response routing and timeouts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;EventBus&lt;/strong&gt; — Broadcast channel + ring buffer. Every event reaches every consumer.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Display Consumer&lt;/strong&gt; — Formats known events for terminal output.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agent Consumer&lt;/strong&gt; — For raw streaming and history queries.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This decoupling means the tool never silently drops data. You decide what matters.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why I Built It
&lt;/h3&gt;

&lt;p&gt;Whelmer was created for a specific use case: reverse-engineering the web interfaces of AI model providers. When OpenAI, Google, xAI, or others update their UIs or internal APIs, agent integrations break. Whelmer lets you see exactly what changed in real time.&lt;/p&gt;

&lt;p&gt;It is also the foundation for &lt;strong&gt;RynoVider&lt;/strong&gt; — my upcoming OpenAI-compatible API wrapper that routes through actual model web UIs.&lt;/p&gt;

&lt;h3&gt;
  
  
  Competitor Comparison
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Tool&lt;/th&gt;
&lt;th&gt;Protocols&lt;/th&gt;
&lt;th&gt;Raw Events&lt;/th&gt;
&lt;th&gt;History Buffer&lt;/th&gt;
&lt;th&gt;Domain Toggle&lt;/th&gt;
&lt;th&gt;Runtime&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Whelmer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CDP + BiDi + FDP&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;10k events&lt;/td&gt;
&lt;td&gt;Yes (53)&lt;/td&gt;
&lt;td&gt;Rust&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;agent-browser (Vercel)&lt;/td&gt;
&lt;td&gt;CDP only&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Rust+Node&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Puppeteer&lt;/td&gt;
&lt;td&gt;CDP only&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Node&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Quick Start
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install&lt;/span&gt;
cargo &lt;span class="nb"&gt;install &lt;/span&gt;whelmer

&lt;span class="c"&gt;# Or from source&lt;/span&gt;
git clone https://github.com/Sumama-Jameel/Whelmer
&lt;span class="nb"&gt;cd &lt;/span&gt;Whelmer
cargo build &lt;span class="nt"&gt;--release&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Launch your browser with remote debugging:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;google-chrome &lt;span class="nt"&gt;--remote-debugging-port&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;9222
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;whelmer
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Future Plans
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Safari WebKit support&lt;/li&gt;
&lt;li&gt;Better integration as a library&lt;/li&gt;
&lt;li&gt;Enhanced agent-friendly features for RynoVider&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Whelmer&lt;/strong&gt; is open source under MIT. Feedback, issues, and contributions are welcome.&lt;/p&gt;

&lt;p&gt;→ &lt;a href="https://github.com/Sumama-Jameel/Whelmer" rel="noopener noreferrer"&gt;GitHub Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What’s the most painful hidden browser behavior you’ve encountered while building agents? I’d love to hear your experiences in the comments.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>automation</category>
      <category>rust</category>
      <category>showdev</category>
    </item>
    <item>
      <title>I Spent a Year Setting Up New Machines. So I Built a Tool That Does It in One Command.</title>
      <dc:creator>Sumama-Jameel</dc:creator>
      <pubDate>Thu, 11 Jun 2026 08:03:22 +0000</pubDate>
      <link>https://dev.to/sumama_jamil_173056ab0be5/i-spent-a-year-setting-up-new-machines-so-i-built-a-tool-that-does-it-in-one-command-67j</link>
      <guid>https://dev.to/sumama_jamil_173056ab0be5/i-spent-a-year-setting-up-new-machines-so-i-built-a-tool-that-does-it-in-one-command-67j</guid>
      <description>&lt;p&gt;Every time I get a new laptop, the same thing happens. Day one. Fresh install. Nothing works the way I want it. No git. No Docker. No Node. No Vim config. Nothing. So I spend the next three hours Googling. "How to install Docker on Ubuntu." "How to set up WSL2 on Windows." "Why is my pacman command not found." Copy, paste, hope. Break something. Start over.&lt;/p&gt;

&lt;p&gt;By the end of the day I have a machine that sort of works, but I'm not sure what I installed or whether any of it is set up right. And I know I'll go through the exact same thing next time. If you've ever set up a new machine, you know this feeling. It's not hard. It's just tedious, repetitive, and easy to get wrong.&lt;/p&gt;

&lt;p&gt;I got tired of it. So I built "nexus-engine"(&lt;a href="https://github.com/Sumama-Jameel/nexus-engine" rel="noopener noreferrer"&gt;https://github.com/Sumama-Jameel/nexus-engine&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;
  
  
  What It Does
&lt;/h2&gt;

&lt;p&gt;You write a simple file that describes what you want on your machine. Then you run one command and it sets everything up.&lt;/p&gt;

&lt;p&gt;That's it.&lt;/p&gt;

&lt;p&gt;Here is what a setup file looks like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;my-setup&lt;/span&gt;
&lt;span class="na"&gt;packages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;git&lt;/span&gt;
    &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;foundation&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;curl&lt;/span&gt;
    &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;foundation&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;docker&lt;/span&gt;
    &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;tool&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nodejs&lt;/span&gt;
    &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;language&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Run this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nexus init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And it does the rest. Detects your OS, figures out which package manager to use, installs everything in the right order, and gives you a report when it's done.&lt;/p&gt;

&lt;h2&gt;
  
  
  It Works The Same Everywhere
&lt;/h2&gt;

&lt;p&gt;This was the big one for me. I switch between Ubuntu, Arch, and Fedora depending on what I'm doing. Every distro has its own package manager. Different commands, different syntax, different package names.&lt;/p&gt;

&lt;p&gt;nexus-engine handles all four major Linux package managers through one interface:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;apt (Ubuntu, Debian)&lt;/li&gt;
&lt;li&gt;pacman (Arch, Manjaro)&lt;/li&gt;
&lt;li&gt;dnf (Fedora, RHEL)&lt;/li&gt;
&lt;li&gt;apk (Alpine)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You write your setup file once. It works everywhere. You don't need to know which command belongs to which distro.&lt;/p&gt;

&lt;h2&gt;
  
  
  Windows Gets Linux in About a Minute
&lt;/h2&gt;

&lt;p&gt;If you're on Windows and you want a Linux environment, normally you have to:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Enable WSL&lt;/li&gt;
&lt;li&gt;Pick a distro&lt;/li&gt;
&lt;li&gt;Download it&lt;/li&gt;
&lt;li&gt;Import it&lt;/li&gt;
&lt;li&gt;Configure wsl.conf&lt;/li&gt;
&lt;li&gt;Set up your packages inside it&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's a lot of steps and a lot of places to go wrong.&lt;/p&gt;

&lt;p&gt;With nexus-engine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nexus wsl setup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It checks if your system is ready, downloads a Linux rootfs, imports it into WSL2, configures it with secure defaults, and you're in. About sixty seconds.&lt;/p&gt;

&lt;p&gt;Then you can drop into your Linux environment anytime:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nexus wsl enter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  If Something Breaks, It Cleans Up
&lt;/h2&gt;

&lt;p&gt;This is the part that always got me with manual setup. You're installing ten things. Number seven fails. Now you have six things installed, one broken, and three that never got attempted. What do you do? Uninstall manually? Start over? Just live with it?&lt;/p&gt;

&lt;p&gt;nexus-engine handles this differently. It installs things in priority order. Foundation packages first, then languages, then tools. If a foundation package fails, it removes everything it already installed that run. You're never left with a half-working setup.&lt;/p&gt;

&lt;p&gt;It also checks things before it starts. Disk space, network connectivity, whether you have the right permissions. It tells you upfront if something is going to be a problem instead of failing halfway through.&lt;/p&gt;

&lt;h2&gt;
  
  
  You Can Share and Reuse Setups
&lt;/h2&gt;

&lt;p&gt;I have a base setup that I use on every machine. Git, curl, a few essentials. Then I have specific setups for different projects. One for web development. One for data science. One for a particular client's stack.&lt;/p&gt;

&lt;p&gt;nexus-engine lets you layer these on top of each other. A data science setup can extend the base setup. You only define what's different. The rest is inherited.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;data-science&lt;/span&gt;
&lt;span class="na"&gt;extends&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;base-dev&lt;/span&gt;
&lt;span class="na"&gt;packages&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;python3&lt;/span&gt;
    &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;language&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;jupyter&lt;/span&gt;
    &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;tool&lt;/span&gt;
  &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;pandas&lt;/span&gt;
    &lt;span class="na"&gt;category&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;tool&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also share setups with other people. Your team can use the same setup file. New team member joins, they run one command, they have the same environment as everyone else.&lt;/p&gt;

&lt;h2&gt;
  
  
  You Should Be Able to Trust It
&lt;/h2&gt;

&lt;p&gt;Here's the thing about a tool that installs stuff on your machine. You need to trust it.&lt;/p&gt;

&lt;p&gt;I thought about this a lot. So I made some decisions early on.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It doesn't run whatever it wants.&lt;/strong&gt; Every command goes through a strict allowlist. If it's not on the list, it doesn't run. No shell metacharacters, no arbitrary execution, no surprises.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It checks setup files for tampering.&lt;/strong&gt; Every profile gets a SHA256 integrity check. If someone modifies your setup file, nexus-engine will notice and refuse to use it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Downloads are verified.&lt;/strong&gt; When it downloads a Linux rootfs or a remote profile, it checks that what it received is what it expected. No man-in-the-middle surprises.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your state is tracked.&lt;/strong&gt; It keeps a record of everything it installed, when, and why. You can always see what's on your machine and where it came from.&lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;p&gt;It's a single binary. No dependencies. Download it and run.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Install with Go&lt;/span&gt;
go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/Sumama-Jameel/nexus-engine/cmd/nexus@latest

&lt;span class="c"&gt;# Or download a binary from the releases page&lt;/span&gt;
&lt;span class="c"&gt;# https://github.com/Sumama-Jameel/nexus-engine/releases&lt;/span&gt;

&lt;span class="c"&gt;# Initialize your environment&lt;/span&gt;
nexus init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On Windows, the fastest path to Linux:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;nexus wsl setup
nexus wsl enter
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What's Next
&lt;/h2&gt;

&lt;p&gt;This is v1.0.0. It works for my use case and I've been using it daily. But I built it in the open because I want it to work for more people.&lt;/p&gt;

&lt;p&gt;Things I'm thinking about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;More rootfs options for WSL2&lt;/li&gt;
&lt;li&gt;A community directory of shared setups&lt;/li&gt;
&lt;li&gt;Better Windows support beyond WSL&lt;/li&gt;
&lt;li&gt;Package managers I haven't covered yet&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If any of this sounds useful to you, check it out:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://github.com/Sumama-Jameel/nexus-engine" rel="noopener noreferrer"&gt;github.com/Sumama-Jameel/nexus-engine&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Apache 2.0, fully open source. Read the code, open an issue, tell me what's missing. I want this to be something people actually trust to run on their machines. That bar is high and I want to clear it.&lt;/p&gt;

</description>
      <category>automation</category>
      <category>productivity</category>
      <category>showdev</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
