The Problem: I Wanted a Personal AI Butler
I wanted an AI agent that works for me. Scour the latest news, deliver a daily message, answer questions, and expand capabilities over time. Basically, Jarvis from Iron Man. A few years ago, that was fiction. Today, with the rise of AI agents, it's practical.
I considered OpenClaw, an open-source autonomous agent, but it was too new and overkill. Then Amazon Bedrock AgentCore released its managed harness in preview. You define the agent in a config file and a system prompt, then deploy. That's it. I decided to build my own Jarvis: "The Pulse."
What The Pulse Does
The Pulse opens a real browser to scrape Hacker News, grabs Reddit posts via RSS, saves everything to persistent storage, and every 6 hours writes a trending stories digest. It messages me daily, or I can message it anytime and ask what's happening in AI. It reads from the data it's been collecting all day.
Why Not Just Use Lambda?
For a simple one-shot task, Lambda plus an LLM might work. But this agent needs:
- A real browser: Lambda can't spin up a managed browser session. You'd need Fargate plus Playwright, managing containers.
- Persistent storage: Lambda's
/tmpgets wiped after every invocation. You'd need S3 plus custom read/write logic. - Long-running tasks: The 6-hour summary run can take a while. Lambda maxes out at 15 minutes. The harness defaults to a 1-hour timeout per invocation, and the microVM can stay alive up to 8 hours across multiple invocations.
- Built-in memory: AgentCore Memory stores facts and conversation summaries across sessions. In Lambda, you'd need DynamoDB plus custom integration.
Could you build this with Lambda + S3 + Fargate + DynamoDB + Step Functions? Sure. That's five services instead of one.
Prerequisites
- Node.js 20+
- AWS credentials configured in a preview region (us-west-2, us-east-1, eu-central-1, or ap-southeast-2)
- CDK bootstrapped in your account (
cdk bootstrap) - AgentCore CLI:
npm install -g @aws/agentcore@preview - Bedrock model access for Claude Sonnet 4.6 in your region
Step 1: Create the Harness Project
agentcore create \
--name thepulse \
--model-provider bedrock \
--session-storage-mount-path /mnt/data
cd thepulse
That one command scaffolds the whole project: harness config, memory, session storage, CDK app, IAM role. The --session-storage-mount-path flag wires up persistent storage so the platform creates a /mnt/data mount point for you.
Now add the browser tool:
agentcore add tool --harness thepulse --type agentcore_browser --name browser
Step 2: Configure the Agent
Edit app/thepulse/harness.json:
{
"name": "thepulse",
"model": {
"provider": "bedrock",
"modelId": "global.anthropic.claude-sonnet-4-6"
},
"tools": [
{
"type": "agentcore_browser",
"name": "browser"
}
],
"skills": [],
"memory": { "name": "thepulseMemory" },
"sessionStoragePath": "/mnt/data",
"maxIterations": 75,
"timeoutSeconds": 1800
}
maxIterations is 75 because browser interactions are chatty. timeoutSeconds is 1800 (30 minutes) to handle browser sessions and summary runs.
Step 3: Write the System Prompt
Replace app/thepulse/system-prompt.md with instructions for two modes: hourly collection (browser scrape + RSS) and summary digest (trend identification). The prompt also enables interactive Q&A using saved data and memory.
Step 4: Deploy and Test
Deploy with agentcore deploy. Then invoke the harness:
agentcore invoke --harness thepulse --prompt "hourly run"
Check that data appears in /mnt/data/runs/. Then test the summary:
agentcore invoke --harness thepulse --prompt "generate summary"
You can also ask questions interactively:
agentcore invoke --harness thepulse --prompt "What's trending in AI today?"
Step 5: Schedule It
Use EventBridge Scheduler to trigger a Lambda every hour. The Lambda invokes the harness with the appropriate prompt. Every 6th run, it triggers the summary digest instead of hourly collection. The session ID stays the same, so data accumulates on /mnt/data.
Cost Estimate
AgentCore pricing is per session (microVM runtime). For hourly runs of ~2 minutes each, plus a 10-minute summary every 6 hours, expect roughly $30-50/month depending on region and model tokens.
What's Next
Add more data sources (Twitter, arXiv), integrate Telegram for daily messages, or extend memory for long-term trend analysis. The full code is on GitHub: AgentCore-News-Sample.
Now go build your own butler.



