Skip to main content

AI Features

AI-powered description generation and category suggestions.

Off by default. When on, users get an ✨ Generate with AI button in the submit flow that pre-fills descriptions, tags, and SEO metadata from a URL.

Not required

AI is opt-in because it costs money per use (pennies, but still). Ship without it, turn it on if users are dropping off at the description step.

What AI does

Description generation

User enters project URL + name → click Generate with AI → the LLM fetches the page, extracts the value prop, writes a directory-style short description.

Category suggestions

Given the URL and description, the LLM picks which of your existing categories fit best. Saves users from scrolling a long category list.

SEO metadata

Auto-fills meta title and description for the project page.

Turning it on

1. Enable feature flag

config/features.config.ts
export const featuresConfig = {
  // ...
  ai: true,
};

2. Set env vars

.env.local
AI_PROVIDER=openai      # or 'anthropic'
AI_MODEL=gpt-4o-mini    # cheap and fast
AI_API_KEY=sk-...

See AI Config for provider setup and recommended models.

3. Restart the dev server

Under the hood

Built on the Vercel AI SDK with adapters for OpenAI and Anthropic. Central file: lib/ai.ts.

The API route is app/api/ai/generate/. Protected by the ai feature flag — returns 404 when off.

Cost guardrails

  • Each generation is ~300–500 tokens, so fractions of a cent per request
  • Rate-limit abuse with the general rate limiter in lib/rate-limit.ts
  • Consider caching generated descriptions keyed by URL

See also