This project is now converted into a placeholder-driven template.
You can make it yours by replacing the brand_*, project_*, education_*, and emailjs_* variables.
- Copy this folder into your workspace.
- Rename the folder to your project name (example:
my-portfolio-site). - Open the folder in VS Code.
This template uses consistent variables so you can quickly search and replace.
Examples:
brand_namebrand_domainbrand_primary_rolebrand_primary_emailproject_1_titleemailjs_public_key_here
- Use global search in VS Code (
Ctrl+Shift+F). - Replace the highest-level brand values first:
brand_namebrand_first_namebrand_last_namebrand_primary_rolebrand_countrybrand_citybrand_regionbrand_domainbrand_secondary_domainbrand_primary_emailbrand_business_email
- Replace social/user handles:
brand_github_usernamebrand_linkedin_usernamebrand_x_usernamebrand_telegram_usernamebrand_facebook_usernamebrand_instagram_username
- Replace content variables:
brand_meta_descriptionbrand_keywords_csvbrand_professional_summarybrand_company_namebrand_company_descriptionbrand_local_languagebrand_additional_language
- Replace project variables (
project_1_*toproject_8_*).
In the About section (in index.html), replace the instructional text with your own:
- Background and current role
- Core skills and tools
- Education/certifications
- Career goals or service focus
- A personal call to action
The template includes comments in index.html telling you what to update.
Ask your AI agent to do this explicitly:
- Update all meta tags (title, description, keywords)
- Update Open Graph tags (
og:*) - Update Twitter tags (
twitter:*) - Update JSON-LD schema fields so they exactly match your real profile
If these are not updated, your SEO and social previews will be incorrect.
Default generic asset filenames are already wired:
images/brand_logo.pngimages/brand_profile_photo.jpgimages/brand_preview.pngassets/brand_resume.pdf
Replace those files with your real assets (same names), or change paths in index.html.
Use https://favicon.io/ to generate all favicon/app icon files quickly.
Put these files in the project root (same level as index.html):
favicon.ico(multi-size ICO)favicon-16x16.png(16x16)favicon-32x32.png(32x32)apple-touch-icon.png(180x180)android-chrome-192x192.png(192x192)android-chrome-512x512.png(512x512)
These names are already hardcoded in this template, so keep filenames exactly the same.
This template uses two preview image paths:
- Root social preview:
preview.png(used byog:imageandtwitter:image) - PWA/manifest/schema preview:
images/brand_preview.png
Recommended size for social sharing:
1200x630PNG (best for link previews across platforms)
If these files are missing or low quality, your shared links can look bad or show incorrect thumbnails.
In js/contact.js, replace:
emailjs_public_key_hereemailjs_service_id_hereemailjs_contact_template_id_hereemailjs_autoreply_template_id_herebrand_primary_email
If you skip this, contact form sending will not work.
Update these files before publishing:
CNAME-> set your real domain only (example:yourdomain.com)sitemap.xml-> replacebrand_domainURLssite.webmanifest-> verify app name/description/preview values
Also verify:
index.htmlJSON-LD schema blocks (WebSite,ProfilePage,Person,BreadcrumbList)- all canonical/OG/Twitter URLs use your final domain
Why this matters:
sitemap.xmlhelps search engines crawl important routes/sectionssite.webmanifestimproves installability and PWA behavior- JSON-LD schema helps Google and other bots understand your profile and content intent
- Search workspace for
brand_and confirm only intentional placeholders remain. - Search workspace for
project_and fill all project cards. - Search workspace for
emailjs_and verify credentials are set. - Open
index.htmlin browser and verify:
- hero text
- about section
- project links
- contact links
- 404 page links
- Validate mobile view and desktop view.
Use this instruction with your AI agent:
"Replace all remaining placeholder variables (brand_*, project_*, education_*, emailjs_*) with my real details. Keep HTML/CSS/JS structure unchanged, update SEO meta + JSON-LD schema fully, and verify no placeholders remain except intentionally documented examples."
Use this prompt if you want your AI agent to do a complete production pass:
"Read my full workspace tree and update this portfolio template for production. Keep structure and styles intact. Do all of the following:
- Replace all placeholders (
brand_*,project_*,emailjs_*) with my provided real values. - Validate favicon and app icon setup. Ensure these root files are referenced and consistent:
favicon.ico,favicon-16x16.png,favicon-32x32.png,apple-touch-icon.png,android-chrome-192x192.png,android-chrome-512x512.png. - Validate social preview images:
preview.pngin root for OG/Twitter cardsimages/brand_preview.pngfor manifest/schema where used Recommend or enforce 1200x630 for social sharing.
- Rewrite all SEO fields in
index.html: title, description, keywords, canonical, OG, Twitter. - Rewrite JSON-LD schema in
index.html(WebSite,ProfilePage,Person,BreadcrumbList) with correct real data. - Update
site.webmanifestso app name, description, icons, shortcuts, screenshot, and theme values are consistent. - Update
sitemap.xmlwith correct final domain and meaningful metadata. - Verify there are no broken paths for icons/images/assets and no leftover personal identifiers from template author.
- Return a final checklist of files changed and any remaining manual tasks."
If someone else uses this template, these are the key files they should provide (same names):
Root directory:
favicon.icofavicon-16x16.pngfavicon-32x32.pngapple-touch-icon.pngandroid-chrome-192x192.pngandroid-chrome-512x512.pngpreview.png
Inside images/:
brand_logo.pngbrand_profile_photo.jpgbrand_preview.png
Inside assets/:
brand_resume.pdf
Optional media (only if you keep a certifications gallery):
- certificate image files referenced in your cards