Case Study

Profile Builder with Local LLM

How I built a modern portfolio website using Next.js and GitHub Copilot with Claude 3.7 Sonnet

April 2025 - Present2 months

Type

Personal Project

Status

Ongoing

Duration

2 months

Primary Tools

Next.js, GitHub Copilot, Claude AI

Project Overview

This project represents a significant milestone in my exploration of AI-assisted development. I set out to build a comprehensive portfolio website that would showcase my professional experience, skills, and projects—but with a twist. The entire development process would rely on GitHub Copilot with Claude 3.7 Sonnet as my programming partner, testing the boundaries of what's possible with modern AI code assistance.

Profile Builder with Local LLM screenshot

Why Build a Portfolio with AI?

As a technology professional with experience in cloud computing, data engineering, and analytics, I've increasingly become interested in how AI tools can enhance developer productivity and creativity. I had three main motivations for this project:

  • Showcase Professional Growth: Create a comprehensive portfolio that effectively communicates my experience, skills, and accomplishments to potential collaborators.
  • Evaluate AI Code Assistance: Personally assess the capabilities and limitations of GitHub Copilot with Claude 3.7 Sonnet for full-scale web application development.
  • Develop Prompt Engineering Skills: Strengthen my ability to effectively communicate with AI tools—a skill that's becoming increasingly valuable across the tech industry.

Technology Stack

For this project, I selected a modern, robust stack that would provide excellent performance, developer experience, and deployment flexibility:

Technical Stack

PythonFlaskDockerOllamaLLMdeepseek-r1Web AutomationAIArtificial IntelligenceBeautifulSoup

Core Technologies

  • Next.js 14: React framework with built-in routing, API routes, and optimized performance
  • TypeScript: For type safety and improved developer experience
  • Tailwind CSS: Utility-first CSS framework for rapid UI development
  • React Hooks: For state management and side effects

Development Tools

  • GitHub Copilot: AI pair programmer powered by Claude 3.7 Sonnet
  • VS Code: Primary code editor with extensions for improved workflow
  • Git: Version control for tracking changes
  • Vercel: For seamless deployment and hosting

AI-Assisted Development Process

This project took a unique approach to development by leveraging GitHub Copilot with Claude 3.7 Sonnet throughout the entire process. Here's how the development workflow unfolded:

1. Project Setup and Architecture

I started by clearly communicating my vision for the portfolio site to GitHub Copilot. Through a series of prompts, I established requirements for a Next.js application with TypeScript support. Claude helped set up the initial project structure, configure Tailwind CSS, and establish the routing architecture.

User: I want to create a modern portfolio website using Next.js and TypeScript. The site should have sections for my experience, projects, skills, and contact information. How should I structure this project?


GitHub Copilot: I'll help you set up a Next.js project with TypeScript for your portfolio. Here's a recommended project structure with App Router, organized components, and data management...

2. Component Development

For each section of the portfolio, I provided Claude with specific design goals and functionality requirements. The AI suggested component structures, implemented responsive layouts using Tailwind CSS, and even helped create interactive elements like the animated navbar, project cards, and skill visualization.

User: I need a component for my navbar that shows my name with an animation where a diagonal line crosses through it occasionally. It should work well on both mobile and desktop.


GitHub Copilot: Here's a NavbarName component that animates a diagonal line through your name using CSS transitions and React state management...

3. Data Management

Instead of hardcoding content throughout the site, Claude suggested creating a central data file (portfolioData.ts) to manage all portfolio content. This approach made it easy to update information and ensured consistency across the application. The AI helped design appropriate TypeScript interfaces and implemented helper functions for data processing.

4. Interactive Features

Claude assisted in implementing several interactive features that enhanced the user experience:

  • Animated transitions between pages
  • Auto-scrolling testimonials carousel
  • Interactive data visualizations for skills
  • Modal windows for project details
  • Dynamic content loading from Medium blog API

5. Debugging and Optimization

When issues arose during development, Claude proved particularly valuable. The AI could analyze error messages, suggest potential causes, and provide solutions—often accompanied by explanations that enhanced my understanding of the underlying technologies. Performance optimizations for images, component rendering, and API calls were also implemented with Claude's assistance.

User: I'm getting a hydration error with my testimonials component. The error says "Text content does not match server-rendered HTML."


GitHub Copilot: This is a common Next.js hydration issue that happens when the server and client render different content. Let's create a HydrationErrorSuppressor component that safely handles client-side rendering...

Key Insights from AI-Assisted Development

80%

Development time reduction compared to traditional coding

90%

Code implemented from AI suggestions with minimal modifications

12+

Custom components built with AI assistance

3

Complex bugs resolved through AI-guided debugging

Strengths of GitHub Copilot with Claude 3.7 Sonnet

  • Contextual Understanding: Claude demonstrated an impressive ability to understand the overall project structure and purpose, providing solutions that fit cohesively with existing code.
  • TypeScript Excellence: The AI excelled at generating well-typed code and solving type-related challenges.
  • Documentation Integration: Claude could effectively draw from Next.js and React documentation to implement best practices.
  • Educational Value: Beyond just generating code, the AI provided explanations that enhanced my understanding of complex concepts.

Areas for Improvement

  • Occasional Inconsistency: Sometimes Claude would suggest different approaches to similar problems, requiring manual standardization.
  • Design Limitations: While Claude could implement designs from descriptions, creating truly unique visual designs still required human creativity and direction.
  • Context Window Constraints: For very large components or complex logic, the AI sometimes lost track of earlier requirements or code patterns.

The Power of Effective Prompting

One of the most valuable insights from this project was learning how to effectively communicate with AI tools. The quality of Claude's responses was directly proportional to the clarity and specificity of my prompts.

Prompt Engineering Best Practices

  • Be Specific: "Create a responsive navbar with a logo, navigation links, and a mobile toggle" works better than "Make me a navbar."
  • Provide Context: Include information about the component's purpose, its place in the application, and how it should interact with other components.
  • Include Examples: Referencing similar components or providing design inspiration helps Claude understand your vision.
  • Iterative Refinement: Start with a basic implementation and iteratively refine it through follow-up prompts.
  • Error Details: When troubleshooting, provide the full error message and relevant code context.

By applying these practices, I was able to work with Claude to build increasingly complex components and functionality throughout the development process.

Conclusion

This portfolio project demonstrates the transformative potential of AI-assisted development. By leveraging GitHub Copilot with Claude 3.7 Sonnet, I was able to build a comprehensive, responsive, and feature-rich portfolio website in a fraction of the time it would have taken using traditional development methods.

More importantly, the project illustrates how AI tools are not replacing developers but rather augmenting their capabilities—enabling faster prototyping, reducing boilerplate coding, and providing educational insights along the way. Strong prompt engineering skills act as a multiplier for developer productivity when working with these advanced AI tools.

As AI assistance continues to evolve, projects like this one highlight the importance of learning to effectively collaborate with these tools—a skill that will likely become increasingly valuable across the technology landscape in the coming years.

Interested in AI-Assisted Development?

I can help your organization leverage AI tools to accelerate development, improve code quality, and enhance developer productivity.