Summary by TwinMind · 17m 18s
Summary by TwinMind · 17m 18s

i made my own search engine (kind of)

i made my own search engine (kind of)

Theo - t3․gg

Theo - t3․gg

Problem with DuckDuckGo

  • Creator frustrated with DuckDuckGo's DNS resolution failures
    • Hangs for 20-40 seconds frequently
    • 50/50 chance of working properly
    • Server-side parsing causes delays instead of client-side resolution
  • Uses DuckDuckGo for 8 years primarily for bangs feature (13,500 available bangs)
    • Bangs allow searching specific sites with syntax like "!yt" for YouTube, "!gi" for Google Images
    • Uses ~20 bangs regularly out of 13,500 available

Unduck Solution Overview

  • Built custom search engine replacement in 1 hour
  • Free and open source (MIT license)
  • Goal: provide bang functionality without DuckDuckGo's DNS issues
  • Performs searches instantly with no network calls after initial load
  • Progressive Web App (PWA) with service worker for offline functionality

Technical Implementation

  • Uses DuckDuckGo's public bangs data from bangs.js file
    • 13,500 bangs in malformed JS format
    • Reformatted to proper JS array, compressed to 400KB gzipped
  • Vanilla JavaScript implementation with minimal dependencies
    • Only dependency: V PWA plugin for service worker
  • Client-side search resolution (no server calls)
  • Default search engine configurable via localStorage (defaults to Google)
  • Custom bang added for T3 chat (!t3)

Technical Features

  • Service worker caches all content locally
  • HTML/JS served from service worker (no network requests)
  • Anonymous tracking with Plausible (easily disabled)
  • Custom handling for GitHub repo links (ghr bang)
  • Search history could be logged locally in IndexedDB (planned feature)

Previous Related Work

  • Built ChromeTana extension 10+ years ago
    • Redirected Windows 10 Bing searches to preferred search engine
    • Enabled bangs from Windows search bar
    • Microsoft responded by forcing default browser behavior
    • Extension suffered from phishing attempts, spam, copyright claims
    • Google account compromised, malware distributed through extension
    • Bad ratings due to security incident

Usage and Impact

  • Added to all browsers except iPhone (Apple hardcodes search engines)
  • Unexpectedly using T3 chat bang frequently for AI searches
    • Changed search behavior patterns
    • Defaulting to AI chat instead of traditional web search
    • Examples: bash commands, code formatting, technical questions
  • Fast AI responses (using Gemini) changed search preferences

Sponsor Integration

  • Agora - audio/video communication platform
    • Used for 4+ years on PING project
    • Superior quality/latency vs other WebRTC solutions
    • New conversational AI integration with OpenAI realtime models
    • React SDK overhauled based on creator's feedback

Future Plans

  • Creator doesn't plan extensive development
  • Problem solved for personal use case
  • Open to community contributions and forks
  • Expects 3-4 forks to emerge with additional features
  • Would return to DuckDuckGo if they fix DNS issues
  • Encourages others to build similar personalized tools