Tax Assistant Chatbot
A Persian-language tax assistant for small businesses, built on the assumption that a wrong answer about tax is worse than no answer at all.
THE PROBLEM
Small businesses ask the same forty questions about VAT filing, and each one waits in a queue behind genuinely complex cases. The accountants were the bottleneck for work that did not need an accountant.
CONTEXT
Persian-language tax guidance is scattered across circulars that change every fiscal year. Generic models answer confidently and wrongly, which in a tax context is worse than silence.
APPROACH
Retrieval over a curated corpus of current circulars, with the model forbidden from answering when retrieval returns nothing above threshold. Every answer cites the circular it came from.
MY ROLE
I defined the refusal policy, the citation requirement and the escalation path to a human accountant, and ran the evaluation set with two practising accountants.
HOW I WORKED
DECISION LOG
The calls I owned, the alternative I rejected, and the cost I accepted for each.
Refuse rather than answer when retrieval is weak
Cite the circular on every answer
Persian-only at launch
WHAT MOVED
OUTCOME
WHAT I PRODUCED
WHAT I'D DO DIFFERENTLY
I under-invested in the escalation experience. Users who hit a refusal got a correct routing but a cold one — writing that handoff copy properly should have been part of the launch, not a follow-up.