Inspiration

As developers, we use Git every day to explore code changes safely through branching - we experiment, compare, and merge without fear. During a late-night coding session, our teammate was paralyzed by a major life decision and said "I wish I could just try both paths before committing." That's when it clicked: what if we could bring the Git workflow to life decisions, making abstract choices feel as tangible as code changes?

What it does

BranchPoint transforms life decisions into Git branches that you can explore, compare, and commit to with confidence. Users create parallel timelines for each option (like grad-school vs gap-year), then Amazon Bedrock simulates the lived experience of each path through probing questions and conversations with "future-you." The tool generates a visual diff showing tradeoffs and "merge conflicts" - incompatible values between choices - before users make their final commit with full clarity about what they're choosing and why.

How we built it

We built a React frontend with react-flow for Git-style visualizations, powered by AWS Lambda for serverless orchestration and Amazon Bedrock (Claude 3 Sonnet) for AI-driven exploration. DynamoDB stores decisions and branch explorations, while Statsig tracks user metrics and A/B tests different simulation styles. The core technical challenge was prompt engineering Bedrock to generate structured, context-aware explorations and designing a DynamoDB schema that efficiently stores the branching decision tree.

Challenges we ran into

Bedrock's 5-15 second response times felt painfully slow for a demo, so we implemented loading states and pre-cached responses for demo mode. Structuring AI outputs consistently required multiple iterations of prompt engineering to find the right balance between flexibility and parsability. Detecting "merge conflicts" from unstructured AI responses was particularly tricky - we solved it by explicitly prompting Bedrock to identify value tensions and using pattern matching to extract opposing pairs. We also had to balance the Git metaphor to be strong enough for developers but accessible enough for non-technical users.

Accomplishments that we're proud of

Our Statsig integration shows a 75% increase in decision clarity for users who experienced the empathetic AI persona versus the analytical one, with statistical significance (p = 0.03). The Git metaphor resonated immediately with testers - developers instantly understood life branch commands and found the "merge conflicts" concept powerful for understanding value tensions. We built production-quality architecture with proper error handling, clean separation of concerns, and two complete user flows despite the 36-hour constraint. Beta testers consistently said the tool revealed decision-making patterns they didn't consciously notice, making the invisible visible.

What we learned

We discovered that prompt engineering is an art that consumed 40% of our development time - being extremely specific about output structure and using role-playing techniques made all the difference. The Git metaphor isn't just UI flourish; it fundamentally shapes how users think about decisions by making exploration feel psychologically safe. People want facilitated exploration, not prescriptive advice - the AI's role as facilitator (not advisor) proved crucial to user trust. We also learned that what gets measured gets improved; once we added decision clarity tracking, we became obsessed with optimizing it through A/B testing.

What's next for BranchPoint

We plan to conduct user studies with 100 students through actual decisions to validate long-term outcomes and measure whether exploration reduces regret. We'll expand AI capabilities with multi-turn conversations, personalization based on individual values, and integration with real data sources like LinkedIn for career paths. Our longer-term vision includes a decision marketplace where users share anonymized explorations, group decision support for couples and teams, and enterprise applications in career counseling and business strategy. Ultimately, we want BranchPoint to make "let me branch and explore that" as common as "let me sleep on it" - because you wouldn't merge code without exploring branches first, so why should your life be any different?

Share this project:

Updates