Inspiration
Everyone’s been in this group chat. Someone says “we should hang out this weekend,” everyone agrees, and then: 1) one person suggests dinner, another wants a movie 2) someone says it’s too expensive 3) someone else doesn’t have a ride Thirty messages later: “We’ll figure it out.” Nobody does. People want to hang out. The hard part is coordinating different budgets, locations, schedules, and preferences. We built RUdown so planning an outing is as easy as saying “I’m down.”
What it does
RUdown helps a group find a plan everyone can afford, agree on it, and split the costs fairly.
- Everyone sets their own constraints
- Friends join a group by invite link and enter their budget, starting location, travel limit, availability, transportation, and dietary or accessibility needs.
- It recommends plans that work for the whole group Instead of assuming everyone has the same budget, RUdown estimates each person’s cost, including travel, and ranks activities that respect everyone’s limits.
- Example from our live Rutgers demo: when Maya’s budget drops from $20 to $8, the top pick switches from Rutgers Cinema to the Zimmerli Art Museum, and every person’s estimated cost updates instantly. You can see why a plan was recommended instead of trusting a black box.
- The group plans together
- Each plan includes an itinerary, a map, individual and shared cost estimates, and travel-distance comparisons. Friends can suggest their own ideas and vote.
- Costs are transparent
- Everyone sees their exact share and approves only that. If the plan or expenses change, all approvals reset, so nobody is committed to a more expensive version they never agreed to.
- The outing gets organized
- Ride-matching suggestions (both people must consent), one-click Google Calendar export, and a shared itinerary.
How we built it
- Stack: React, TypeScript, Tailwind, Cloudflare D1, Leaflet + OpenStreetMap.
- Core idea: a deterministic, constraint-based ranking system. It scores each activity against every participant’s budget, travel burden, availability, and preferences. The interactive calculator on our landing page runs the same logic as the app, so what you see in the demo is what the app does.
- Data: real Rutgers-area venues with published prices (Rutgers Cinema, Zimmerli, Geology Museum, Rutgers Gardens). We label published admission prices separately from estimated optional spending. Also built:
- Invite-based groups with participant-specific credentials (only hashes stored)
- Per-person preference profiles
- Activity suggestions and voting
- Integer-cent expense splitting with itemized costs
- Version-specific approvals that reset when plans change
- Carpool suggestions with seat limits and two-party consent
- Solana Devnet wallet connection
- Challenges we ran into
- One person can be left out. A plan can work for most of the group and be impossible for one person. - - We rank on individual limits, not popularity.
- Equal splits aren’t fair. Travel costs, optional spending, and shared purchases differ, so we modeled them separately.
- Plans change. Agreeing to one version shouldn’t mean agreeing to a pricier one, so approvals are tied to an exact version and cleared on any change.
- Blockchain scope. We prototyped an escrow program for on-chain contributions and refunds, but a payment flow needs deposit/refund logic and audits to be safe. We chose not to ship an untested one, and kept the wallet connection and balance lookup instead.
- One cohesive flow. Connecting recommendations, maps, budgets, voting, and scheduling into one workflow took the most iteration.
Accomplishments we’re proud of
Recommendations that update live as budgets change Per-person cost breakdowns and transparent reasoning Real Rutgers venues with published price references Approvals that reset when anything changes Voting, carpooling, and calendar export in one flow Tested logic: cent-exact splitting, permissions, stale-write protection, and approval invalidation Something we’d actually use with our own friends
What we learned
The best recommendation isn’t the most exciting or popular one. It’s the one that works for everyone. And when money enters a social setting, transparency matters most: people need to know what they’re paying, what they’ve approved, and what happens when plans change.
What’s next
Live venue data and pricing Real transit and driving times (we currently use straight-line distance) Escrow deployed on Solana, with deposits, refunds, and release rules More flexible expense splitting Support for larger outings and student organizations
Less time coordinating. More time making memories.
Built With
- css
- devnet
- gemini
- google-calendar
- javascript
- leafle
- openstreetmap
- rust
- shell
- solana
- typescript
Log in or sign up for Devpost to join the conversation.