Project 1: Personal Portfolio Website

CMU 15-113: Effective Coding with AI

Due Date: Sunday, January 25, 2026 at 8:00 PM
Time Estimate: -4 hours

Project Overview

Goal: Build a professional portfolio website to showcase your work

Context: Most students have never built a website before. This project teaches you to use AI as a learning tool to master new domains (HTML, CSS, JavaScript) while creating something immediately useful.

Why This Matters: By the end of the semester, you'll have a complete showcase of your work. This portfolio will be invaluable for internships, jobs, and demonstrating your skills to potential employers. Your webpage will also be how you submit your future projects to us for 15-113.

Learning Objectives:

Project Outline

Step 1: Set Up Your Development Environment

Before you start coding, make sure you have:

Pro Tip: Enable GitHub Pages on your repository from the start - it's easier to set up early! (We'll discuss some of this in lecture, but we won't always give you step-by-step instructions for each assignment, so you should use your resources (including but not limited to AI) to achieve your goals. We strongly recommend office hours if you get stuck.)

Step 2: Plan Your Portfolio Structure

Start with a simple sketch or outline of what you want your site to include. Here are a few example features that you will probably want, though you may wish to add more:

Step 3: Build Incrementally

Don't try to build and deploy everything at once. Follow this progression, and test locally as you go:

  1. Basic HTML First: Create the basic structure and content
  2. Styling (CSS etc.) Second: Make it look professional and responsive
  3. (Optional) JavaScript: Add interactivity (animations, dark mode, etc.)
  4. Polish: Optimize the user experience and clean up your code

Remember: Use AI to help with each step, but understand what the code does and modify it to fit your needs.

Step 4: Deploy and Test

Once you have a basic version working:

Detailed Requirements

Build and deploy a complete, professional portfolio website that meets the following requirements (at a minimum):

Content Requirements

Technical Requirements

AI Usage Requirements

Stretch goal: Add Interactive Features

If you have time, consider trying these.
Important: Throughout the semester, you'll add each new project to your portfolio. By Week 14, you'll have a complete showcase of your work that you can share with future employers and applications.

Grading Rubric

Your project will be graded on a 100-point scale based on the following criteria:

Category Description Points
Required content All of the Content Requirements listed above are present and demonstrate reasonable effort. 20
Design & Aesthetics Evidence of effort to create a a clean, professional appearance with consistent styling 20
Technical Implementation & Deployment Valid HTML/CSS; responsive design works on multiple devices; live on GitHub Pages; all links work; site loads properly; no broken functionality 20
AI Usage & Documentation AI usage documented in code comments; code shows understanding and modification of AI suggestions 10
Pre-deadline Check-in Go to office hours with a sketch or brief written plan of your website, or an early draft, and get some feedback from the TAs or faculty prior to the due date. See Ed for more details. Note: This replaces the original reflection component, which you will no longer have to do. 10
Presentation Brief, informal 5-minute presentation to a TA and small group of peers focusing on the process used to create the website, how AI helped, and any areas where it did not.
Stay tuned to Ed for more details on how to schedule these presentations near the deadline.
20
General Project Grading Notes:

Submission Instructions

Submit your project by the due date by ensuring your website is live and that you have submitted the Project 1 google form (link TBD) where you will share:

When you present your work, you should be prepared to discuss some or all of the following topics:

FAQ

What if I don't have any projects to showcase yet?

That's okay! If you have a 112 project, use that as your first example. Otherwise, include this portfolio website as your first project. You can add more as the semester progresses.

How do I deploy my site to GitHub Pages?

In short: Create a GitHub repository, push your code, go to Settings > Pages, select the main branch as source, and your site will be live at https://yourusername.github.io/repositoryname.

If needed, you can find more detailed instructions online or we can help you in office hours.

Can I use website templates or copy code, images, or text from other sources?

You can use templates as a starting point, but you must understand and modify the code yourself. Document any AI or external help in your code comments. You do not need to cite help from Prof. Taylor or the 15-113 TAs. Your page should include clearly visible citations for any images, text, or website templates.

What if my site doesn't look good on mobile?

It's ok if it doesn't look fantastic, but it should be reasonably functional, and AI can help with making your code responsive. Make sure to test on different devices and adjust for smaller screens if necessary.

Do I need to know JavaScript for this project?

No, JavaScript is optional for basic functionality. Focus on HTML and CSS first, and add JS for interactivity if you have time.

What if I already have a portfolio website?

That's great! You have two options:

Need Help? Check the course resources page, attend office hours, or ask questions in class. Remember: this project is about learning, not perfection!