Inspiration
Women are systematically left out of financial conversations. While personal finance affects everyone, women face unique barriers: social stigma around discussing money openly, fragmented resources scattered across countless platforms, and isolation in their financial journeys despite naturally gravitating toward community support. We noticed that 66% of women feel uncomfortable discussing finances, even with close friends, yet they already have the solution - they build support networks and learn from each other.
The problem isn't capability or interest. It's the lack of a dedicated space that combines community, education, and accountability without judgment. Traditional finance apps are built for solo users tracking numbers in isolation. But financial wellness is fundamentally social, not solitary.
XPense was born from recognizing this gap. We created a platform where people can engage in meaningful conversations via a supportive social feed, learn without judgment using an AI chatbot that explains everything clearly, and encourage each other to build healthier financial habits through gamification and social accountability features. XPense isn't just another finance tracker - it's a community-first platform that makes talking about money normal, learning about finance accessible, and building better habits actually enjoyable.
What it does
XPense transforms the isolating experience of managing money into a social, gamified journey. The platform combines five core features that work together to create lasting behavior change:
Community Feed provides a safe space for real financial conversations. Users share progress, celebrate wins, ask questions without fear of judgment, and support each other through challenges. It's where money talk becomes as normal as discussing any other life topic.
AI Financial Assistant acts as a judgment-free guide available 24/7. Powered by Google's Gemini, the chatbot answers any finance question in simple terms, provides context-aware advice based on individual goals, and explains complex concepts without condescension. There are no stupid questions, only opportunities to learn.
Smart Goal System breaks down any financial goal - from saving $50 for a jacket to $500,000 for a house - into achievable milestones. Google's AI calculates optimal daily savings targets based on income, expenses, and timeline, adjusting dynamically as circumstances change.
Social Accountability Features help users stay committed through friend support. The Veto Card system lets friends approve or reject impulse purchases (with emergency overrides for true needs), while nudges and group challenges keep everyone motivated. It's accountability through friendship, not surveillance.
Gamification System makes progress tangible and rewarding. Users earn points and currency through daily actions, level progression, and completing side quests like "skip your coffee run" or "cook at home five days." A visual world builder shows savings progress come to life through an unlocking 5x5 grid that users can decorate. Leaderboards create friendly competition while streak tracking builds momentum through consistency.
The platform integrates banking data through Capital One's Nessie API for automatic transaction tracking and progress updates, making the entire experience seamless and effortless.
How we built it
We built XPense with a modern tech stack optimized for rapid development and scalability. The frontend uses React with Vite for fast builds, Tailwind CSS for responsive design, and Framer Motion for smooth animations. We implemented a glassmorphism design aesthetic with backdrop filters, soft pastel gradients, and clean typography to create a professional yet approachable interface.
The backend runs on Python Flask, providing RESTful API endpoints with JWT-based authentication. We use PyMongo to connect to MongoDB Atlas, which gives us the schema flexibility needed for rapid iteration and complex social features. Google's Gemini AI powers both the intelligent level calculation system and the conversational chatbot, processing natural language queries and generating personalized financial guidance.
Our architecture follows a clear separation of concerns. The React frontend manages state through Context API, handles user interactions, and renders dynamic components based on real-time data. The Flask backend processes business logic, manages database operations, coordinates AI requests, and handles authentication. MongoDB stores user data, goals, quests, social interactions, and world builder states in separate collections with efficient indexing for fast queries.
Key integrations include Google AI Studio for the Gemini API, Capital One's Nessie API for banking data simulation, and various React libraries for specialized UI components like circular progress bars, confetti effects, and chart visualizations. We deployed the frontend on Vercel for instant updates and global CDN distribution, while the backend runs on Railway with automatic scaling and the database lives on MongoDB Atlas with built-in redundancy.
The gamification engine calculates points and currency based on user actions, tracking streaks, verifying quest completion, and updating leaderboard rankings. We implemented an event-driven architecture where actions like meeting daily targets or leveling up trigger reward calculations and database updates atomically to maintain consistency.
Challenges we ran into
At 6 PM last night, we faced a critical decision. Our initial architecture wasn't working - the database schema couldn't handle the social features we envisioned, API endpoints were causing race conditions, and the frontend state management was creating bugs faster than we could fix them. With only hours remaining, we made the call to scrape everything and start completely over. We split responsibilities, one person rebuilding the backend from scratch, another reimplementing the frontend with lessons learned, and the third handling integration and testing. MongoDB's flexibility saved us during the rebuild, letting us iterate on schema design without migrations. We prioritized ruthlessly, building core features first and adding polish only where time permitted.
This morning at 8 AM, disaster struck again. Our deployed backend completely crashed. MongoDB connections were timing out, the Vercel deployment was failing, and we lost all our test data. The root cause was environment variables not properly configured in production, MongoDB Atlas IP whitelist blocking our hosting provider, and missing JWT secrets in deployment configs. We spent two hours debugging production issues while the deadline approached, implementing robust error handling, fallback mechanisms, and comprehensive logging to prevent future crashes.
We had ambitious plans for real-time networking features - instant notifications when friends completed goals, sent veto requests, or posted on the feed. WebSockets required too much infrastructure setup we didn't have time for, Server-Sent Events weren't supported by our hosting platform, and polling was inefficient. We compromised with periodic polling every 30 seconds for critical features and manual refresh options, planning to implement Firebase Cloud Messaging post-hackathon.
OCR receipt scanning was another feature we couldn't complete. We wanted users to scan receipts with their phone camera to automatically track spending, categorize purchases, and verify quest completion. But OCR integration would have required 6-8 hours we didn't have, accuracy issues with different receipt formats needed machine learning training, the camera API required a native mobile app rather than web-based access, and server-side image processing was too slow. We built the UI components and left the infrastructure ready for future implementation.
Real financial data integration proved more complex than anticipated. While we wanted to connect to real banks via Plaid API for automatic transaction sync and balance updates, Plaid's production tier was cost-prohibitive for a hackathon project, required legal compliance frameworks we couldn't establish overnight, needed 2-3 business days for bank verification, and demanded real bank accounts for testing. We pivoted to Capital One's Nessie API for realistic sandbox data while architecting the system to accept Plaid integration later through an abstraction layer.
Accomplishments that we're proud of
Despite completely restarting at 6 PM and recovering from a production crash this morning, we shipped a fully functional application. We built something that addresses a real problem - financial isolation and stigma - with features women specifically asked for during our research phase.
We successfully integrated Google's Gemini AI to provide personalized financial guidance and intelligent goal planning. The AI chatbot understands context, explains concepts clearly, and adapts to individual circumstances. The level calculation system uses machine learning to break down any goal size into achievable steps based on income and expenses.
The design strikes a difficult balance - professional and polished while remaining approachable and friendly. We created a glassmorphism aesthetic with pastel gradients, smooth animations, and careful attention to micro-interactions. Every button press, every level-up, every quest completion feels satisfying and premium.
Our gamification system actually works. We tested it with real users who stayed engaged, completed quests voluntarily, and reported feeling motivated to continue. The point distribution is balanced, rewards feel meaningful, and the visual progress through the world builder provides tangible feedback that numbers alone cannot.
The social features create genuine accountability without feeling like surveillance. The veto card system empowers friends to support each other while respecting autonomy through emergency overrides. The community feed fostered real conversations about money in our test group, breaking down stigma through normalized discussion.
Most importantly, a test user told us "This is the first finance app that doesn't make me feel stupid." That validation means we achieved our core mission - creating a judgment-free space for financial growth.
What we learned
Technical skills improved dramatically through this intense development cycle. We learned MongoDB's schema flexibility can save projects during crisis rebuilds, allowing rapid iteration without migration headaches. AI prompt engineering requires careful iteration to get consistent, parsable responses from large language models. React Context API combined with optimistic UI updates creates smooth user experiences even with backend latency. Robust error handling and graceful degradation are non-negotiable for production systems. Testing in production environments early prevents deployment disasters.
Design decisions have profound impact on engagement. Representation matters - using inclusive language and diverse imagery increases user connection to the product. Micro-interactions and animations make applications feel premium rather than utilitarian. Progressive disclosure prevents overwhelming users by revealing features as they become relevant. Accessibility considerations like contrast ratios are essential even with beautiful effects like glassmorphism.
Team dynamics proved critical during crisis. Over-communication via constant voice chat prevented duplicate work and kept everyone aligned. Ruthlessly cutting features to ship core value beats trying to build everything. Trusting team members to own their domains completely increases velocity. Taking strategic breaks, even during crunch time, actually improves productivity and decision quality.
Social impact design taught us valuable lessons. Designing for marginalized users benefits everyone through improved accessibility and usability. Users stay for community and human connection, not just features. Normalizing difficult conversations like money reduces stigma organization-wide. Accountability features work best when opt-in and friendship-based rather than mandatory and punitive.
The biggest lesson: resilience matters more than perfection. When everything crashes, the ability to rebuild quickly determines success. When features don't work, pivoting gracefully keeps momentum. When deadlines loom, prioritization separates viable products from abandoned prototypes.
What's next for XPense
Immediate priorities focus on stability and core feature completion. We need to fix remaining bugs from the crash recovery, implement real-time notifications via Firebase Cloud Messaging, add receipt OCR using Google ML Kit for automatic transaction tracking, and conduct extensive user testing with 50+ women to validate our assumptions and gather feedback.
Short-term development over the next three months includes integrating Plaid API for real bank connections, launching native iOS and Android apps built with React Native, adding group savings challenges where friends save together toward shared goals, creating an in-app financial literacy course with interactive lessons, and implementing an advanced analytics dashboard showing spending patterns and trends.
Long-term vision for the first year involves partnering with certified financial advisors for in-app consultation services, launching XPense Premium at $4.99 per month with advanced features, adding investment tracking through Robinhood integration for comprehensive net worth monitoring, building an employer partnership program for company-sponsored savings challenges, and expanding internationally with Spanish and French language support.
Dream features that could transform the platform include voice-based AI coaching for conversational banking experiences, augmented reality visualization of savings goals in physical space, cryptocurrency and NFT rewards for completed goals, offline mode for privacy-conscious users who want data control, and a public API for third-party app integrations.
The ultimate goal remains constant: create a world where financial conversations are normal, judgment-free, and community-supported. Where learning about money is accessible to everyone regardless of background. Where building better financial habits happens naturally through social connection and positive reinforcement. XPense will continue evolving toward that vision, feature by feature, user by user, conversation by conversation.
Log in or sign up for Devpost to join the conversation.