Tech Stack and Why I Chose It
- Next.js: I picked Next.js because it's great for building websites very fast. Its ability to combine static and server-side rendering makes it ideal for a portfolio.
- MongoDB with Prisma: To manage my data, I used MongoDB as the database and Prisma as the connector. Prisma's simplicity allowed me to focus more on designing the data and less on the complexities of database queries.
- Tailwind CSS: Styling with Tailwind CSS was a breeze. It helped me quickly create a modern, responsive design without having to write a ton of custom CSS.
- RoughNotation: To make certain parts of my portfolio pop, I used RoughNotation. It's a creative tool that lets me add playful, interactive highlights to important text, making the experience more engaging.
- Showcase of Projects: Each project card includes a brief description, key technologies, and a link to the live project or GitHub repository. I use Tailwind CSS's grid system for a clean and organized layout.
- Dynamic Content: I store project and blog data in MongoDB. Using Prisma, I fetch and display this data dynamically, ensuring the content stays up-to-date without rebuilding the site.
- Interactive Text Highlights: Using RoughNotation, I highlight critical text elements like skillsets, achievements, and calls to action. It adds a creative and playful touch, drawing the visitor's attention to essential details.
- Responsive Design: Tailwind CSS ensures the portfolio looks great on all devices, from large desktop screens to mobile phones.
Challenges Faced and Lessons Learned
Database Integration with MongoDB and Prisma
Setting up Prisma with MongoDB required careful schema design and debugging migrations. The effort paid off with simplified data access through Prisma Client.
Tailwind CSS was a game-changer, but ensuring a consistent design required me to define reusable utility classes and a custom theme.
Integrating RoughNotation was straightforward but required fine-tuning for smooth animations and a consistent user experience.
The portfolio is deployed on AWS Lightsail, utilizing its simplified cloud platform for quick and cost-effective hosting. Lightsail's straightforward setup, along with its reliable performance and scalability, made the deployment process smooth and efficient.
- Next.js is a versatile framework, perfect for building portfolios and beyond.
- Prisma simplifies working with databases and is a great tool for developers transitioning to full-stack development.
- Tailwind CSS accelerates styling while maintaining flexibility and responsiveness.
- Small libraries like RoughNotation can make a big difference in user experience.
This GitHub repository is currently kept private. I will update this section once I make it public!
Want to keep up with the journey? Connect with me on LinkedIn: www.linkedin.com/in/kaushik13k 😊