I have access to a university library, so I can pull almost any academic paper I want. What I don’t have is a way to know which ones are worth pulling. So I asked Claude Code to help me build a small site that checks a handful of research fields every morning and shows me the papers that are actually generating buzz that day, not just the ones that happen to match a keyword search.

The six fields I started with were pure curiosity — genomics, agentic AI, drug design, low-cost robotics, physics. This week I added a seventh: how young children respond to AI-generated pictures and self-directed choice. That one isn’t a lab curiosity for me. It’s the kind of paper that could back up parenting content I’m already writing, and I wanted the screener finding it the same automatic way it finds everything else.

What Was Actually Happening

The site itself was simple to get right: a page listing single-cell genomics, agentic AI, protein design, low-cost robotics, physics, and a few other fields, each with a system prompt I can edit whenever I want it to search a new source or drop an old one.

The part I got wrong was how it runs. This isn’t a page I open and ask a question once — it has to check every field on its own, every morning, before I’m awake. That’s a different kind of API use than typing a question into a chat window, and I didn’t think about the difference until the bill did it for me.

The first automated collection run, using the Claude API, cost $3.12. Run that daily and you’re at roughly $90 a month for a screener that’s supposed to save me the trouble of reading abstracts.

What Fixed It

I looked at cheaper models first — Gemini, DeepSeek — but landed on the Perplexity API, because it already does the web search and source-following part of the job, not just the summarizing. The next run cost $0.12.

That’s a number I can live with — about $3.60 a month for the whole screener, seven fields included. It’s still the reason the system prompt keeps a separate source list rather than one giant prompt: narrowing which sites get searched is what keeps that number that low, not just the model swap.

There was a second surprise once the site existed: other AI tools couldn’t read it. Asked directly, they’d say the content wasn’t indexed. I’ve run into this exact problem before on this blog — an AI-unfriendly robots setup, or a page that renders as empty to anything that isn’t a browser — so my first move was the same one that worked last time: check what a bot actually sees, not what I see. An RSS feed is next on the list, since that’s a format built for exactly this.

How to Set This Up Yourself

This is the actual sequence, not a summary of it:

  1. Write down your fields as plain sentences, not keywords. Each field on my screener is one paragraph telling the AI what “hot” means for that topic (e.g. “prioritize papers getting unusual attention this week, not just recent ones”) plus which sources count. I keep these as separate, editable text blocks — one per field — because I change them often as my interests shift.
  2. Put the source list in its own editable block, separate from the topic list. Mine names specific places to check first (arXiv categories, bioRxiv/medRxiv, Semantic Scholar, PubMed, Hugging Face Papers) and tells the model to fall back to a science-news article only if it links straight to the original paper — never a blog or social post as the source itself. Keeping this separate from the topic prompts means I can tighten “where to look” without rewriting “what to look for.”
  3. Pick an API that already searches the live web, not just a chat model. A plain chat completion endpoint (what I first pointed at Claude) will happily answer from what it already knows, which is not the same as checking what’s actually trending today. Perplexity’s API is built to search and cite sources as part of the same call, which is the actual job here — that’s the real reason the switch mattered, not just the price.
  4. Schedule it to run once, early, and log what it cost. Mine runs once a day, before 7am, through a scheduled task rather than a button I click — and every run writes its own cost next to its output. Without that log line, a slow price creep is invisible until the monthly statement.
  5. Treat the source and topic lists as levers, not settings you set once. Fewer fields, fewer sources per field, or a cheaper search depth all lower the daily number directly. I check that number before adding anything new to the list, not after.

🗂 Claude.md Rule Before automating a daily AI task, check the automated price, not the interactive one. A model that’s cheap to chat with can still be expensive to run unattended every day — cost a scheduled job by the month it will actually run, not by one manual test.


What one day of running it costs, now: $0.12 — down from $3.12, and low enough that I stopped hesitating before adding a seventh field.