-
-
Landing Page TaxGuard
-
Data Input
-
Upload Financial Data
-
AI Analysisi & Tax Health Check
-
AI Recommendation & Report
-
Architecture & Flow (Mermaid Diagram)
-
Share on Github https://github.com/zainaleinstein1982/TaxGuard
-
Article Weekend Deployment Challenge: TaxGuard — Agents for Humans
-
Publish on https://taxguard-agents-for-humans.ai.studio/
Inspiration
For most freelancers and solo founders, tax season is an absolute headache. Every year, thousands of dollars in legitimate business write-offs get left on the table simply because sorting through messy receipts, checking IRS guidelines, and matching everything to bank statements is mind-numbing manual labor. We asked ourselves: Why should humans act as filing cabinets for AI? Instead of building yet another conversational chatbot that demands constant attention, we wanted to build an autonomous agent that does the heavy lifting in the background while you sleep—only tapping you on the shoulder when a real human decision is actually needed. That’s how TaxGuard was born.
What it does
TaxGuard is an autonomous background tax and receipt auditor built for the "Agents for Humans" hackathon. It runs end-to-end without needing constant manual triggers: Background Cron Triggers: It wakes up hourly via AWS EventBridge to scan email inboxes for new receipts. Strands OCR & IRS Auditing: It automatically extracts vendor info, checks IRS Schedule C rules, and cross-references past user behavior stored in Amazon DynamoDB. Human-in-the-Loop Interrupts: When it hits a sketchy or high-value expense (like an ambiguous $500+ marketplace purchase), it doesn't guess. It pauses safely using the Strands interrupt hook (BeforeToolCallEvent). 1-Click Decision Surface: It sends a clean, straightforward decision card to your device. One click to approve or reject, and the agent instantly resumes to finalize your quarterly tax report.
How we built it
We combined a solid Python backend with a slick, interactive React frontend: The Agent Backend: Built using the Strands Agents SDK and Amazon Bedrock (Claude 3.5 Sonnet), utilizing custom @tool decorators and interrupt handling. Runtime & Deployment: Packaged for ARM64 (linux/arm64) on port 8080 so it's fully ready for Amazon Bedrock AgentCore. The Command Center (Frontend): Developed with React, Vite, TypeScript, and Tailwind CSS, featuring live execution logs, a receipt stream, and an English/Indonesian language toggle for easy live demos.
Challenges we ran into
Handling Async Interrupts Gracefully: Making sure the Python Strands agent could cleanly save its state when paused by event.interrupt() and resume seamlessly once the user clicked approve. Finding the Sweet Spot on Autonomy: Calibrating the ambiguity threshold (like setting a $500 limit on marketplace items) so the agent doesn't spam notifications, but still protects user compliance. Container Networking: Aligning the ARM64 AgentCore container configuration with strict platform ingress routing on port 8080.
Accomplishments that we're proud of
Achieving a 96.6% autonomous workflow rate across 147 test receipts—slashing human intervention down to just 3.4% for edge cases. Successfully implementing a real-world Human-in-the-Loop interrupt flow that actually respects user attention. Shipping a complete dual-stack project with both production-ready Python backend code and a gorgeous frontend command center.
What we learned
True agentic efficiency isn't about making users chat with an AI all day; it's about asynchronous background execution combined with precise, well-timed human touchpoints. "Agents for Humans" means taking away cognitive load, not adding to it.
What's next for TaxGuard — Agents for Humans
Multi-Bank Plaid Integration: Direct bank syncing for automated transaction ingestion. Global Tax Rules: Expanding beyond IRS Schedule C to support international VAT and regional codes. Team & Accountant Dashboards: Multi-user accountant views with role-based permissions.
Built With
- agentcore
- ai-agent
- amazonbedrock
- amazondynamodb
- amazoneventbridge
- awslambda
- claude-3.5-sonnet
- framermotion
- human-in-the-loop
- next.js
- python
- react
- strandagentsdk
- tailwindcss
- typescript
- vite
Log in or sign up for Devpost to join the conversation.