Inspiration
Growing up and owning a small business gave me perspective on the hardships small business owners have to face when selling their product. I found that as a small business owner it was hard to find opportunities that allowed me to be exposed to a large environment to sell my products, and even when I did, there were so many hidden parameters to becoming a vendor. This is why we created the name of the website to make connecting small businesses to opportunities easier. Instead of searching scattered websites and sorting through unclear requirements; we built Gather to make finding and preparing for local opportunities easier on both ends.
What it does
Gather helps organizations discover markets, festivals, pop-ups, and community events that fit their offering, location, travel radius, and budget.
Users can compare opportunities, save events, view deadlines in a calendar, prepare inquiry drafts and application materials, and track their application progress. Listings include source links and compatibility evidence so users can understand each recommendation.
How we built it
We built Gather with vanilla JavaScript, HTML, and CSS, supported by a lightweight Node.js server.
Apify powers public discovery through web search and page crawling. Local extraction rules turn source content into structured event information, while deterministic matching evaluates category fit, distance, published fees, eligibility, and shared interests.
Profiles, saved opportunities, and application workspaces persist in browser storage. Server-side caching helps avoid repeated discovery requests.
Challenges we ran into
Organizer websites present information inconsistently. Fees, deadlines, vendor restrictions, and locations can be missing or ambiguous, making reliable extraction challenging.
We also needed to distinguish confirmed eligibility from conditional acceptance and unknown information. Handling distant listings, expired deadlines, discovery latency, and separate business workspaces required careful validation.
Accomplishments that we're proud of
We built a complete workflow from discovering an opportunity to preparing an application.
Gather explains compatibility rather than presenting an unexplained score. It preserves uncertainty, keeps business-specific drafts separate, and brings saved events, deadlines, checklists, and exports into one workspace.
What we learned
We learned that useful recommendations depend on trustworthy data and clear explanations. Missing information should remain visible, and a compatibility score should never override an explicit restriction.
We also learned how caching, conservative extraction, and persistent local state can make a lightweight application more practical and reliable.
What's next for Gather
We want to expand geographic coverage and improve extraction across more organizer websites.
Additionally, we are also planning to add host profiles/accounts for festivals, gatherings, and others public/events, so they can find suitable vendors for their own events. This could help attract a different audience to Gather and support both venders and event hosts in achieving their goals.
Future AI features could help users write tailored application drafts, understand event requirements, and compare saved opportunities. These additions would retain source evidence and user review while keeping eligibility and budget checks grounded in explicit rules.
Built With
- apify
- codex
- css
- html
- javascript
- node.js
- openai
Log in or sign up for Devpost to join the conversation.