An Artisan Marketplace & Locator App that connects skilled local artisans (masons, carpenters, plumbers, painters, electricians, welders, tilers, etc.) with people who need work done, fast and reliably.
Think of it as "Uber meets skilled labor", but grounded in Ghanaian realities like location, trust, and phone calls.
- Browse Artisans by Category: Select from 8 different artisan categories
- Location-Based Search: Find artisans near you using GPS
- View Detailed Profiles: See artisan information including:
- Name & profile photo
- Skills & experience level
- Ratings & reviews
- Contact information
- Direct Communication: Call artisans directly with one tap
- Send Job Requests: Quick job request functionality
- Simple Registration: Register with basic information
- Name
- Phone number
- Skill category
- Years of experience
- Location
- Profile Management:
- Upload profile photo
- Add portfolio photos (past work)
- Write bio/description
- Availability Toggle: Mark yourself as available or busy
- Build Reputation: Receive ratings and reviews from customers
- Framework: React Native with Expo
- Navigation: React Navigation (Stack Navigator)
- Location Services: expo-location
- Image Handling: expo-image-picker
- Platform Support: iOS, Android, and Web
- 🧱 Mason
- 🪚 Carpenter
- 🔧 Plumber
- 🎨 Painter
- ⚡ Electrician
- 🔥 Welder
- 🏗️ Tiler
- 🔩 Mechanic
- Node.js (v14 or higher)
- npm or yarn
- Expo CLI (optional, but recommended)
- Clone the repository:
git clone https://github.com/McAnnison/WorkManGH.git
cd WorkManGH- Install dependencies:
npm install- Start the development server:
npm start-
Run on your device:
- Install Expo Go app on your phone
- Scan the QR code displayed in the terminal
Or run on emulator/simulator:
- For Android:
npm run android - For iOS:
npm run ios - For Web:
npm run web
WorkManGH/
├── App.js # Main app component with navigation
├── src/
│ ├── screens/
│ │ ├── HomeScreen.js # Landing page
│ │ ├── CategorySelectionScreen.js # Select artisan category
│ │ ├── ArtisanListScreen.js # List of artisans by category
│ │ ├── ArtisanDetailScreen.js # Artisan profile details
│ │ ├── ArtisanRegistrationScreen.js # Artisan registration form
│ │ └── ArtisanProfileScreen.js # Artisan's own profile management
│ └── data/
│ └── artisanData.js # Sample data and utility functions
├── assets/ # App icons and images
├── app.json # Expo configuration
├── package.json # Dependencies
└── babel.config.js # Babel configuration
- Open app → Home screen
- Tap "Find an Artisan"
- Select category (e.g., Plumber)
- View nearby artisans with GPS-based sorting
- Tap on an artisan to view full profile
- Call artisan or send job request
- Artisan accepts and comes to work
- Open app → Home screen
- Tap "Register as Artisan"
- Fill in registration form (name, phone, category, experience)
- Upload photos (profile & portfolio)
- Complete registration
- Manage profile and toggle availability
- Receive calls/requests from customers
- Build reputation through ratings
- Location: To find nearby artisans (GPS-based search)
- Phone/Calls: To make direct calls to artisans
- Camera/Photos: To upload profile and portfolio photos
The app includes sample artisan data for demonstration purposes. In a production environment, this would be replaced with a backend API and database.
- Backend API integration
- User authentication
- Real-time job request notifications
- In-app messaging
- Payment integration
- Review and rating system implementation
- Job history tracking
- Artisan verification system
- Push notifications
- Photo upload functionality
- Multi-language support (English, Twi, Ga, etc.)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
WorkManGH Team
- Built for the Ghanaian artisan community
- Inspired by the need to connect skilled workers with customers efficiently
- Designed with mobile-first approach for accessibility
WorkManGH - Empowering artisans who normally depend on roadside visibility or word of mouth.