airbulletin – your community-powered errand board
Have you ever needed help with a task — like assembling furniture, walking your dog, or picking up a delivery — but didn’t know who to turn to? Or maybe you have skills and free time, yet no idea where to find opportunities. airbulletin bridges that gap.
Inspiration
Life is busy. Everyday chores slip through the cracks, while neighbours with the right skills experience idle hours. We wanted a digital bulletin board that lets people who need something meet people who can do something — instantly and locally.
What it does
- Post an errand – describe the task, choose a time, set a price.
- Smart matching – Google Maps and our algorithm surface nearby helpers with the right skills and ratings.
- Chat and agree – negotiate in‑app; everything is timestamped.
- Task → payment – funds stay in escrow until both sides tap Complete.

How we built it
| Layer | Stack |
|---|---|
| Front end | React + Vite, Tailwind CSS |
| Back end | Flask, SQLAlchemy, PostgreSQL |
| Location | Google Maps JavaScript SDK |
| Auth and payment | JWT, Stripe Connect escrow |
# Spin up the backend locally
git clone https://github.com/your-org/airbulletin
cd airbulletin
python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
python app.py initdb && python app.py run
Challenges we ran into
- CORS issues between Vite (5173) and Flask (5000) – solved with flask‑cors.
- Real‑time updates – added WebSocket fallback for restricted networks.
Accomplishments we are proud of
- Shipped a working prototype in 36 hours.
- First live task completed by strangers during the hackathon.
What we learned
- Trust is not automatic — verification, escrow, and transparent reviews are critical.
- ORMs save time, but geo‑queries still need proper indices.
What’s next
- Mobile apps (React Native) with push notifications.
- Skill badges and background checks.
- Carbon‑aware routing to match helpers already en‑route.
Gallery

Sample API call
curl -X POST https://api.airbulletin.com/v1/errands \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"title":"Fix leaking tap","price":40,"time":"2025-05-02T15:00"}'
Made with dedication at Community Connect 2025.
Built With
- javascript
- react
- vite
Log in or sign up for Devpost to join the conversation.