# How to Make a Feature Request for TaxHacker: The Complete Contributor Guide

> Submit your TaxHacker feature request easily using GitHub Issues. Learn the simple steps to propose new functionalities and improve the software.

- Repository: [Vasily Zubarev/TaxHacker](https://github.com/vas3k/TaxHacker)
- Tags: how-to-guide
- Published: 2026-04-01

---

**TaxHacker accepts feature requests exclusively through GitHub Issues, accessible either via the "Request New Feature" button in the dashboard welcome widget or directly at `https://github.com/vas3k/TaxHacker/issues`.**

TaxHacker is an open-source personal finance platform that combines Next.js, Prisma, and AI-powered receipt extraction to automate tax documentation. If you want to influence the project roadmap, understanding how to make a feature request for TaxHacker correctly ensures your proposal receives proper technical consideration from maintainers.

## Where to Submit TaxHacker Feature Requests

According to the source code in [`README.md`](https://github.com/vas3k/TaxHacker/blob/main/README.md) (line 219), TaxHacker explicitly encourages community members to suggest new ideas through GitHub Issues as one of the primary contribution channels. The repository does not maintain a separate forum, Discord channel, or email list for feature tracking—all discussion happens in the public issue tracker.

The dashboard UI provides a direct entry point. In [`components/dashboard/welcome-widget.tsx`](https://github.com/vas3k/TaxHacker/blob/main/components/dashboard/welcome-widget.tsx) (lines 72-78), the **"Request New Feature"** button href points directly to the GitHub Issues page, creating a seamless bridge between the application interface and the repository.

## Step-by-Step Process for Submitting Requests

### Step 1: Navigate to the Issues Tracker

Open `https://github.com/vas3k/TaxHacker/issues` in your browser, or click the **"Request New Feature"** link from the welcome widget rendered by [`components/dashboard/welcome-widget.tsx`](https://github.com/vas3k/TaxHacker/blob/main/components/dashboard/welcome-widget.tsx).

### Step 2: Create a New Issue

Click **"New issue"**. Note that TaxHacker currently does not store issue templates in the repository (no `.github/ISSUE_TEMPLATE/` directory exists), so you will encounter a blank markdown editor rather than a structured form.

### Step 3: Structure Your Description

Organize your request into five distinct sections to match the architectural review process maintainers follow:

- **Title** — Short, descriptive, and specific (e.g., "Add OCR support for Japanese receipts").
- **Motivation** — Who benefits, what problem it solves, and current limitations.
- **Proposed Solution** — High-level technical approach referencing specific files.
- **Impact** — UI changes, database migrations, or configuration additions required.
- **References** — Links to relevant code sections (e.g., [`lib/ocr.ts`](https://github.com/vas3k/TaxHacker/blob/main/lib/ocr.ts), `prisma/schema.prisma`).

### Step 4: Apply Labels

Add the `enhancement` label manually if you have write access; otherwise, maintainers will triage and label the issue during review.

## Anatomy of an Effective TaxHacker Feature Request

TaxHacker employs a modular architecture: **Next.js** handles the frontend and API routes, **Prisma** manages database interactions, and pluggable LLM providers power AI extraction. Requests that explicitly identify which architectural layer they modify—whether `app/` API routes, `models/` schema definitions, or `lib/` utility functions—significantly accelerate the review process.

### Technical Context to Include

When proposing changes to the AI pipeline, reference files like [`lib/ocr.ts`](https://github.com/vas3k/TaxHacker/blob/main/lib/ocr.ts) or [`models/prompt.ts`](https://github.com/vas3k/TaxHacker/blob/main/models/prompt.ts). For database-related features, cite `prisma/schema.prisma` and specify if migrations are required. UI modifications should reference components in `components/dashboard/` or pages in `app/(app)/`.

### Example Well-Structured Request

```markdown

### Title

Support OCR of Japanese receipts

### Motivation

Many freelancers in Japan need to process receipts in kanji. Current OCR only works well with Latin characters, forcing manual entry.

### Proposed Solution

1. Add a new language pack to the OCR pipeline in `lib/ocr.ts`.
2. Extend the AI prompt in `models/field.ts` to include a `language` parameter.
3. Update the UI in `components/dashboard/receipt-uploader.tsx` to allow language selection.
4. Create a migration in `prisma/migrations/` to store the new `language` column on the `Transaction` model.

### Impact

- UI changes: dropdown for language selection.
- Database schema change: `language` field in `Transaction`.
- Settings page entry to enable/disable Japanese OCR.

### References

- OCR pipeline: `lib/ocr.ts`  
- Transaction model: `prisma/schema.prisma`  
- Existing LLM prompt: `models/prompt.ts`

```

## Programmatic Shortcut Using the GitHub API

If you prefer automation, submit your feature request via the GitHub REST API:

```bash
curl -X POST \
  -H "Authorization: token <YOUR_PERSONAL_TOKEN>" \
  -d '{"title":"Support OCR of Japanese receipts","body":"...markdown content from above...","labels":["enhancement"]}' \
  https://api.github.com/repos/vas3k/TaxHacker/issues

```

## Summary

- **Primary Channel**: Use GitHub Issues exclusively; the [`README.md`](https://github.com/vas3k/TaxHacker/blob/main/README.md) and welcome widget both route to `https://github.com/vas3k/TaxHacker/issues`.
- **No Templates**: The repository lacks issue templates, requiring you to provide structured markdown manually.
- **Technical Specificity**: Reference exact file paths like [`lib/ocr.ts`](https://github.com/vas3k/TaxHacker/blob/main/lib/ocr.ts), `prisma/schema.prisma`, or [`components/dashboard/welcome-widget.tsx`](https://github.com/vas3k/TaxHacker/blob/main/components/dashboard/welcome-widget.tsx) to demonstrate architectural awareness.
- **Labeling**: Mark requests with the `enhancement` label to ensure proper categorization.
- **Clear Structure**: Include motivation, proposed solution, impact assessment, and code references to facilitate maintainer triage.

## Frequently Asked Questions

### Is there a dedicated feature request template for TaxHacker?

No. As of the current codebase, TaxHacker does not include `.github/ISSUE_TEMPLATE` files, so you must compose your request in a blank markdown editor. Following the five-section structure outlined above (Title, Motivation, Proposed Solution, Impact, References) aligns with how maintainers prefer to evaluate incoming ideas.

### Can I submit feature requests via email or social media?

The project documentation in [`README.md`](https://github.com/vas3k/TaxHacker/blob/main/README.md) directs all feature discussions to GitHub Issues. While Vas3k may have personal social media accounts, the official contribution workflow requires public GitHub Issues so the entire community can discuss, vote on, and track progress transparently.

### What file paths should I reference when proposing AI-related features?

For changes involving receipt processing, cite [`lib/ocr.ts`](https://github.com/vas3k/TaxHacker/blob/main/lib/ocr.ts) for OCR logic and [`models/prompt.ts`](https://github.com/vas3k/TaxHacker/blob/main/models/prompt.ts) or [`models/field.ts`](https://github.com/vas3k/TaxHacker/blob/main/models/field.ts) for LLM prompt modifications. If your feature requires storing new data types, reference `prisma/schema.prisma` and specify necessary migrations. UI changes should mention specific components in `components/dashboard/`.

### How do I know if my feature request affects the database schema?

If your proposal introduces new data fields (like the `language` example above), it likely requires modifications to `prisma/schema.prisma`. Review the existing models in that file to determine if you need new columns, tables, or enums, and explicitly mention migration requirements in your issue description.