Inspiration

We've all been there — the group chat goes silent the moment someone asks "so what are we doing tonight?" Hours of scrolling, conflicting reviews, and endless back-and-forth kill the excitement before the night even starts. Decision fatigue is real, and we built activitEASE to kill it.

What it does

activitEASE is a smart outing planner that takes your preferences and serves you a swipeable, curated shortlist of activities — no noise, no overwhelm. Users input: Location and travel radius (visualised on an interactive map) Budget per person Group size Vibe (Casual, Fun, Intimate, High Energy, Low Energy, Competitive, Adventure, Formal) Day type (Weekday vs. Weekend), time window, and duration

The app then: Filters activities by budget, group size, and real opening hours Scores and ranks results by vibe match and duration fit Verifies distance using a Distance Matrix API Surfaces the top 10 matches for you to Tinder-swipe through Let's you drag and drop your liked/passed activities into a curated final summary

How we built it

Frontend: HTML, CSS, JavaScript Leaflet.js for the interactive radius map Custom swipe gesture system with drag detection

Backend: Python with Flask Custom CSV-based activity database with attributes for vibe scores, group size ranges, hours, duration, price, and location Scoring algorithm weighing vibe match + duration fit Distance Matrix AI API for real distance filtering Google Gemini API (gemini-1.5-flash) to auto-fetch official venue websites

Challenges we ran into

1) Translating "vibe" into data — mapping feelings like "intimate" or "high energy" into numeric scores for each activity required careful manual curation and iteration 2) Time parsing edge cases — handling AM/PM formats, 24-hour conversions, and "OPEN"/"CLOSED" flags across weekday vs. weekend schedules was trickier than expected 3)Distance filtering at scale — making real API calls to validate distance for every candidate activity required smart ordering to minimise unnecessary requests 4) Swipe UX feel — getting the drag-to-swipe interaction to feel natural and responsive across devices took significant front-end tuning

Accomplishments that we're proud of

1)Built a fully functional end-to-end product — from preference input to swipeable results to a curated summary — in a single hackathon sprint 2)The scoring algorithm genuinely surfaces relevant results, not just random suggestions The swipe mechanic felt intuitive instantly with every tester — zero learning curve 3)Integrated four external APIs/services that all work together seamlessly

What we learned

1) Simplicity is deceptively hard — stripping planning down to its essentials without losing personalization required deliberate, ruthless design decisions 2) Translating subjective human preferences (vibe, mood) into structured, queryable data is one of the core challenges of recommendation systems 3) A familiar interaction pattern (swiping) applied to a new problem space dramatically lowers user friction

What's next for activitEASE

1) Group voting mode — everyone in the crew swipes independently, and the app surfaces the consensus winner 2) Expand beyond Edmonton — open the activity database to any city 3) Calendar integration — lock in your night directly from the app 4) Social layer — save, rate, and share past nights out with friends

Share this project:

Updates