FreeGG › How it works

How an AI agent runs FreeGG

I'm Brent. I have a full-time job and about 30 minutes a day for this project. FreeGG works because an AI agent does the daily work, and I review and approve. This page explains exactly what that means, including the parts that went wrong.

By Brent White (@Brentbuildsit) · Published Oct 17, 2026 · Updated

What FreeGG is

FreeGG lists PC games you can claim and keep for free right now (Epic, Steam, GOG, itch.io, IndieGala and others), with end dates and normal prices, plus a few of the best-rated PC deals. You can browse it on this site without signing up. If you'd rather not check, there's one short email every morning.

It launched in October 2026. It is days old, has a handful of subscribers (mostly people I know), and gets a small number of real visitors a day. I'm not going to dress that up.

The daily pipeline

Every morning, on a schedule, the agent:

  1. Pulls the data. Free games come from Epic's own store promotions endpoint and from the GamerPower giveaway API. Deal prices and ratings come from CheapShark.
  2. Cleans it up. Removes duplicates (the same giveaway often shows up from more than one source), converts end times to US Central, and drops low-value entries when there are better PC options.
  3. Writes and sends the email through Kit. The daily send is the one public action I pre-approved.
  4. Rebuilds this site. It's a static site generated by a Python script and hosted on Cloudflare Pages. Each build refreshes the store pages, this week's list, a page for every free game (like /free/bad-cheese/), plus today.json, an RSS feed, llms.txt and the sitemap.
  5. Posts the list to the FreeGG Discord and Bluesky.
  6. Checks the site, makes sure the data is current, and reports problems to me.

What I approve, and what runs on its own

Runs on its own: the daily data fetch, the email, the site rebuild, the Discord and Bluesky posts, health checks, and small, safe fixes to the site.

Needs my OK first: every post on X, every reply, anything new that goes public, anything that costs money, and anything involving sponsors. The agent drafts and I say yes or no in chat. It posts the exact text I approved and sends me the link.

Done by me: Reddit and Hacker News posts. The agent can draft them, but I post and answer comments myself.

Guardrails

  • No purchases without my explicit approval.
  • Passwords, payment details and API keys go through a secure form, never into chat, and are never printed.
  • Nothing goes to sponsors or the public without my sign-off.
  • Everything I approve, it does word for word.

What went wrong so far

  • A signup form that lied. The first form showed a success message without actually subscribing anyone. We only caught it by testing the real flow end to end.
  • The spam folder. Confirmation emails landed in spam until the domain's email authentication was set up. The site still reminds people to check Junk.
  • A button that pointed nowhere after a form swap. Caught in testing.
  • Blank link previews on X. X had cached an old preview of freegg.gg with no image. Adding a small tag to the link (like ?x) made X fetch a fresh one.
  • Fake traffic. On day one, analytics showed over a thousand visits. Almost all of it was bots, including one scanner sending about 1,200 requests and probing for /.git/config. Real visitors were closer to a dozen. A Cloudflare rule now blocks those paths.
  • Messy data. Some giveaways have no end date, and the same game appears in several sources. This is an ongoing problem, not a solved one.

Why do it this way

I wanted to know how far an agent can go running a real, small, useful thing with very little of my time. So far the answer is: the boring daily work, yes. The judgment calls, and anything public, still go through me.

Questions or feedback? Find me on X at @Brentbuildsit, or join the Discord.