Inspiration

At a previous customer service job, every request that came in with attachments change of address, a name change after marriage, meant manually opening each file just to understand what it even was before anything could be done with it.

Multiply that by every ticket, every day, and it's a huge amount of time spent just figuring out what am I even looking at, before the actual work starts.

This project removes that step.

What it does

TaxDesk AI simulates a tax-office support inbox. A support agent picks from a set of sample customer requests, each with a message and 1-3 attached documents (an ID, a utility bill, a signed form, a W-2).

The system:

  • Classifies each attachment and extracts the relevant fields with a confidence score, using the Nutrient DWS Data Extraction API
  • Matches the request to a category (change of address, add dependent, document upload, etc.)
  • Produces a one-line summary of what the customer wants and what's attached
  • Auto-approves clear-cut cases and routes anything low-confidence to a human review screen instead of guessing
  • On approval, updates a mock customer record and logs every step to an audit trail

The result: a human only has to look closely at the cases that actually need judgment, instead of opening every attachment on every ticket.

How we built it

  • Confidence-threshold logic to split auto-approve vs. flag-for-review
  • Simple audit log recording every classification, extraction, and human decision with timestamps

Challenges we ran into

Accomplishments that we're proud of

  • A working end-to-end pipeline: document in, classified + extracted with real confidence scores, routed correctly, action taken, and logged built from a real pain point rather than an invented one

What we learned

What's next for TaxDesk AI

  • Real inbox/email integration instead of the simulated persona picker
  • Support for more document and request types
  • Using DWS Viewer more fully for in-line annotation during human review
  • Configurable confidence thresholds per document type, since a missed address update and a missed SSN mismatch don't carry the same risk

Built With

Share this project:

Updates

posted an update —

I have also structured the project in a modular approach on my GitHub!

I hope everyone will understand the problems technical support staff, contact center agents and even us personally face when we have so much attachments on a single email.

What if it could be easier! ;D

Log in or sign up for Devpost to join the conversation.

posted an update —

Additionally, the application is designed to be secure and does NOT collect any data. There is no database, I am using Redis, which is in memory, as well as browser storage for any persistence, this means that once you refresh, your data is reset. This is ideal for demo purposes I believe.

Log in or sign up for Devpost to join the conversation.

posted an update —

Had been so busy with school almost missed taking part in this amazing hackathon!

With such a short time to build and submit, I took what I have learnt so far, I decided to put in the work and built a solution in the line of my previous role, something i saw as a problem customer service agents (actual humans) face every day!

I am excited to release this project, it is a demo, which ideally plugs in to legacy contact center systems using the Nutrient DWS Data Extraction API.

Enjoy!

Log in or sign up for Devpost to join the conversation.

Submission history