Inspiration

Honestly, the inspiration of this project came from my own life. I've always been someone who overthinks relationships whether it's figuring out how to approach someone, dealing with a breakup, or just untangling something complicated with a person I care about. And most of the time, I didn't want to bother my friends with it at 2am (Although I used to but they stopped picking up calls). Sometimes all we need a good counselor or an excellent therapist that just sits there and hears our rant all day or a guide that guide us in holding onto relationships. That is where the idea of "HeartWise" originated from.

--

What it does

HeartWise is AI relationship counselor that a user can actually talk to. It listens, ask questions, figures the kind of situation a user is in and make suggestions or advices that makes them feel heard or understood. It talks just like a counselor with a warm-pleasant tone that increases user interaction and provides its own summary and insights at the end of each session. It works on three modes, has premium UI effect to keep user attention and designed in such a way that when a user initiate its convo, they will feel like talking to actual counselor rather than a chatbot.

--

How we built it

I built HeartWise using Next.js and TypeScript as the base, App Router for the structure, API routes for handling everything server side. For the AI part, I used OpenRouter as the LLM gateway since it gives access to multiple models without locking you into one provider. The actual model running the conversations is GPT on a free tier. For styling I went with Tailwind CSS v4 and Framer Motion for the animations like the cursor glow, floating emojis, and the smooth transitions throughout. Icons are from Lucide React. Conversation history lives in localStorage so there's no backend database at all, which kept things simple. The whole thing is deployed on Vercel.

--

Challenges we ran into

The trickiest part was the mode detection. Getting the model to silently figure out what kind of situation someone is in: wooing, breakup, or something complicated without explicitly asking them, took a lot of prompt tweaking. Managing multiple API calls was also a pain — the chat, the mode detection, and the summary generation all hit the model separately. Getting them to not conflict, stay within rate limits on the free tier, and still feel seamless to the user required a lot of juggling. But the biggest of all the challenges was: SLEEP. A bug that seem to be so hard to debug became easy the very next day after a bit of nap.

--

Accomplishments that we're proud of

The biggest accomplishment with regard to HeartWise is the feature of mode-detection. From the user's input messages the Heartwise is programmed to think in such a way that it understands the core concepts of relationship and is able to detect what the user is feeling. I am able to generate a chatbot that acts more like a counselor and less as a chatbot. At the end of each session, HeartWise provides suggestions/advices and an insight to the session just like a actual therapist or counselor would do. Additionally- it absolutely free of cost!!!

--

What we learned

Honestly the biggest thing I learned is that prompting is way harder than it looks. You can have all the right tools and a clean codebase but if your prompt is off, the whole experience falls apart. I spent more time writing and rewriting prompts than I did on actual code. I also learned that free tier APIs will humble you fast. Rate limits, model availability changing without notice, responses slowing down under load so you learn to build around constraints pretty quickly. The last of things - and this sounds obvious but it wasn't, is that UX matters more than features. People don't care how clever the mode detection is if the thing doesn't feel good to use.

--

What's next for HeartWise

Right now, Heartwise is just a regular counselor for one particular user. But I am thinking on working on certain feature as multiple user can share one chatbox or one session with HeartWise so that it will be easier for taking couple session. I am also wanting to launch HeartWise to the global market so that it can gain more users which will generate more user feedback on how I can add more UI features.

Built With

Share this project:

Updates

Submission history