What Inspired Me
As someone deeply interested in both technology and user experience, I noticed a common limitation in most ecommerce platforms: lack of customization. Buying a phone or laptop often means settling for fixed configurations, even when you don’t need certain features or want better alternatives.
That inspired me to build TechForge — a platform that lets users configure every detail of their electronic products before purchasing. From selecting RAM and processor type to picking the OS version and bundled apps, TechForge puts the power of personalization in the user's hands.
What I Learned
This project helped me explore the complexities of building a flexible ecommerce platform from the ground up. Along the way, I gained insights into:
- Designing scalable database structures for product-component relationships
- Creating intuitive and interactive UI workflows for complex configuration paths
- Managing dynamic pricing and validation logic based on user selections
- Structuring clean backend APIs and handling both guest and registered user flows
How I Built It
- Frontend: Developed using React with Vite. I used TailwindCSS for styling and component responsiveness.
- Backend: Powered by Node.js with Express, and data managed using PostgreSQL via Prisma ORM.
- Authentication: Implemented basic email/password login along with guest checkout.
- Checkout: Includes a configurable cart with live pricing and a mock payment page.
- Admin Tools: Basic dashboard to manage products, configurations, and pricing.
Key Features
- Custom configuration of electronics based on type (mobile, laptop, TV, etc.)
- Real-time pricing updates as users pick different components
- Guest checkout and user account support
- Clean and mobile-friendly UI
- Admin panel for managing inventory and options
Challenges I Faced
- Data Modeling: Structuring the database to support deeply nested and variant-specific configurations for multiple product categories was one of the toughest parts.
- UI/UX Flow: Making the customization experience simple and non-overwhelming required multiple design iterations and user feedback.
- State Management: Managing state during configuration and checkout, especially across different product types, was tricky.
- Edge Cases: Validating compatibility across selected components (e.g., processor vs motherboard, or OS support) and gracefully handling those scenarios.
Log in or sign up for Devpost to join the conversation.