TaxDraft — The AI Tax Audit-Prep Assistant for Indie Hackers Who Dread Schedule C Season
Every self-employed dev on HN is still copy-pasting bank CSV exports into TurboTax web forms and crying about it in April. TaxDraft pulls your transactions from email receipts and bank exports, categorizes them with Claude, and produces a clean Schedule C draft and supporting summary doc you hand to your CPA or review yourself. Not filing for you — just doing the 4 hours of pre-work you have been dreading.
Difficulty
beginner
Category
Finance
Market Demand
High
Revenue Score
7/10
Platform
Web App
Vibe Code Friendly
No
Hackathon Score
6/10
Validated by Real Pain
— sourced from real community discussions
Users report spending 4-6 hours manually categorizing bank transactions against Schedule C categories every year, with no CLI or AI-native tool existing to automate the prep work before filing or handing off to a CPA.
What is it?
The specific pain is not filing taxes — it is the 4-6 hours of prep work: categorizing hundreds of transactions, finding deductible expenses buried in email receipts, and building the organized summary your CPA charges $200/hour to assemble themselves. TaxDraft ingests CSV bank exports and email receipt forwards, uses Claude to categorize every transaction against Schedule C expense categories, flags potential deductions, and outputs a structured prep document. It stays on the safe side of the legal line by positioning as an audit-prep and organization tool — not a filing service. Why buildable right now: Claude's structured output and CSV handling are rock-solid, and indie hacker communities on HN and Twitter actively complain about this every Q1. No MCP or CLI complexity required — a simple web upload flow gets to value in one session.
Why now?
Claude's structured JSON output is reliable enough for bulk transaction categorization as of mid-2026, and the self-employed population in the US hit 59 million — the indie hacker audience is massive and actively venting about tax prep complexity every Q1 on HN and Twitter.
- ▸CSV bank export ingestion with Claude-powered Schedule C category mapping per transaction
- ▸Email receipt forwarding parser that extracts merchant, amount, and deduction category
- ▸Deduction opportunity flagged list — home office, software, hardware, travel highlighted automatically
- ▸One-click export to formatted PDF summary ready to hand to a CPA or import into TurboTax
Target Audience
Freelancers, indie hackers, and solo consultants — roughly 59 million self-employed workers in the US who file Schedule C — targeting the 2 million who identify as tech-adjacent.
Example Use Case
Marcus, a freelance Rails dev earning $180k, uploads his Chase CSV and 40 forwarded receipt emails on a Sunday afternoon and gets a fully categorized Schedule C summary he forwards to his CPA — saving 5 hours and one $400 CPA prep fee.
User Stories
- ▸As a freelance developer, I want to upload my bank CSV and get every transaction mapped to a Schedule C category automatically, so that I stop spending 5 hours doing it manually.
- ▸As a solo consultant, I want flagged deduction opportunities highlighted in my transaction list, so that I do not miss legitimate business expenses.
- ▸As a self-employed indie hacker, I want a formatted PDF summary I can email to my CPA, so that I cut my CPA prep time and bill in half.
Done When
- ✓Upload: done when user drops a Chase or Mercury CSV and sees a categorized transaction table within 30 seconds.
- ✓Override: done when user clicks any row category, selects a different Schedule C line from a dropdown, and sees the change persist on refresh.
- ✓Export: done when clicking Download PDF produces a formatted document showing total per Schedule C category with transaction list.
- ✓Payment: done when Stripe checkout completes and user is redirected to a confirmation page with a working PDF download link.
Is it worth building?
$99/year x 300 customers = $29,700 ARR at month 6. Math: 5% conversion from indie hacker community audience of 6,000 reached via Twitter and HN cold outreach.
Unit Economics
CAC: $12 via Twitter thread replies and HN comments. LTV: $99 year one, $60 renewal year two (60% retention). Payback: immediate. Gross margin: 91%.
Business Model
Annual subscription
Monetization Path
$99/year flat — one purchase per tax season, sold Oct-April. Lifetime deal at $199 to seed early adopters.
Revenue Timeline
First dollar: week 2 via pre-launch lifetime deal. $5k ARR: month 2 (January launch). $20k ARR: April 15 cutoff. Renewal revenue in year 2.
Estimated Monthly Cost
Claude API: $30, Vercel: $20, Supabase: $25, Stripe fees: $15. Total: $90/month at launch.
Profit Potential
Side income to low full-time at $15k-$40k ARR — highly seasonal but very high intent at purchase time.
Scalability
Medium — expand to state tax summaries, multi-year comparison, and CPA collaboration portal.
Success Metrics
Jan 1 to Apr 15: 500 signups, 150 paid. Annual renewal rate above 60% in year two.
Launch & Validation Plan
Post a tweet in January showing a before/after CSV-to-Schedule-C demo, collect 100 email signups before building anything beyond a landing page.
Customer Acquisition Strategy
First customer: reply to every HN 'Ask HN: how do you handle taxes as a freelancer' thread with a free beta offer. Ongoing: Twitter/X indie hacker community, r/freelance, Substack sponsorships targeting developer newsletters, SEO for 'schedule c freelancer tool'.
What's the competition?
Competition Level
High
Similar Products
TurboTax Self-Employed (full filing, complex, $119+), Keeper Tax ($192/year, subscription-based bookkeeping), Bench (full bookkeeping, $299/month) — none focus on the one-time annual audit-prep doc a freelancer hands to their CPA.
Competitive Advantage
Faster than TurboTax web forms, cheaper than a CPA for prep work, purpose-built for tech freelancers who understand CSV exports.
Regulatory Risks
Must clearly disclaim this is not tax advice or filing — it is organization and prep only. Avoid any language implying guaranteed deduction accuracy.
What's the roadmap?
Feature Roadmap
V1 (launch): CSV upload, Claude categorization, deduction flags, PDF export, Stripe payment. V2 (month 2-3): email receipt forwarding parser, multi-bank format support. V3 (month 4+): year-over-year comparison, CPA sharing portal.
Milestone Plan
Phase 1 (Week 1-2): CSV parse and Claude categorization working with real bank export data. Phase 2 (Week 3-4): PDF export, Stripe payment gate, and 10 beta users providing feedback. Phase 3 (Month 2): January launch with ProductHunt and HN post.
How do you build it?
Tech Stack
Next.js, Claude API, Supabase, Stripe, Resend — build with Lovable for UI, Cursor for Claude integration, v0 for the transaction review table
Suggested Frameworks
Zod for schema validation, papaparse for CSV parsing, pdf-parse for receipt PDFs
Time to Ship
2 weeks
Required Skills
CSV parsing, Claude API for categorization, Stripe checkout, basic Next.js.
Resources
Anthropic docs, papaparse docs, IRS Schedule C category list, Stripe docs.
MVP Scope
app/page.tsx (landing with seasonal urgency), app/upload/page.tsx (CSV and receipt upload flow), app/api/categorize/route.ts (Claude categorization pipeline), app/api/export/route.ts (PDF summary generation), lib/claude/categorize.ts (Schedule C mapping logic), lib/parsers/csv.ts (papaparse wrapper), components/TransactionTable.tsx (review and override UI), components/DeductionAlert.tsx (flagged items), seed.ts (50 demo transactions pre-categorized), .env.example
Core User Journey
Upload bank CSV -> Claude categorizes transactions -> review and override in table -> pay $99 -> download PDF summary for CPA.
Architecture Pattern
CSV upload -> papaparse -> Claude API categorizes each row to Schedule C line -> user reviews and overrides in table UI -> PDF export generated -> Stripe payment gate before download.
Data Model
User has many TaxYears. TaxYear has many Transactions. Transaction has category, amount, merchant, deductible flag. TaxYear has one ExportedSummary.
Integration Points
Claude API for transaction categorization, papaparse for CSV parsing, Stripe for one-time annual payment, Supabase for session and document storage, Resend for receipt email, pdf-lib for PDF generation.
V1 Scope Boundaries
V1 excludes: state taxes, multi-year tracking, CPA collaboration portal, direct TurboTax import, bank API connection (CSV only).
Success Definition
A freelancer finds TaxDraft via a tweet in February, uploads their bank CSV, reviews categorized transactions, pays $99, downloads their Schedule C summary, and emails it to their CPA — zero founder involvement.
Challenges
Tax season is 4 months of spike and 8 months of near-zero demand — annual pricing helps but churn between years is the core retention problem. Distribution must happen via HN, Twitter, and Substack newsletters before April 15 or the window closes entirely.
Avoid These Pitfalls
Do not add state tax support in V1 — federal Schedule C only or you add 6 weeks of complexity. Do not launch outside Jan-Apr window or demand evaporates. Finding first 50 paying customers requires being in the right Twitter threads at the right time — budget 3x more time on distribution than building.
Security Requirements
Supabase Auth magic link, RLS on all tables, uploaded CSVs deleted after PDF export, no raw financial data stored longer than 90 days, GDPR deletion endpoint required.
Infrastructure Plan
Vercel for Next.js, Supabase for Postgres and auth, Supabase Storage for temp CSV files (auto-deleted), GitHub Actions CI, Sentry for errors, estimated $90/month at launch.
Performance Targets
200-row CSV categorized in under 30 seconds, page load under 2s, Claude batch calls parallelized in groups of 50 rows.
Go-Live Checklist
- ☐Security audit complete.
- ☐Payment flow tested end-to-end.
- ☐Sentry live.
- ☐Vercel analytics configured.
- ☐Custom domain with SSL.
- ☐Privacy policy and tax disclaimer published.
- ☐5 beta freelancers signed off.
- ☐Rollback plan documented.
- ☐Launch tweet and HN post drafted for January.
First Run Experience
On first run: a demo bank CSV with 50 pre-categorized transactions is visible in the transaction table with deductions highlighted in green. User can immediately browse the demo, see what the PDF export looks like, and upload their own CSV without creating an account. No manual config required: demo data is pre-seeded, Stripe test mode active.
How to build it, step by step
1. Define Zod schema mapping transaction fields to IRS Schedule C line items. 2. Set up Supabase with transactions, tax_years, and users tables with RLS. 3. Build CSV upload endpoint using papaparse to normalize bank export formats. 4. Write lib/claude/categorize.ts that sends batches of 50 transactions to Claude with Schedule C category prompt. 5. Create TransactionTable.tsx with inline category override dropdowns using v0. 6. Build deduction flagging logic that highlights software, hardware, home office, and travel rows. 7. Implement pdf-lib export that formats categorized transactions into a Schedule C summary PDF. 8. Add Stripe one-time $99 checkout that gates the PDF download. 9. Add Resend confirmation email with download link after payment. 10. Deploy to Vercel and upload a real 200-row bank CSV end-to-end without any manual steps.
Generated
June 9, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.