Inspiration

Crowdfunding is powerful, but backing a project can feel risky, even pointless, when you’re unsure it will ever reach its goal. We wanted to change that by creating something that feels fair to everyone involved. Tidepool is built on a simple idea: what gets created should be driven by collective momentum, not by individuals taking all the risk.

What it does

Tidepool is a community powered funding platform where people pledge support without being charged upfront. Funds are only captured when an initiative reaches its target, which means projects launch with real backing and supporters avoid wasted commitments. Users can explore initiatives on an interactive map, track live progress, and join together to make ideas happen.

How we built it

We built Tidepool with a React and TypeScript frontend powered by Vite, Tailwind, and shadcn/ui for a fast and responsive interface. The backend runs on Ruby on Rails with PostgreSQL, handling initiatives, pledges, and business logic. Stripe powers secure payment holds and captures, while Mapbox GL drives the interactive globe experience. Real time updates are handled through modern React data fetching patterns and smooth motion effects.

Challenges we ran into

One of the biggest challenges was designing payment flows that felt seamless while staying compliant with Stripe’s requirements. Managing conditional charging logic, handling edge cases when goals expire, and keeping the UI perfectly in sync with backend status updates required careful architecture. Performance on the interactive map also needed optimisation as more initiatives loaded.

Accomplishments that we're proud of

We are proud of building a full end to end platform that feels polished and playful while solving a real trust problem in crowdfunding. The live progress tracking, goal triggered status changes, and celebration moments make the experience feel alive. Bringing together a modern frontend stack with a robust Rails API in a short time frame was a huge win.

What we learned

We learned how important clear payment state modelling is when working with delayed charges. We also deepened our understanding of building scalable APIs, structuring a TypeScript codebase for growth, and designing UX that communicates trust and transparency. Small animation details and responsive design choices made a bigger impact than we expected.

What's next for TidePool

Next steps include social features so communities can form around initiatives, smarter discovery and recommendation tools, and improved creator analytics. We also want to introduce recurring collective goals, expand global map exploration, and prepare the platform for real world deployment with stronger monitoring and scalability.

Share this project:

Updates