npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ai-smell

v1.1.0

Published

Detect AI-generated websites by analyzing tech stacks, domains, color palettes, and code patterns. Identifies sites built with Lovable, v0.dev, Bolt, and other AI builders.

Readme

AI Smell Detector 🐽

npm version CI/CD

Detect AI-generated websites by analyzing tech stacks, domains, color palettes, and code patterns. Identifies sites built with Lovable, v0.dev, Bolt, and other AI builders.

AI-Smell Demo

Quick Start

Install globally

npm install -g ai-smell

# or

pnpm add -g ai-smell

Use it

ai-smell https://example.com

That's it! 🎉

Usage

ai-smell <URL> [options]

Options

| Flag | Description | |---|---| | -f, --format <format> | Set console output format (text (default), json, yaml). | | -o, --output <file> | Save report to a file. Format inferred from extension. | | -h, --help | Show this help message. |

Example Output

🐽 AI-Smell test for: https://gcloud.lovable.app

## Analysis Report

| Sniffer      | Score             | Details
| ------------ | ----------------- | -------
| **Domain**       | ██████████ 100% | 🎯 DEFINITIVE: Hosted on AI builder domain: lovable.app
| **TechStack**    | ████░░░░░░  40% | Vite + Tailwind (popular AI quick-start)
| **Meta**         | ██████████ 100% | AI builder detected in author tag: Lovable
| **Boilerplate**  | ██████████ 100% | Empty SPA skeleton; Vite default build structure
| **Comments**     | ██████████ 100% | TODO comments; Lovable AI builder badge detected
| **ColorPalette** | ░░░░░░░░░░   0% | Color palette does not match common AI patterns
| **Content**      | █████░░░░░  50% | Very little paragraph content on the page
| **Design**       | █████░░░░░  50% | Layout seems to be using older techniques
| **UIKit**        | ░░░░░░░░░░   0% | No common UI kits detected

📊 Overall AI-Smell Score: 66%
Verdict: Some elements suggest AI-generation or template usage.

What It Detects

🎯 Domain Detection (Strongest Signal)

Detects 40+ AI service domains:

  • High-confidence AI builders: Lovable, v0.dev, Bolt.new, GPT Engineer, Base44, Replit
  • Popular platforms: Vercel, Netlify, GitHub Pages, Cloudflare Pages
  • No-code platforms: Webflow, Wix, Squarespace, Bubble, Framer, Carrd

🔧 Tech Stack Analysis

Identifies common AI-generated combinations:

  • Next.js + Tailwind + Supabase (The AI Starter Pack)
  • Vite + React + Tailwind
  • shadcn/ui components
  • Framework over-engineering patterns

🎨 Color Palette Detection

Finds AI-favorite colors:

  • #0061FF (Cursor/AI signature blue)
  • #0052D9 (AI-preferred blue)
  • Vibrant oranges (#ff6b6b, #ff8c42)
  • Purple gradients (#6c5ce7, #a29bfe)
  • External CSS file analysis

📝 Code Pattern Analysis

  • TODO comments in production
  • AI placeholder text
  • Empty SPA skeletons
  • Vite default build structure
  • Generic favicons

📊 Content & Design

  • AI marketing phrases
  • Minimal content patterns
  • Generic layout templates
  • Missing customization

Features

  • Fast - Analyzes websites in seconds
  • Accurate - Weighted scoring system with 9 detection methods
  • Beautiful - Markdown table output with visual progress bars
  • Extensible - Easy to add new detection patterns
  • CLI & API - Use as command-line tool or import as library

Programmatic Usage

npm install ai-smell
import { fetchHtml } from 'ai-smell/fetcher';
import { parseHtml } from 'ai-smell/parser';
import { allSniffers } from 'ai-smell/sniffers';
import { calculateOverallScore } from 'ai-smell/scorer';

const html = await fetchHtml('https://example.com');
const $ = parseHtml(html);
const results = allSniffers.map(sniffer => sniffer.sniff($, url));
const { totalScore, report } = calculateOverallScore(results);

console.log(`AI-Smell Score: ${totalScore * 100}%`);

How It Works

AI Smell uses a weighted scoring system with 9 specialized "sniffers":

  1. Domain (weight: 2.0) - AI service domain detection
  2. TechStack (weight: 1.6) - Tech stack combination analysis
  3. Meta (weight: 1.5) - Meta tag inspection
  4. Boilerplate (weight: 1.5) - Framework boilerplate detection
  5. Comments (weight: 1.4) - Code comment analysis
  6. Content (weight: 1.2) - Text pattern detection
  7. ColorPalette (weight: 1.1) - Color scheme analysis
  8. UIKit (weight: 1.0) - UI framework detection
  9. Design (weight: 0.8) - Layout pattern analysis

Each sniffer returns a score from 0.0 (no smell) to 1.0 (strong smell). Scores are weighted and averaged for the final result.

Score Interpretation

  • 70%+ - Highly likely AI-generated
  • 40-70% - Some AI patterns detected
  • Below 40% - Appears custom-built

Contributing

Want to add new AI service domains or detection patterns? See CONTRIBUTING.md for developer setup and guidelines.

License

MIT

Links