TaskSwap - Decentralized Task Bartering App

A peer-to-peer platform where users exchange skills and tasks without money. Trade "I'll write your email if you solve this Excel issue for me" style exchanges with a token-based fairness system.

Features

  • User Authentication & Profiles: Create profiles highlighting skills and expertise
  • Task Creation & Discovery: Post tasks with detailed requirements and browse available opportunities
  • Token-Based Bartering: Fair exchange system ensuring balanced trades
  • Direct Messaging: Communicate with other users to discuss task details
  • Completion Verification: Rating system for completed exchanges
  • Community Feed: Showcase successful exchanges and build trust

Project Structure

├── backend/
│   ├── database/
│   │   ├── migrations.ts    # Database schema
│   │   └── queries.ts       # Database operations
│   ├── routes/
│   │   ├── auth.ts         # Authentication endpoints
│   │   ├── tasks.ts        # Task CRUD operations
│   │   ├── users.ts        # User management
│   │   ├── messages.ts     # Direct messaging
│   │   └── static.ts       # Static file serving
│   └── index.ts            # Main Hono app
├── frontend/
│   ├── components/
│   │   ├── App.tsx         # Main application
│   │   ├── TaskCard.tsx    # Task display component
│   │   ├── UserProfile.tsx # User profile component
│   │   └── MessageThread.tsx # Messaging component
│   ├── index.html          # Main HTML template
│   ├── index.tsx           # Frontend entry point
│   └── style.css           # Global styles
└── shared/
    ├── types.ts            # Shared TypeScript types
    └── utils.ts            # Shared utility functions

Tech Stack

  • Backend: Hono (TypeScript API framework)
  • Frontend: React 18.2.0 with TypeScript
  • Database: SQLite with Val Town's sqlite service
  • Styling: TailwindCSS with custom design system
  • Authentication: Simple token-based auth

Design System

  • Colors: Teal primary (#0D9488), Purple accent (#9333EA), Orange highlight (#F97316)
  • Typography: Inter font with 3 weights
  • Spacing: 8px base system
  • Components: Apple-inspired minimalism with intentional white space

Getting Started

  1. The app runs on Val Town's platform
  2. Database tables are auto-created on first run
  3. Visit the app URL to start using TaskSwap
  4. Create a profile and start posting or browsing tasks

Token System

  • New users start with 10 tokens
  • Posting a task costs tokens based on complexity
  • Completing tasks earns tokens
  • System prevents token hoarding and ensures fair exchanges