04 — Methods / Blog

Building a Research Portfolio
Website with No Coding

Claude Code + GitHub + Cloudflare Pages — free and fully no-code

This website (yamarice.pages.dev) was built without writing a single line of HTML by hand. Using Claude Code — an AI coding assistant available through Claude Desktop — everything from initial creation to ongoing updates is handled by simply describing what you want in plain language. Files are managed on GitHub and hosted automatically via Cloudflare Pages, with no frameworks or monthly fees required. This guide walks you through the entire process from scratch.

What you need (all free)

01 Create a local folder and connect Claude Code

First, create a folder on your computer for the website (e.g., a folder called website on your Desktop). Then open Claude Desktop and click the "Code" tab at the top — this activates Claude Code.

  1. Create a new folder anywhere on your computer (e.g., Desktop/website)
  2. Open Claude Desktop and click the "Code" tab at the top
  3. Click "Add folder" or the folder icon, then select the folder you just created

Once connected, just describe what you want in plain English — no HTML or coding knowledge needed.

Example prompt (copy and adapt as needed)

"Please build a researcher portfolio website using HTML, CSS, and JavaScript. My name is Jane Smith, and I am an Assistant Professor at Example University. Include sections for About, Publications, and Links, with a clean, mobile-friendly design. Save the files as index.html, style.css, and script.js in this folder."

Claude Code will generate all the files directly inside the connected folder. To make changes, just describe what you want: "Change the header color to dark green" or "Add a new publication" — Claude Code handles the rest.

Claude Code reads and writes files directly, so you never need to open a text editor. You can also ask it to "review the current site" at any time and it will read all the files and give you a full overview.

02 Create a GitHub account and repository

What is GitHub?
GitHub is a cloud service for storing and managing files — think of it as "Google Drive for code." It keeps a full history of every change you make, and when connected to Cloudflare Pages, it automatically publishes your site whenever you send new files.

Creating an account (first time only)

  1. Go to github.com and click "Sign up"
  2. Enter your email address, set a password and username, then complete email verification

Creating a repository

A repository is your project folder on GitHub — it corresponds one-to-one with the local folder you created in Step 1.

  1. Log in to github.com and click the "+" icon in the top right → "New repository"
  2. Enter a repository name (e.g., my-website — letters, numbers, and hyphens only)
  3. Select Public (required for Cloudflare Pages to access it)
  4. Click "Create repository"

The repository name does not affect your site's URL. Cloudflare Pages will generate a separate URL for you.

03 Connect your folder with GitHub Desktop and push

What is GitHub Desktop?
GitHub Desktop is an app that lets you send files to GitHub using buttons — no command-line knowledge needed. Download and install it from desktop.github.com.

Key terms explained

Commit: Recording your changes as a snapshot — like creating a save point in a game.
Push: Sending those recorded changes up to GitHub (the cloud) — like syncing to the cloud.

First-time setup

  1. Open GitHub Desktop and click "Sign in to GitHub.com" — use the account you created in Step 2
  2. Go to "File" → "Add Local Repository" and select the folder from Step 1
  3. If prompted with "This folder does not appear to be a Git repository," click "Create Repository"
  4. Type a short description in the "Summary" field at the bottom left (e.g., Initial commit)
  5. Click "Commit to main" — this records your changes locally
  6. Click "Publish repository" in the top bar — this sends your files to GitHub
  7. Uncheck "Keep this code private" and click "Publish Repository"

Open github.com in your browser and you should see your files uploaded to your repository. Your local folder and GitHub are now in sync.

04 Deploy with Cloudflare Pages and get your URL

Connect your GitHub repository to Cloudflare Pages to publish the site automatically.

  1. Log in to dash.cloudflare.com (create a free account at cloudflare.com if needed)
  2. In the left menu, go to "Workers & Pages" → "Create" → "Pages" tab
  3. Click "Connect to Git" and authorize your GitHub account
  4. Select the repository from Step 2 and click "Begin setup"
  5. Leave "Framework preset" as "None", leave Build command and Build output directory blank, then click "Save and Deploy"

Deployment completes in about 30 seconds. You will receive a URL like your-project.pages.dev — that is your live website.

From this point on, every push to GitHub automatically triggers a new deployment. No manual action needed.


How to update your site

Once your site is live, all future updates follow the same no-code workflow — just describe the change to Claude Code, then push.

Ask Claude Code
to make the change
Commit & push
in GitHub Desktop
Site updates
automatically in 1–2 min
Example update prompts

"Add a new publication to the Publications section. Title: ○○, Journal: △△, DOI: ××."
"Update the About section to say the following: …"
"Apply the same changes to the English version of the page."

After Claude Code edits the files, commit and push with GitHub Desktop:

  1. Confirm your changed files appear in the left panel of GitHub Desktop
  2. Type a short commit message in the Summary field (e.g., Add new publication)
  3. Click "Commit to main" → then "Push origin"

You can monitor deployment progress in the Cloudflare Pages dashboard (dash.cloudflare.com). A "Success" status means your changes are live.


+ Repository hygiene and visibility

Because every file in your folder ends up on GitHub, it's worth setting up two things from the start: a list of files to exclude from uploads, and the option to switch your repository to private later.

Using .gitignore to exclude files

A .gitignore is a plain text file placed at the root of your repository. Anything listed in it is excluded from uploads. It is commonly used to keep OS-generated files, editor settings, and other local-only items out of the repository.

Never commit confidential information. API keys, passwords, unpublished research data, and personal information about subjects must never be committed — regardless of whether the repository is Public or Private. Once committed, the data stays in the history forever, and switching to Private afterwards does not remove the leakage risk.

Create a file named .gitignore at the root of your folder. The example below is a safe starting point — you can simply ask Claude Code to "create a .gitignore" and it will generate one for you.

Example .gitignore

# OS files .DS_Store Thumbs.db # IDE / editor .vscode/ .idea/ # Logs and caches *.log .cache/ node_modules/ # Secrets (as needed) .env secrets.txt

Switching the repository to Private

If you do not need your source code to be publicly visible, you can switch the repository to Private. Only you and the collaborators you invite will see the contents. Your published site (the pages.dev URL) remains accessible to everyone — hosting is unaffected.

Cloudflare Pages connects through an OAuth-based GitHub App, so once you have completed the initial connection while the repository is Public, you can switch to Private afterwards and automatic deployments will keep working. To stay safe, confirm that the first Cloudflare deploy has succeeded before switching to Private.

  1. Open the repository page on GitHub (e.g., github.com/your-username/your-repo)
  2. Click the "Settings" tab
  3. Scroll to the bottom — under "Danger Zone", click "Change repository visibility" → "Change visibility"
  4. Choose "Make private" and type the repository name to confirm

Right after the switch, check the Cloudflare Pages dashboard to confirm the next build runs successfully. If you see a "cannot access repository" error, go to GitHub Settings → Applications → "Cloudflare Workers and Pages" and add the repository to its allowed list.

Note: If you want to start Private from the beginning, simply choose "Private" in Step 02. You will then need to explicitly grant the Cloudflare GitHub App access to that specific repository during the OAuth setup.


+ Getting your site to appear on Google

A newly published site is not immediately visible on Google. The following steps help Google discover and index your pages sooner.

Once indexed, searching your name on Google should bring your site to the top of the results.