Back to Projects

Taskuri

2025

Next.js
TypeScript
Tailwind CSS
Django
Stripe
TanStack Query
Cloudinary
Mapbox
PostHog

Romanian local-services marketplace — clients post tasks, verified taskers send offers, and work is paid by card or cash. Built with Next.js 16, TypeScript, Tailwind CSS, and Django, plus Stripe, TanStack Query, Cloudinary, Mapbox, and PostHog.

Overview

Taskuri (taskuri.ro) is a production Romanian marketplace (similar to Airtasker) that connects people who need help with local professionals and businesses. Clients describe a job, receive offers, pick a tasker, and pay when the work is done.

The public site highlights categories from moving and cleaning to repairs and personal services, with thousands of providers and mobile app download CTAs.

Stack: Next.js 16, TypeScript, Tailwind CSS, Django, Stripe, TanStack Query, Cloudinary, Mapbox, PostHog.

Client experience

Homepage hero drives Postează un task with quick category chips (asamblare, mutare, curățenie, reparații, etc.) and social proof (7k+ prestatori).

  • Post a task — describe the job, location, timing, and budget; task detail pages support questions, offer threads, and acceptance flows
  • Offers & questions — taskers bid on work; clients compare offers and chat before hiring
  • Payments — card offers use Stripe (escrow-style release); cash tasks supported with platform insurance terms
  • Discover & listings — browse services/tasker profiles and SEO landing pages under /listings

Tasker dashboard

Signed-in taskers manage work from /me:

  • My tasks — status tracking, edit task, release payment, and post-completion reviews
  • Offers — submit and negotiate bids; activity boxes for offer and question conversations
  • Business profilesfor-business routes for company accounts with Stripe Connect onboarding
  • Payments — saved cards, payout methods, and card update flows via Stripe Elements (Romanian locale)

Technical notes

Next.js 16 App Router frontend with TypeScript and Tailwind CSS, backed by Django REST APIs. TanStack Query for server state; Stripe for card payments and tasker payouts; Cloudinary for uploads; Mapbox for location; PostHog for product analytics. Real-time chat between clients and taskers. Romanian date-fns locale across task timelines.

On-demand revalidation routes (/api/revalidatepath, /api/revalidatetag) keep service catalog and listing pages fresh after backend updates.