We shipped a new AI-powered script that automatically generates portfolio project descriptions directly from a GitHub repository URL.
> impact
We've introduced `scripts/generate-project.js`, a new tool designed to streamline the process of adding projects to your portfolio. This Node.js script leverages a Large Language Model (LLM) to analyze a given public GitHub repository. By parsing the repository's README file, language statistics, and topic tags, the script automatically crafts a concise project title, a compelling description, and a comprehensive list of technologies used. The final output is a clean JSON object, perfectly formatted for direct inclusion into the portfolio's project data file.
The primary motivation behind this feature was to eliminate the friction and time commitment required to manually update a developer portfolio. Writing engaging project summaries, accurately listing all tech stacks, and formatting the entry can be a tedious process that discourages frequent updates. This often leads to portfolios becoming outdated, failing to showcase a developer's latest skills and accomplishments. We wanted to transform this manual chore into an effortless, automated task.
The impact is a significant boost in productivity and content quality. Developers can now add a new project to their portfolio in a matter of seconds, not hours. By simply providing a repository URL, they receive a well-written, structured project entry ready to be published. This automation encourages keeping the portfolio current with the latest work, ensuring it remains a powerful and accurate tool for career development.
> Try this now
try this
# First, ensure you have all the necessary dependencies installed.
# You'll also need to set up your LLM API key in a .env file.
npm install
# Run the new script, passing the URL of the GitHub repository you want to add.
# The script will analyze the repo and generate the project data.
node scripts/generate-project.js https://github.com/ericbrown99/portfolio
# The script will output a JSON object to your console like this:
# {
# "title": "AI-Powered Developer Portfolio",
# "description": "A dynamic personal portfolio site featuring an automated project description generator. This script uses an LLM to analyze GitHub repositories, parsing READMEs and metadata to create compelling project summaries, saving significant time on manual content entry.",
# "tags": ["React", "Next.js", "TypeScript", "Node.js", "AI", "LLM"]
# }
# Simply copy the generated JSON object and paste it into your projects data file,
# for example, at the top of the array in `src/data/projects.json`.