Portfolio Builder SaaS - My Hackathon Journey

πŸ’‘ What Inspired Me

Last month, I went through the painful process of building my own portfolio from scratch. What should have been a quick project turned into weeks of design decisions, coding, and endless tweaks. I spent countless hours just to get something that looked professional.

That experience made me realize - if a frontend developer like me struggled this much, how difficult must it be for others? I knew there had to be a better way to help people create beautiful portfolios without the time sink and cost of hiring designers or learning complex tools.

πŸŽ“ What I Learned

This hackathon pushed me way outside my comfort zone as a frontend developer. I dove headfirst into full-stack development using Supabase and learned:

  • Database Design: Creating and managing SQL tables for user data, templates, and portfolio content
  • Authentication Systems: Implementing secure user signup, login, and session management
  • Backend Integration: Connecting frontend components to database operations seamlessly
  • SQL Queries: Writing efficient queries to fetch and update user portfolio data
  • Real-time Updates: Managing state between database and UI for instant portfolio generation

Going from purely frontend to full-stack was intimidating but incredibly rewarding.

πŸ› οΈ How I Built It

Tech Stack: React + Supabase + Modern CSS

Architecture:

  1. User Authentication - Supabase Auth for secure user management
  2. Data Storage - PostgreSQL tables for user profiles, portfolio content, and templates
  3. Template System - Pre-built components that dynamically populate with user data
  4. URL Generation - Unique portfolio URLs for each user with custom subdomains
  5. Form Management - Multi-step forms to collect user information efficiently

Development Process:

  • Started with database schema design
  • Built authentication flow
  • Created template components
  • Implemented form data collection
  • Connected everything with real-time portfolio generation

🚧 Challenges I Faced

Infinite API Calls: My biggest nightmare was accidentally creating infinite loops that hammered the Supabase API. Spent hours debugging useEffect dependencies and API call triggers.

Database Connection Issues: Supabase connections kept timing out during development. Had to learn about connection pooling and proper error handling.

Integration Chaos: Getting the frontend to talk smoothly with Supabase was trickier than expected. Data wasn't syncing properly between forms and database.

Code Breaking Constantly: As a frontend dev learning backend, I kept breaking things when adding new features. Version control became my best friend.

AI Integration Struggles: Wanted to add AI-powered content suggestions but ran into rate limits and API integration issues. Had to simplify the scope to meet the deadline.

πŸ† The Result

Despite all the challenges, I managed to create a working SaaS that actually solves a real problem. Users can now go from signup to live portfolio in under 5 minutes - something that took me weeks to do manually.

The experience taught me that the best products come from solving your own problems. Sometimes the most frustrating personal experiences become the inspiration for the most useful solutions.

Built With

  • nextjs
  • react
  • resend.com
  • shadcn
  • supabase
  • tailwind
Share this project:

Updates