Inspiration

As a student from India applying for internships, I always struggled with one problem — how do I present my skills professionally? A GitHub link alone isn't enough, and building a portfolio from scratch takes days I don't have. I noticed that most developers, especially students, face the same challenge. They have great projects on GitHub but no easy way to showcase them. I asked myself — what if AI could automatically analyze a developer's GitHub and generate a complete portfolio in seconds? That idea became DevPulse.

What it does

DevPulse is an AI-powered developer portfolio generator. Here's what it does:

  • GitHub Analysis: Connects to any GitHub account and fetches all public repositories
  • AI Skill Detection: Uses Groq's LLaMA 3.3 70B AI model to analyze repositories and generate accurate skill proficiency scores (0-100) for each technology
  • Professional Summary: AI writes a 2-sentence professional summary describing the developer based on their actual code
  • Job Matching: Dynamically matches developers with relevant job opportunities based on their detected skills
  • Shareable Portfolio: Generates a unique public portfolio URL that anyone can visit without logging in
  • Search Any Developer: Works for any GitHub user worldwide — not just the logged-in user
  • Beautiful UI: Clean, modern dark-themed portfolio that looks professional enough to share with recruiters

How I built it

DevPulse is built as a full-stack Next.js application:

Frontend:

  • Next.js 16 with React and Tailwind CSS for the UI
  • NextAuth.js for GitHub OAuth authentication
  • Deployed on Vercel for fast global delivery

Backend:

  • Next.js API Routes for server-side logic
  • GitHub REST API to fetch user repositories
  • Groq API with LLaMA 3.3 70B model for AI analysis
  • Structured JSON prompting to extract skills, summary, and languages

Database:

  • MongoDB Atlas for storing user profiles and portfolio data
  • Amazon DynamoDB (3 tables: devpulse_users, devpulse_jobs, devpulse_portfolios) for scalable, production-ready data storage

Key Technical Decisions:

  • Used Groq instead of other AI providers for its speed and reliability on serverless infrastructure
  • Non-SRV MongoDB connection string to handle DNS resolution issues on cloud platforms
  • Dynamic job matching algorithm that scores jobs based on skill keyword overlap

Challenges I ran into

Building DevPulse came with several significant challenges:

  1. AI API Reliability: I tried multiple AI providers (Gemini, Claude) before settling on Groq. Different providers had quota limits, model deprecations, and network timeout issues on Vercel's serverless infrastructure.

  2. Database Connectivity: MongoDB's SRV DNS records were blocked on certain networks and cloud environments. We had to switch to a direct connection string to resolve this.

  3. AWS Account Setup: Setting up an AWS account in India required navigating UPI payment verification and regional service availability issues.

  4. Structured AI Output: Getting the LLaMA model to consistently return clean, parseable JSON without markdown formatting required careful prompt engineering.

  5. Session Management: Properly passing GitHub usernames through NextAuth sessions required custom JWT callbacks to store the GitHub login separately from the user ID.

  6. Deployment Configuration: Configuring all environment variables correctly on Vercel, managing OAuth callback URLs, and handling deployment protection settings took significant debugging effort.

Accomplishments that I am proud of

  • Built and deployed a fully working full-stack application from scratch as a student with no prior experience shipping production apps
  • Successfully integrated 5 different external APIs (GitHub, Groq AI, MongoDB, DynamoDB, NextAuth) into one cohesive application
  • The app works for ANY developer on GitHub — I tested it on Linus Torvalds (creator of Linux) and it accurately detected C as his primary skill at 90%
  • Achieved a beautiful, professional UI that looks like a real product — not a hackathon demo
  • Deployed on production infrastructure (Vercel + AWS DynamoDB) that could actually scale to millions of users
  • Completed the entire project within the hackathon timeframe despite facing multiple technical challenges

What I learned

  • Full-stack development: How to build and connect frontend, backend, database, and AI in one application
  • API integration: Working with GitHub API, Groq AI, MongoDB, and AWS DynamoDB simultaneously
  • Cloud deployment: Deploying on Vercel, managing environment variables, and configuring production settings
  • AWS DynamoDB: Understanding NoSQL database design and when to use DynamoDB over traditional databases
  • Prompt engineering: How to craft AI prompts that consistently return structured, usable data
  • Problem solving: Debugging complex issues across multiple services and environments
  • Shipping under pressure: How to prioritize features, make quick decisions, and deliver a working product on a deadline

Most importantly — I learned that as a student, I CAN build real, production-ready software that solves real problems.

What's next for DevPulse

DevPulse has a clear roadmap for future development:

  • Public Portfolio Pages: Allow anyone to visit devpulse.app/u/username and see a developer's full portfolio without logging in
  • Real Job Listings: Integrate with LinkedIn, Indeed, or Remotive APIs to show actual live job postings matching the developer's skills
  • PDF Export: Let developers download their portfolio as a professional PDF resume
  • GitHub Contribution Graph: Visualize coding activity and consistency over time
  • Skill Improvement Tips: AI-powered suggestions on what to learn next based on job market demand
  • Team Portfolios: Allow development teams to create group portfolios showcasing collaborative projects
  • Portfolio Analytics: Show developers how many people viewed their portfolio and which skills attracted the most attention
  • Integration with LinkedIn: One-click export of portfolio data to LinkedIn profile

Built With

Share this project:

Updates