# UX/UI Designer Project & Invoice Hub  

## Dashboard / How to Use  
A single‑page control centre for solo UX/UI designers that now includes:  

* **Native Stripe invoicing** – a formula‑generated payment link that opens a Stripe Checkout page instantly.  
* **Client portal** – a read‑only page each client can bookmark to see project status, assets, and invoices.  
* **Design Asset Library** – a dedicated database for UI kits, components, and style guides, linked to projects.  
* **Polished UI** – colour‑coded status badges, custom icons, and a dark‑/light‑mode toggle.  
* **On‑boarding video** – a 3‑minute walkthrough embedded directly in the template.  
* **Time‑tracking & expense ledger** – Toggl button integration and an expense table for full‑stack solopreneur tracking.  

### Quick start (2‑minute setup)  
1. **Duplicate** the template (Share → *Duplicate as template*).  
2. Open the **Dashboard** page and click the **Projects** link to view your first project.  
3. Add a new project in the **Projects** table (fill client, budget, timeline).  
4. Add milestones for that project in the **Milestones** table; set due dates.  
5. Enable the Zapier/Make automation (see **Settings & Automation**) to auto‑send invoices when a milestone status changes to **✅ Completed**.  

---  

## Projects Overview  
Track every client engagement, budget, and timeline in one database. Use the linked view on the Dashboard to see high‑level status at a glance.  

| Name **(Title)** | Client | Budget (USD) | Status | Start date | End date | Notes |
|---|---|---|---|---|---|---|
| 📱 Mobile App Redesign | Acme Corp | 4,500 | 🟦 **In Progress** | 2024‑09‑01 | 2024‑11‑15 | Primary contact: Jane Doe |
| 📊 SaaS Dashboard UI | BrightTech | 3,200 | 🟨 **Planning** | 2024‑10‑05 | 2025‑01‑10 | Kick‑off meeting scheduled |
| 🛒 E‑commerce Site Revamp | GreenShop | 5,800 | 🟥 **On Hold** | 2024‑08‑20 | 2024‑12‑01 | Awaiting brand guidelines |

> **Tip:** Set the **Status** property as a **Select** with colour‑coded options:  
> * Planning 🟨 (yellow)  
> * In Progress 🟦 (blue)  
> * On Hold 🟥 (red)  
> * Completed ✅ (green)  
> * Cancelled ⚫ (gray)  

> **Best practice:** Keep **Budget** as a **Number** (format $) and add a **Formula** “Days Remaining” → `dateBetween(prop("End date"), now(), "days")`.  

---  

## Milestones Tracker  
Each project is broken into billable milestones. When a milestone’s **Status** is switched to **✅ Completed**, the automation creates a Stripe invoice and writes the payment link back into Notion.  

| Milestone **(Title)** | Project (Relation) | Due date | Amount (USD) | Status | Invoice Ready? | Invoice Sent (Checkbox) | Invoice Link (URL) | Toggl Timer |
|---|---|---|---|---|---|---|---|---|
| Wireframe Delivery | Mobile App Redesign | 2024‑09‑15 | 1,200 | ✅ Completed | Yes | ☑️ | https://buy.stripe.com/abc123 | ⏱️ |
| High‑Fidelity Mockups | Mobile App Redesign | 2024‑10‑10 | 1,800 | 🟦 In Progress | No | ⬜ |  | ⏱️ |
| User Testing Report | SaaS Dashboard UI | 2024‑11‑01 | 1,000 | 🟨 Planning | No | ⬜ |  | ⏱️ |
| Final UI Kit | E‑commerce Site Revamp | 2024‑11‑20 | 2,500 | 🟥 On Hold | No | ⬜ |  | ⏱️ |

* **Invoice Ready?** – Formula: `if(and(prop("Status") == "✅ Completed", not(prop("Invoice Sent"))), "Yes", "No")`  
* **Invoice Link** – Formula that builds a Stripe Checkout URL from a stored **Stripe Link ID** (see *Invoice Generator*).  

> **Tip:** The **Project** column is a **Relation** to the **Projects** database; enable “Show as select” for quick filtering.  

---  

## Design Asset Library  
A version‑controlled repository for all deliverables, UI kits, component libraries, and style guides.  

| Asset **(Title)** | Project (Relation) | Type (Select) | File (File) | Version | Last updated |
|---|---|---|---|---|---|
| Mobile Wireframes v1 | Mobile App Redesign | Wireframe | 📎 wireframes_v1.pdf | 1.0 | 2024‑09‑12 |
| Dashboard UI Kit | SaaS Dashboard UI | UI Kit | 📎 ui_kit.sketch | 2.1 | 2024‑10‑08 |
| Brand Guidelines | GreenShop | Document | 📎 brand_guidelines.docx | 3.0 | 2024‑08‑25 |
| Component Library v3 | Mobile App Redesign | Component | 📎 components_v3.figma | 3.0 | 2024‑10‑02 |

> **Tip:** Use the **File** property to attach PDFs, Sketch files, or Figma links directly.  

---  

## Invoice Generator & Automation  
A filtered view that surfaces only milestones ready for invoicing, plus a step‑by‑step automation blueprint that creates a Stripe payment link **inside Notion**.  

### Invoice Ready View (filtered)  
* **Filter:** `Invoice Ready?` = `Yes`  
* **Columns:** Milestone, Amount, Client (via relation), Invoice Sent, Invoice Link, Toggl Timer  

### Stripe Link Formula (native)  
1. Add a **Text** property called **Stripe Link ID** to the **Milestones** table (populate it with the ID you obtain from Stripe → *Payment Links* → *Create a new link*).  
2. Add a **Formula** property called **Invoice Link** with the expression:  

```notion
if(empty(prop("Stripe Link ID")), "", concat("https://buy.stripe.com/", prop("Stripe Link ID")))
```  

The resulting URL renders as a clickable button that opens the Stripe Checkout page.  

### Automation Blueprint (Zapier / Make)  
1. **Trigger:** *New or Updated Record* in Notion → **Milestones** where `Status = ✅ Completed` and `Invoice Sent = false`.  
2. **Action 1:** *Create Payment Link* in Stripe (use the `Amount` and client email from the related **Projects** record).  
3. **Action 2:** *Update Record* in Notion → set `Invoice Sent` = checked, write the returned `payment_link.id` into **Stripe Link ID**, and refresh the **Invoice Link** formula.  
4. **Optional Action:** *Send Email* via Gmail with the **Invoice Link** and a brief note.  

> **Best practice:** Test the Zap with a dummy project first; ensure the **Invoice Link** field is a **Formula** (as above) so Notion renders the live Stripe URL automatically.  

---  

## Client Portal (Read‑Only)  
Create a page you can share with each client (copy‑protected, view‑only).  

1. Duplicate the **Client Portal Template** page.  
2. In the portal, add three linked databases:  
   * **Projects** – filtered to `Client = [Client Name]`, hide edit controls (`⋮⋮` → *Turn off editing*).  
   * **Milestones** – filtered to the same client, show only *Milestone*, *Due date*, *Status*, and *Invoice Link*.  
   * **Design Asset Library** – filtered to the same client, show *Asset*, *Type*, and *File*.  
3. Share the portal page with the client (Share → *Invite* → set to **Can view**).  

The client sees real‑time status badges, downloadable assets, and a live Stripe payment button—no Notion account required.  

---  

## On‑boarding Video & Walkthrough  
A 3‑minute video that explains the entire workflow, embedded directly in the template.  

```markdown
> 🎬 **Getting Started – 3‑minute walkthrough**  
> <iframe src="https://www.youtube.com/embed/XYZ123ABC" title="UX/UI Designer Hub Onboarding" width="560" height="315" frameborder="0" allowfullscreen></iframe>
```  

Below the video, a step‑by‑step checklist mirrors the video timestamps, so users can jump to the exact section they need.  

---  

## Time‑Tracking & Expense Ledger  

### Toggl Button (per milestone)  
Add a **Formula** property called **Toggl Timer** with this expression (replace `YOUR_WORKSPACE_ID` and `YOUR_API_TOKEN` with your own values):  

```notion
concat("https://track.toggl.com/start?wid=YOUR_WORKSPACE_ID&pid=", replaceAll(prop("Stripe Link ID"), "-", ""), "&description=", encodeURIComponent(prop("Title")))
```  

Clicking the generated link opens a new Toggl timer pre‑filled with the milestone name.  

### Expense Ledger Database  

| Expense **(Title)** | Project (Relation) | Category (Select) | Amount (USD) | Date | Receipt (File) | Billable? (Checkbox) |
|---|---|---|---|---|---|---|
| Stock Photos | Mobile App Redesign | Asset | 120 | 2024‑09‑05 | 📎 receipt.pdf | ☑️ |
| Font License | SaaS Dashboard UI | Software | 45 | 2024‑10‑02 | 📎 receipt.pdf | ⬜ |
| Travel – Client Meeting | GreenShop | Travel | 80 | 2024‑08‑22 | 📎 receipt.pdf | ☑️ |

* **Billable?** – When checked, the amount is automatically added to the **Project Budget** via a roll‑up formula (see *Settings & Automation*).  

---  

## Settings & Automation  

| Setting | Action |
|---|---|
| **Custom Tags** | Add a multi‑select property **Tag** to **Projects** (e.g., `#high‑value`, `#renewal`). |
| **Currency Formatting** | Set all monetary columns to **Number → Format: $**. |
| **Backup** | Duplicate the entire page weekly (use Notion’s *Duplicate* command) and export as PDF for records. |
| **Integrations** | • **Google Calendar** – native sync of milestone due dates. <br>• **Toggl** – use the **Toggl Timer** formula to start timers from any milestone. |
| **Dark / Light Theme Toggle** | Insert a **Toggle** block named **Theme** at the top of the Dashboard. <br>• When **On**, show a dark‑mode‑styled callout (`> 🎨 Dark mode enabled`). <br>• When **Off**, show a light‑mode callout. Users can switch instantly; Notion respects the system‑wide dark mode setting. |
| **Automation Log** | Simple table: *Run ID, Trigger, Status, Timestamp, Error Message* – useful for troubleshooting Zapier/Make runs. |

---  

## How to Set Up in Notion  

1. **Import** this markdown file into a new Notion page (drag‑and‑drop or *Import → Markdown & CSV*).  
2. For each table (Projects, Milestones, Design Asset Library, Expense Ledger):  
   * Click the table → **Convert to → Database → Table – Full page**.  
   * Set the **Title** property (the column marked **(Title)**).  
   * Assign property types:  
     - **Select / Multi‑select** for Status, Type, Category, Tag.  
     - **Relation** linking Milestones ↔ Projects, Assets ↔ Projects, Expenses ↔ Projects.  
     - **Date** for Start date, End date, Due date, Last updated, Date (Expense).  
     - **Number** (format $) for Budget, Amount, Expense Amount.  
     - **Checkbox** for Invoice Sent, Billable?.  
     - **URL** for Invoice Link (auto‑generated).  
     - **File** for Asset files and Expense receipts.  
     - **Formula** for “Days Remaining”, “Invoice Ready?”, Stripe Link ID → Invoice Link, Toggl Timer.  
3. **Create the Invoice Ready View** inside the Milestones database (filter as described).  
4. **Build the automation** in Zapier or Make using the *Automation Blueprint* above; copy the exact property names into the Zap steps.  
5. **Test** by marking a milestone **✅ Completed** → verify a Stripe Checkout link appears, the Toggl timer works, and the expense ledger updates if the expense is billable.  
6. **Publish** the workspace: click **Share → Publish to web**, enable **Allow duplicate as template**, and copy the public link for resale or team sharing.  

Your turnkey UX/UI design studio is now live—track work, keep assets organized, invoice instantly, and give clients a polished self‑service portal. Enjoy!