# Contribute to Pain Tracker

<!-- pain-tracker:product-hunt-badge:start -->
<a href="https://www.producthunt.com/products/pain-tracker?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-pain-tracker" target="_blank" rel="noopener noreferrer"><img alt="Pain Tracker - Privacy-first PWA for chronic pain tracking & management | Product Hunt" width="250" height="54" src="https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1063103&theme=dark" /></a>
<!-- pain-tracker:product-hunt-badge:end -->

Pain Tracker Pro is an open-source project built by survivors, for survivors. We are looking for contributors who care about privacy, accessibility, and trauma-informed design.

## 🛠️ The Tech Stack

We use a modern, type-safe stack focused on performance and local persistence:

* **Framework:** React 18 + TypeScript + Vite
    
* **State Management:** Zustand + Immer
    
* **Database:** IndexedDB (via IDB wrapper)
    
* **Styling:** Tailwind CSS
    
* **Testing:** Vitest + Playwright
    
* **Validation:** Zod
    

## 🤝 How You Can Help

We welcome contributions of all kinds, not just code.

### 1\. Code Contributions

* **Accessibility Audits:** Help us reach WCAG 2.2 AA compliance.
    
* **Performance:** Optimize our Service Worker and IndexedDB queries.
    
* **Features:** Check our [GitHub Issues](https://github.com/CrisisCore-Systems/pain-tracker/issues) for "good first issue" tags.
    

### 2\. Documentation

* Improve our README and setup guides.
    
* Write tutorials or use-cases.
    

### 3\. Testing

* Test the app on different devices and report bugs.
    
* Help us write better end-to-end tests.
    

## 🚫 What We Are NOT Looking For

* **Tracking/Analytics:** We will not accept PRs that add third-party tracking pixels, analytics SDKs (like Google Analytics), or any code that sends user data to a remote server without explicit, opt-in consent.
    
* **Growth Hacking:** We optimize for user trust, not "engagement" or "retention" metrics.
    

## 📜 Code of Conduct

We are committed to providing a friendly, safe, and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.

## 🚀 Get Started

1. **Fork the Repository:** [https://github.com/CrisisCore-Systems/pain-tracker](https://github.com/CrisisCore-Systems/pain-tracker)
    
2. **Clone it:** `git clone https://github.com/YOUR_USERNAME/pain-tracker.git`
    
3. **Install Dependencies:** `npm install`
    
4. **Run it:** `npm run dev`
    

If you have questions, feel free to open a discussion on GitHub!

---

> **Try Pain Tracker →** [Start Tracking (Free & Private)](https://paintracker.ca)
