Skip to content

Latest commit

 

History

History
148 lines (105 loc) · 6.28 KB

File metadata and controls

148 lines (105 loc) · 6.28 KB

Taskly Product Backlog

Ongoing backlog of features, improvements, and upsells identified during design/build sessions. Items are grouped by surface. Not prioritised — founder to sequence.


Post-Task Wizard — Step 04 (Your Budget)

Shipped

  • Urgent boost (+$5) — ⚡ badge, priority in Tasker feed
  • Tasker brings materials — educational flag, prompts higher budget
  • Same-day boost (+$15) — shown only to Taskers available today; forces urgent=true in DB

Backlog

Flag: Licensed / certified Pro only

What: Poster signals they need a credentialed Tasker (licensed electrician, plumber, HVAC, etc.). Why it moves the needle: Filters supply to verified-trade Taskers; customer expects to pay more. Inline copy: "Licensed Taskers typically charge $20–50/hr more — your budget should reflect that." Implementation: boolean needs_licensed_pro on tasks table + filter on Tasker browse/matching.

Flag: Difficult access (elevator, stairs, no parking)

What: Poster flags that the location is hard to reach (high-rise, no parking, 3rd floor+). Why it moves the needle: Prevents Tasker no-shows and disputes caused by unexpected carry fees. Prompts poster to add an access buffer: "Access fees are common for high-rise or no-parking situations — a buffer of $10–20 helps attract bids." Implementation: boolean difficult_access on tasks table + display on task card in feed.

Flag: Open to repeat / recurring

What: Poster signals they may need the same task again (weekly clean, monthly lawn care, etc.). Why it moves the needle: Taskers who value repeat business prioritise these tasks, leading to better bids and faster matches. Cross-sell hook: after task is marked complete, offer to convert to a recurring booking. Implementation: boolean open_to_recurring on tasks table + post-completion nudge flow.

Flag: I need a receipt / invoice

What: Poster needs a formal invoice for reimbursement, tax, or corporate expense. Why it moves the needle: Routes to incorporated/registered Taskers who can issue HST receipts. Small premium expected; Taskers self-select. Implementation: boolean needs_invoice on tasks table + Tasker profile issues_invoices flag.


Location Data — Multi-City Expansion

Backlog

"Flexible · GTA" hardcoded location strings

What: When a poster chooses flexible location (no fixed address), the DB stores the string "Flexible · GTA" in tasks.location. This is written in three places:

  • app/api/tasks/route.ts:77
  • app/api/integrations/whatsapp/tasks/route.ts:194
  • app/post-task/steps/StepReview.tsx:164 (display fallback)
  • app/post-task/TaskPreviewCard.tsx:43 (display fallback)

Why it matters on expansion: A poster in Ottawa with flexible location gets their task stored as "Flexible · GTA" — wrong city in the DB and wrong city shown on their task card.

Fix needed: Replace the hardcoded 'GTA' with a city derived from the task's geocoords (lat/lng) or the user's onboarding location. The display fallbacks should also be 'Flexible · [city]' not 'Flexible · GTA'.

Dependency: City-aware geocoding on task creation (the lat/lng already exists — just need a reverse-geocode city lookup or a stored city field).


Pricing Intelligence — Multi-City Expansion

Strategic decision required before building

City-aware price calibration

What: The AI pricing model (lib/marketplace/price-table.ts, api/predict-price) is currently calibrated to GTA 2026 rates. Any non-GTA user (Ottawa, Calgary, Vancouver, Halifax) gets GTA prices — which run 30–50% above most other Canadian markets. This will deter posting and produce zero Tasker bids outside the GTA.

The copy already says "Local market price" (not "GTA market price") so the label is future-proof, but the underlying data is not.

What needs to happen before national expansion:

  1. City-specific price tables per market (or a multiplier model seeded from GTA rates)
  2. Detect poster's city from task location coords (lat/lng) at pricing time
  3. Route the estimate to the correct city model
  4. Address.province hardcode ('ON') in the codebase needs to be removed

Current state: GTA-only at launch — this is not yet a live problem. Do not expand nationally before this is addressed or every non-GTA poster will see inflated estimates and churn.


Post-Task Wizard — General

Backlog

Urgency tiers (single selector replacing two toggles)

What: Consolidate Urgent and Same-day into a single 3-state urgency picker: None / Urgent (+$5) / Same-day (+$15) displayed as a segmented control, not two toggles. Why: Cleaner UX; eliminates the question of whether both can stack. Dependency: Removes the current independent toggles — breaking change to the draft shape.

Budget confidence score

What: After the poster sets a budget, show a 1–5 "confidence" bar (green = strong, red = low) driven by the market estimate. Updates live as the slider moves. Why: Gives instant visual feedback without new text; strong nudge toward Standard+.


Browse Taskers / Tasker Feed

Backlog

"Available today" Tasker filter

What: Surface a filtered view of Taskers who have marked availability for today. Feeds the same_day flag from the wizard — only these Taskers see same-day tasks. Dependency: Tasker availability calendar (not yet built).


Tasker Profile / Onboarding

Backlog

Tasker availability toggle (today / this week / unavailable)

What: Taskers set their current availability from the Provider dashboard. Drives the same-day matching logic above. Why: Required to make the same-day boost meaningful.

"Issues invoices" flag on Tasker profile

What: Boolean on provider_profiles that Taskers opt into. Surfaced to customers who toggled needs_invoice. Requires Tasker to have a business registration number on file.


Post-Completion / Recurring

Backlog

Recurring booking upsell after task complete

What: When a completed task had open_to_recurring=true, send the poster a push/email: "Your Tasker is available again — want to book the same job for next month?" Dependency: open_to_recurring flag (above) + recurring booking flow.


Last updated: 2026-07-03 Owner: Mohit (founder)