Inspiration

Managing personal finances can be overwhelming, especially for students and young adults who are just starting to budget and track their spending. We wanted to create something simple, secure, and smart — a tool that helps users understand where their money is going and make better spending decisions. Thus, ShopSense was born.

What it does

ShopSense helps users track their daily expenses, categorize their spending, and stay mindful of their budget. With secure Auth0 login, each user gets a personalized dashboard to view and manage their own expense history.

How we built it

• Frontend: React + TypeScript + Vite for a fast and responsive UI
• Backend: Node.js with Express, connected to MongoDB using Mongoose
• Authentication: Auth0 integration with JWT verification middleware
• Database: MongoDB Atlas storing user-specific expenses
• Dev Tools: VS Code, GitHub, Postman, and MongoDB Compass for testing and debugging

Challenges we ran into

• Setting up Auth0 and correctly verifying tokens with express-jwt
• Handling CORS errors during development
• Syncing the frontend and backend to ensure only the authenticated user’s data is shown
• Connecting to MongoDB securely and handling schema updates on the fly

Accomplishments that we're proud of

What we learned

Throughout this project, we deepened our understanding of: • Full-stack development using React, Vite, Node.js, and MongoDB • Authentication & Authorization using Auth0 and JSON Web Tokens (JWT) • Secure API development with Express middleware • Managing user-specific data in a cloud-hosted database • Frontend/backend integration and deploying services that work seamlessly together

What's next for ShopSense

• Add charts and analytics to visualize spending over time
• Build a mobile-friendly interface
• Set monthly budgets and alerts for overspending
Share this project:

Updates

Submission history