{"slug": "i-built-a-cli-that-finds-me-clients-on-reddit-using-ai", "title": "I Built a CLI That Finds Me Clients on Reddit Using AI", "summary": "A developer built Cypher, an open-source Rust CLI that scans Reddit subreddits and uses AI to score buying intent, ranking leads for freelancers. The tool supports local Ollama models and cloud fallback to providers like OpenAI and Groq, storing leads in a local SQLite database.", "body_md": "**tl;dr** — I got tired of manually scrolling Reddit for people asking \"who can build me a landing page?\" so I built a Rust CLI that scans subreddits, uses AI to score buying intent, and hands me a ranked list of leads. Open source, runs locally, works with Ollama or any cloud AI provider.\n\nI'm a freelancer. Half my clients come from Reddit — someone posts in r/SaaS or r/startups asking for help, and I reply. Simple.\n\nExcept it's not simple. The workflow looks like this:\n\nIt's a full-time job just to find leads. And the signal-to-noise ratio is terrible — most posts are people venting, sharing links, or asking questions they don't need help with.\n\nI wanted a tool that does the scrolling for me and only shows me posts where someone is ready to spend money.\n\nCypher is a terminal tool that:\n\nYou tell it what you do in one sentence. It suggests subreddits to watch and keywords to filter by. Then you just run `cypher scan`\n\nwhen you're ready to find leads.\n\n**Language:** Rust — because I wanted it fast and I wanted a single binary I could `cargo install`\n\nand forget about.\n\n**Reddit data:** [Sylvia API](https://sylvia-api.com) — a Reddit data proxy that handles rate limits, parsing, and anti-bot measures. I didn't want to build a scraper. I just wanted an API key and clean JSON. Sylvia does that.\n\n**AI layer:** Hybrid — local Ollama for speed, cloud fallback (OpenAI, Groq, Gemini, OpenRouter) for when the local model isn't confident enough. You set a `cloud_threshold`\n\nscore and anything above it gets re-analyzed by a stronger model.\n\n**Database:** SQLite — stores leads locally at `~/.local/share/cypher/leads.db`\n\n. No cloud, no accounts, no tracking.\n\nYou run `cypher init`\n\nand describe what you do:\n\n```\nI build landing pages for SaaS startups\n```\n\nCypher takes that sentence, sends it to your configured AI provider, and gets back:\n\nFor \"landing pages for SaaS startups,\" it might suggest:\n\n```\ncypher scan\n```\n\nThis is the core loop:\n\n```\nFetch recent posts from watched subreddits (Sylvia API)\n    ↓\nKeyword filter (cheap, fast — throws out 80% of posts)\n    ↓\nAI analysis on remaining posts\n    ↓\nExtract signals: intent, budget, urgency, service needed\n    ↓\nScore 0-100 based on signal strength\n    ↓\nStore in local SQLite\n    ↓\nDisplay ranked table\n```\n\nThe keyword filter is important — it saves API calls and AI tokens. If a post doesn't contain any of your keywords, it never touches the AI layer.\n\nEach lead gets a score based on:\n\n| Signal | Weight | What it measures |\n|---|---|---|\n| Intent | 30% | How clearly they're looking to hire (vs. just asking a question) |\n| Budget | 25% | Whether they mention money, or it's implied |\n| Urgency | 25% | Time pressure (\"need this done by Friday\" vs. \"someday\") |\n| Fit | 20% | How well the post matches your profile description |\n\nA post like \"Need a landing page done, budget $3k, launching next week\" scores high. \"Anyone know a good landing page builder?\" scores low — they're probably looking for a tool, not a person.\n\nThis is where it gets interesting. Cypher supports two modes:\n\n**Local (Ollama):** Runs `qwen3:4b`\n\nlocally. Fast, free, private. Good enough for most lead scoring.\n\n**Cloud fallback:** When the local model's confidence is below `cloud_threshold`\n\n, Cypher sends the post to your first configured cloud provider (OpenAI, Groq, Gemini, or OpenRouter). If that fails, it tries the next one.\n\nThe config looks like this:\n\n```\n[ai]\nlocal_model = \"qwen3:4b\"\nollama_url = \"http://127.0.0.1:11434\"\ncloud_threshold = 70\nopenai_api_key = \"sk-...\"\nopenai_model = \"gpt-4o-mini\"\ngroq_api_key = \"gsk_...\"\ngroq_model = \"llama-3.3-70b-versatile\"\n```\n\nYou don't need all of them. Just one cloud provider works. Ollama is optional — if you don't have it, everything goes through cloud.\n\nIf you want continuous monitoring:\n\n```\ncypher daemon --interval 60\n```\n\nScans every 60 seconds. Good for leaving running while you work — new leads pop up in your terminal as they appear.\n\n```\ncypher init          # Setup profile, API keys, subreddits\ncypher scan          # One-shot scan\ncypher leads         # List all leads\ncypher leads --min-score 80 --status new\ncypher lead <id>     # Detailed view of one lead\ncypher watch r/SaaS  # Add subreddit to watchlist\ncypher unwatch r/SaaS\ncypher watchlist     # List all watched subreddits\ncypher daemon        # Background scan loop\ncypher export csv    # Export to CSV\ncypher export json   # Export to JSON\ncypher status        # Config and status check\n# Install\ncargo install --path .\n\n# Setup\ncypher init\n\n# First scan\ncypher scan\n```\n\nYou'll need:\n\nA few things I'd change if I rebuilt this:\n\nI built this because I needed it. I'm not trying to turn it into a SaaS — it runs locally, on my machine, with my API keys. If you find it useful, use it. If you want to add features, open a PR.\n\nGitHub: [hidekiryuuga/cypher](https://github.com/hidekiryuuga/cypher)\n\n*Cypher is built with Sylvia API — a Reddit data proxy that handles rate limits, parsing, and anti-bot measures. If you're building anything that needs Reddit data, check it out.*", "url": "https://wpnews.pro/news/i-built-a-cli-that-finds-me-clients-on-reddit-using-ai", "canonical_source": "https://dev.to/hidekiryu/i-built-a-cli-that-finds-me-clients-on-reddit-using-ai-55dc", "published_at": "2026-07-23 20:53:19+00:00", "updated_at": "2026-07-23 21:03:01.482974+00:00", "lang": "en", "topics": ["artificial-intelligence", "developer-tools", "ai-tools"], "entities": ["Cypher", "Reddit", "Sylvia API", "Ollama", "OpenAI", "Groq", "Gemini", "OpenRouter"], "alternates": {"html": "https://wpnews.pro/news/i-built-a-cli-that-finds-me-clients-on-reddit-using-ai", "markdown": "https://wpnews.pro/news/i-built-a-cli-that-finds-me-clients-on-reddit-using-ai.md", "text": "https://wpnews.pro/news/i-built-a-cli-that-finds-me-clients-on-reddit-using-ai.txt", "jsonld": "https://wpnews.pro/news/i-built-a-cli-that-finds-me-clients-on-reddit-using-ai.jsonld"}}