This is a submission for Weekend Challenge: Generosity Edition
What I Built
“I’m here for you” is easy to say. Knowing what to offer next can be harder.
I built Beside to help turn that intention into something small and specific: a listening ear, quiet company, a helping hand, or a gentle hello after some time apart.
With September being Suicide Prevention Month, I wanted to explore how generosity could look like everyday connection. Giving someone a little of your time and attention can be an act of generosity, too.
Beside helps you find an offer you can follow through on. It has 42+ gestures, simple steps, and messages you can make your own. There’s always room for the other person to say “not today.”
Demo
1. Start with what you know. In this walkthrough, I chose “I’m not sure where to start” and “I’m open to ideas.” No names or personal stories are needed.
2. Choose what you can offer. I set ten minutes, from a distance, with no purchase. Snowflake returned these suggestions based on those choices.
3. Make the offer yours. I opened “Ask one open question, then listen.” Beside gives me a few steps and a message I can edit, then copy into whichever app I normally use to talk.
Code
Beside
Small ways to show up for someone you care about.
Beside turns “I’m here for you” into a thoughtful offer of listening, company, practical help, or reconnection. Choose what feels manageable, explore 42+ gestures, and personalize a message before sharing it.
How I built it
I used Snowflake to store the gestures, message templates, and source references. I created embeddings with AI_EMBED and used VECTOR_COSINE_SIMILARITY to find gestures relevant to the selected situation. SQL filters keep the suggestions within the time, distance, budget, and kind of care someone can offer.
I built the interface with React, TypeScript, Vite, and pnpm, and deployed it on Cloudflare Workers. The Worker connects to Snowflake using credentials stored in Cloudflare secrets. Message edits stay in the browser.
Run the app
Use Node.js 24 and pnpm. Copy .dev.vars.example to .dev.vars and add your Snowflake service-account settings for live matching.
pnpm…How I Built It
I used Snowflake to store the gestures, message templates, and source references. I created embeddings with AI_EMBED using snowflake-arctic-embed-l-v2.0, then used VECTOR_COSINE_SIMILARITY to match each situation with relevant gestures. SQL filters account for time, distance, budget, and the kind of care someone wants to offer.
I used React, TypeScript, Vite, and pnpm for the interface, and Cloudflare Workers for hosting and the API connecting to Snowflake. Message editing happens in the browser, so personal wording isn’t sent to Snowflake.
I wanted Beside to feel warm and approachable. I used rounded fonts, soft colors, and 3D icons from 3dicons. AI adapted source guidance into message templates. Each gesture includes links to the guidance behind it.
Prize Categories
Best Use of Snowflake for storing the content and using embeddings, semantic ranking, and practical filters to find a small way to show up.




Top comments (0)