TARA
Free bilingual Canadian tax assistant that never guesses
“In a world where AI confidently invents tax law, the most radical feature is saying "I don't know."”
Tax season in Canada means navigating a maze of CRA guides, credits, and deadlines — often in your second language. I built a bilingual AI assistant that answers tax questions using only official CRA documentation, cites its sources, and says "I don't know" when it doesn't. No hallucinations. No cost. No catch.
The Problem
What needed solving
Every tax season, millions of Canadians search for answers to straightforward questions — "Can I claim my home office?" "What's the RRSP contribution deadline?" "How does the climate action incentive work?" — and land on a patchwork of outdated blog posts, forums with conflicting advice, and AI tools that hallucinate confidently about tax law they were never trained on.
The stakes are real. Bad tax advice means missed credits, overpayment, or worse — reassessment and penalties. Professional tax preparers charge $150-$400 for basic returns, putting expert guidance out of reach for many. And for the 8 million French-speaking Canadians who prefer to navigate government services in their language, the options narrow even further.
The Solution
How I approached it
TARA is a free, bilingual tax assistant built on a strict anti-hallucination architecture. Every answer comes from scraped, indexed CRA documentation — not from the AI model's training data. When TARA responds, it cites the specific CRA guide numbers. When it doesn't have an answer, it says so plainly. No hedging, no guessing, no fabrication.
The "I don't know" policy is the feature, not a limitation. In a domain where wrong answers have financial consequences, honesty is more valuable than comprehensiveness. TARA handles the questions that 90% of Canadians actually ask — deductions, credits, deadlines, eligibility — and directs users to a professional for the edge cases it can't confidently answer.
How It Works
Under the hood
TARA's knowledge base is built from scraped CRA documentation — guides, forms, and policy documents — indexed and structured so the AI can retrieve specific passages rather than generating answers from its general training. When a user asks a question, the system searches the CRA corpus first, then constructs a response grounded in the retrieved documents.
The AI layer runs on Llama 3.3 70B through the Groq SDK, chosen for its speed and cost-efficiency. The entire application is built with Next.js 15, styled with shadcn/ui, and served through Caddy with Bun as the runtime. Bilingual support is native — the system processes and responds in both English and French without translation layers.
To keep the service free and sustainable, TARA uses client-side rate limiting: 30 prompts per session. No accounts, no server-side user tracking, no infrastructure costs that scale with usage. The donation model covers hosting. The goal was never to build a business — it was to make reliable tax information accessible to everyone.
Impact
Results and outcomes
TARA provides free, bilingual tax guidance to Canadians who would otherwise rely on expensive professionals or unreliable online sources. The anti-hallucination architecture ensures that every answer is traceable to official CRA documentation, with guide numbers cited for verification.
With 30 free prompts per session and no account required, the barrier to access is essentially zero. The service runs on a donation model, keeping it sustainable without compromising on the principle that tax information should be free.