Portivo Documentation
Everything you need to build your portfolio and get it live on the internet — from the first step to deployment.
Overview
Portivo is a completely free, browser-based portfolio builder. You fill in your details using a 9-step wizard, pick a theme and layout, customise colors and fonts, then export a ZIP file. The ZIP contains a complete, standalone website you can host anywhere.
Key things to know:
- No sign-up, no login, no account required
- Your data never leaves your browser — it is saved in
localStorageon your device - The exported portfolio is a plain HTML/CSS/JS website — it works on any static host
- 100% free, forever
Portivo has no backend server. Nothing you type is sent anywhere. Your portfolio data is stored locally in your browser only.
How to Use Portivo
Building your portfolio takes 4 simple actions:
Open the Builder
Click the "Build Free" button on the homepage. The builder opens instantly — no sign-up needed.
Fill in the 9-step wizard
Go through each step: Personal Info → Skills → Projects → Experience → Education → Social Links → Theme → Layout → Customise. You can go back and forward freely.
Preview your portfolio
Click "Preview" at any time to see a live rendering of your portfolio exactly as visitors will see it.
Export and deploy
Go to the Export section, download the ZIP file, then follow the deployment guide below to put it online.
Wizard Steps — Explained
Step 1 — Personal Information
Fill in your full name, professional title (e.g. "Full Stack Developer"), email, phone, location, and a short bio. You can also add your portfolio URL and GitHub/LinkedIn profile URLs. The bio should be 2–4 sentences that summarise who you are professionally.
Step 2 — Skills
Add your technical skills. Each skill has a name (e.g. "React") and a proficiency level (Beginner / Intermediate / Advanced / Expert). Click "Add Skill" to add more. Drag to reorder. Aim for 6–12 skills — too many looks cluttered.
Step 3 — Projects
Add your portfolio projects. Each project includes a title, description, technologies used, and optional live demo and GitHub repo links. Focus on your best 3–5 projects rather than listing everything.
Step 4 — Experience
Add your work experience entries. Each has a job title, company, location, start/end date, and a description of your responsibilities. Leave the end date empty if it is your current role.
Step 5 — Education
Add your educational background: degree, institution, field of study, and graduation year. Add any relevant certifications here too.
Step 6 — Social Links
Paste your profile URLs for GitHub, LinkedIn, Instagram, Dribbble, Behance, and your personal website. Leave blank any that don't apply — they will not appear on your portfolio.
Step 7 — Theme
Pick from 20 themes. See the Themes page for a visual preview of each one. You can change this any time and immediately see the result in the preview.
Step 8 — Choose Your Layout
Pick the page structure for your portfolio — sidebar navigation, a bento grid, a terminal window, and more. This is a separate choice from Theme: theme controls colors and fonts, layout controls where things go. See the Layouts section below for a full explanation of each one. You can switch layouts any time, from this step or from the Layout Gallery reachable via the Preview and Export screens — your data and theme carry over instantly with no reload.
Step 9 — Customise
Fine-tune your portfolio with four tabs:
- Colors — 8 color pickers + 6 palette presets for instant styling
- Fonts — choose heading and body font families
- Shape — control button and card border-radius (sharp, rounded, pill)
- Sections — toggle contact form, skills, projects, experience, and education on/off
Preview & Export
Live Preview
Click the eye icon (or "Preview" button) in the builder to open a full-page live preview of your portfolio. Every change you make is reflected immediately.
Downloading the ZIP
Navigate to the Export section (accessible from the preview page). Click "Download Portfolio ZIP". The ZIP file is built entirely in your browser using JSZip — nothing is uploaded to any server.
The ZIP contains:
index.html— your portfolio's main pagecss/style.css— all styles with your theme colours pre-bakedjs/app.js— the portfolio rendererportfolio-data.json— your data in editable JSON formatREADME.txt— quick-start guidehosting-guide.pdf— Cloudflare deployment walkthrough
To update your portfolio after deployment, edit portfolio-data.json with a text editor (Notepad, VS Code, etc.), then re-upload just that one file. You don't need to re-download from Portivo.
What Are Layouts?
A layout is the structure of your portfolio page — where the navigation sits, how the hero is arranged, whether projects show as a grid or a timeline, whether there's a sidebar at all. Portivo ships with 10 layouts you can preview and switch between at any time.
Theme changes colors, fonts, and backgrounds. Layout changes the page structure — hero position, navigation, section order, grid vs. timeline. They are completely independent: every layout works with every theme, and switching one never changes the other. Your data (name, skills, projects, experience, education, contact) is exactly the same across all 10 layouts — only the presentation changes.
You can browse all 10 layouts with live, interactive previews on the dedicated Layouts page.
How Layouts Work
There are two ways to choose a layout, and they both lead to the same place:
From the Layouts showcase page
Open layouts.html, click Preview on any card to see it rendered with sample content (desktop or mobile), then click "Use This Layout" to jump straight into the builder with that layout already applied.
From inside the builder
Use Step 8 — Choose Your Layout in the wizard, or click the "Choose Layout" button on the Preview or Export screens to open the same Layout Gallery. Click Preview to check a layout first, or Select to apply it immediately.
Whichever way you choose a layout, the change is instant — no page reload, no re-entering data. Your selection is remembered automatically (in localStorage, separately from your portfolio data) so it's still applied the next time you open Portivo on the same device.
Not sure which layout fits? Fill in your real data first (Steps 1–6), then open the Layout Gallery — every preview uses your actual name, skills, and projects, so you're comparing layouts with your own content instead of sample text.
The 10 Layouts
Every layout below renders the exact same sections — Hero, About, Skills, Projects, Experience, Education, Contact — just arranged differently.
1. Classic
The original Portivo layout — a clean single-column page with a top navigation bar. This is the default, and stays pixel-identical to how Portivo has always looked.
2. Modern Sidebar
A sticky left sidebar holds your photo, name, and navigation while content scrolls on the right, with a career timeline for experience.
3. Bento Grid
A modern, dashboard-style mosaic where every section — hero, skills, each project, experience, contact — is its own card in a grid.
4. Apple Inspired
Large centered typography, minimal single-column sections, and generous whitespace — a calm, premium feel with almost no visual clutter.
5. Creative Portfolio
An asymmetrical hero with color-blob backgrounds and a rotated, masonry-style project grid — bold typography for a more artistic presentation.
6. Timeline Portfolio
Experience-first: a full-width, two-sided vertical timeline is the dominant visual, framing your work history as a career journey.
7. Corporate
A formal, business-focused layout — a letterhead-style header and a two-column report body, closer to an executive profile than a typical portfolio.
8. Developer Terminal
A dark, monospace terminal-window UI presenting each section as a command and its output — a fun, developer-flavoured take, always dark regardless of the theme you pick.
9. Split Screen
A 50/50 split hero, then alternating full-bleed sections with large imagery — a storytelling scroll that leans on visuals.
10. Magazine
An editorial layout with a serif masthead and drop-cap intro, one featured project as a headline story plus smaller story cards for the rest.
Layouts in Export
Whichever layout is selected when you download your ZIP is exactly what ships:
- For Classic, the exported ZIP keeps the familiar file structure —
index.html,css/style.css, andjs/app.jsas separate files. - For any of the other 9 layouts, the ZIP's
index.htmlis a single, fully self-contained file (styles included inline) — the same file that powers your live preview, so what you saw is exactly what you get.
The hosted preview, the full-page Preview screen, and the ZIP export all always respect whichever layout is currently selected — there is nothing extra to configure.
You can change layouts as many times as you like, even after exporting once. Just pick a new layout in the builder and download a fresh ZIP — your data and theme carry over automatically.
Deploying to Cloudflare Pages
Cloudflare Pages is the recommended host for your Portivo portfolio. It is completely free, lightning-fast, and provides a custom .pages.dev domain automatically.
A free Cloudflare account (cloudflare.com) and your downloaded portfolio ZIP file.
Step-by-step: Cloudflare Pages
Extract the ZIP
Right-click your downloaded portfolio.zip file and choose Extract All (Windows) or double-click (Mac). You will get a folder containing index.html, css/, js/, and other files.
Create a Cloudflare account
Go to cloudflare.com and sign up for a free account. Verify your email address.
Open Cloudflare Pages
After logging in, click Workers & Pages in the left sidebar. Then click Pages tab at the top, and click "Create a project".
Choose "Upload assets" (Direct Upload)
On the create project screen, look for "Upload assets" or "Direct Upload" tab. Click it. You do NOT need to connect GitHub.
Name your project
Enter a project name (e.g. my-portfolio). This will become part of your URL: my-portfolio.pages.dev. Click "Create project".
Upload your portfolio files
Drag and drop the extracted folder (the one containing index.html) into the upload area. Or click "Select from computer" and select the folder. Wait for all files to upload — you will see a green tick for each file.
Deploy
Click "Deploy site". Cloudflare will process your files and deploy them. This takes about 10–30 seconds.
Your portfolio is live!
Cloudflare will show you your live URL: something like https://my-portfolio.pages.dev. Click it to open your portfolio. Share this link with anyone.
To update your portfolio: go to your Pages project → click "Create new deployment" → upload the updated files. Your URL stays the same.
Deploying to Hostinger
Hostinger is a popular paid hosting option that also works perfectly with Portivo portfolios. Follow these steps if you have a Hostinger account.
A Hostinger hosting plan (Web Hosting or above), your domain set up, and your extracted portfolio folder.
Step-by-step: Hostinger
Extract the ZIP
Right-click the downloaded ZIP → Extract All. You get a folder with index.html, css/, js/, etc.
Log in to Hostinger hPanel
Go to hpanel.hostinger.com and log in. Click on Manage next to your hosting plan.
Open File Manager
In your hosting dashboard, find and click File Manager under the "Files" section. This opens a browser-based file explorer for your hosting account.
Navigate to public_html
In the File Manager, open the public_html folder. This is the root of your website — any files here are publicly accessible via your domain.
Upload your files
Click Upload Files (or the upload icon). Select all the files from your extracted portfolio folder — index.html, the css folder, the js folder, and portfolio-data.json. Upload them all into public_html.
Make sure index.html is directly inside public_html, not inside a subfolder. Otherwise your domain will show a "Not Found" error.
Visit your domain
Open your domain (e.g. https://yourname.com) in a browser. Your portfolio should appear immediately. If you see an old page, wait a few minutes for DNS propagation.
Alternative: Upload the ZIP directly
Hostinger's File Manager also supports ZIP uploads. You can upload the original portfolio.zip file, right-click it in File Manager, and choose Extract. Then move all extracted files out of any subfolder into public_html.
Other Hosting Platforms
Your portfolio ZIP is a standard static website that works on any host that serves HTML files. Here is how to deploy on other popular platforms:
| Platform | Free Plan | How to Deploy |
|---|---|---|
| Netlify | Yes | Drag & drop the extracted folder onto netlify.com/drop |
| GitHub Pages | Yes | Create a repo named username.github.io, push your files, enable Pages in Settings |
| Vercel | Yes | Import from GitHub or use Vercel CLI: vercel --prod |
| Firebase Hosting | Yes | firebase init hosting → set public dir to your folder → firebase deploy |
| Surge.sh | Yes | Run npx surge inside your extracted folder |
Adding a Custom Domain
Both Cloudflare Pages and Hostinger support custom domains.
Cloudflare Pages + Custom Domain
- In your Pages project, click Custom domains tab
- Click Set up a custom domain
- Enter your domain (e.g.
yourname.com) - Follow the DNS instructions to point your domain to Cloudflare Pages
- If your domain is already on Cloudflare, it auto-configures. If not, add the CNAME record your registrar requires.
Hostinger + Custom Domain
Your Hostinger plan usually comes with a domain. If you bought one separately, point its DNS nameservers to Hostinger's nameservers. Hostinger's support docs cover this in detail.
Updating Your Portfolio
There are two ways to update your portfolio after deployment:
Option A — Edit JSON directly (quick updates)
Open portfolio-data.json in any text editor (Notepad, VS Code). Edit your details, save, then re-upload just that file to your host. The portfolio reads the JSON on every page load, so changes appear immediately.
// portfolio-data.json — example structure
{
"name": "Your Name",
"title": "Your Professional Title",
"bio": "Your bio goes here...",
"skills": [
{ "name": "React", "level": "Expert" }
],
"projects": [ ... ],
"experience": [ ... ]
}
Option B — Rebuild in Portivo (for theme/style changes)
- Open Portivo — your data will be saved in the browser if you used the same device
- Make your changes
- Download a new ZIP
- Upload the new files to your host (replace the old ones)
Use the JSON method for text changes (bio, new project, new job). Use the full re-export for visual changes (theme, colors, fonts).
Brand Studio™ — Overview
Brand Studio™ is a built-in professional card and brand asset generator included with Portivo. After you build your portfolio, open Brand Studio to instantly create polished brand materials — all auto-filled from your portfolio data. No re-entering information.
Brand Studio™ is fully local — all assets are generated in your browser with no uploads, no accounts, and no limits. Everything is free.
How to open Brand Studio
Build your portfolio first
Complete at least the Personal Info step of the builder so Brand Studio has your name, title, email, and phone to work with.
Go to Portfolio Preview
Click Preview from the builder. In the preview bar at the top, you will see the ✨ Brand Studio™ button.
Open Brand Studio
Click the Brand Studio™ button. The interface opens as a full-screen overlay. Your portfolio data is loaded automatically.
Select an asset type and customise
Use the Assets tab to pick one of 9 asset types. Use the other tabs — Themes, Colors, Templates, Layout, Content, Export — to customise and download.
9 Asset Types
Brand Studio™ can generate nine different brand assets from your portfolio data. Each one is rendered as a pixel-perfect card that you can export in multiple formats.
Business Card
Standard 480×274 px card with front and back sides. 6 layout templates. Perfect for printing or sharing digitally.
ID Card
Vertical 280×420 px professional ID card with your photo initials, title, contact info, and QR code.
LinkedIn Banner
1584×396 px LinkedIn profile banner. Wide gradient layout with your name, title, skills, and contact info.
GitHub Banner
1280×640 px GitHub profile README banner. Developer-style with tech stack, name, and social links.
Email Signature
Table-based HTML signature compatible with Gmail, Outlook, and Apple Mail. Copy HTML or plain text directly.
QR Card
340×340 px square card centred on a QR code that links to your portfolio. Includes name and title.
Portfolio Thumbnail
400×300 px thumbnail for link previews, project cards, and social shares. Eye-catching gradient layout.
Resume Cover
420×594 px A4-proportioned cover page for your resume or PDF application. Professional and clean.
vCard Download
Generates a .vcf file that anyone can import into their phone or email contacts instantly.
Themes & Colors
30 Premium Themes
Brand Studio™ includes 30 hand-crafted themes across 6 categories. Every theme includes a full colour palette — background, surface, primary, accent, text — and a paired heading font.
| Category | Example Themes |
|---|---|
| Professional | Modern Blue, Apple Dark, Microsoft Inspired, Corporate Navy, Clean White |
| Developer | GitHub Dark, Developer Terminal, Tech Blue, Monochrome, Midnight |
| Creative | Gradient Neon, Cyberpunk, Creative Pink, Futuristic, Soft Blue |
| Luxury | Gold Luxury, Royal Purple, Glass, Elegant, Classic |
| Nature | Emerald, Dark Green, Ocean, Sunset, Orange |
| Minimal | Minimal, Crimson, Material, Google Inspired, Apple White |
Custom Colors
In the Colors tab you can override any of the four main theme colors for the current card only:
- Primary Color — used for headings, buttons, and key highlights
- Accent Color — secondary highlights, borders, icons
- Background — card background
- Text Color — body text
Color overrides are saved per device. Click "Reset to Theme Defaults" to revert to the selected theme's original palette.
For consistent branding, pick one theme that matches your brand and only override the primary color with your brand color. All other cards will inherit the same look.
Templates & Layout
Template Layouts
The Templates tab shows layout variants available for the selected asset. Business Cards have the most variants:
- Classic — traditional left-aligned layout with logo area
- Modern — split design with photo on one side
- Minimal — clean, white-space focused
- Bold — large name treatment, strong typography
- Split — two-tone background divided diagonally
- Centered — all elements centered, ideal for networking cards
Layout Options
The Layout tab controls the card's visual elements:
- Card Shape — Rounded, Soft, or Sharp corners
- Show Profile Photo — toggles the circular avatar/initials badge
- Show QR Code — toggles the QR code linking to your portfolio URL
- Show Social Icons — toggles GitHub, LinkedIn, and other social icons
- Skills Display — Hide / Top 3 / Tags (shows your skills on the card)
- Typography — choose from 6 font families: Inter, Playfair Display, Roboto, Montserrat, JetBrains Mono, Georgia
Editing Content
By default, Brand Studio™ uses your portfolio data automatically. You never need to re-enter your name, title, email, or phone. However, you can override any field for the card only — useful for testing different titles or using a work email vs. personal email on different cards.
Open the Content tab to edit:
- Full Name
- Professional Title
- Company name
- Email address
- Phone number
- Website / Portfolio URL
- Tagline (a short one-liner that appears on some card layouts)
Content overrides only affect Brand Studio cards. They do not change your actual portfolio data. Click "Apply Changes" after editing to see the update on the card.
Exporting Assets
All exports are generated in your browser — nothing is uploaded to a server. Exported files go directly to your browser's download folder.
PNG Export — Technical Details
PNG export uses html2canvas 1.4.1 at 3× device pixel ratio. For a 480×274 business card, the exported PNG is 1440×822 px — suitable for print at 300 DPI for a card approximately 4.8×2.7 inches.
Because html2canvas renders DOM elements, all card styles use inline styles only (no external CSS classes). This ensures every element is captured exactly as visible on screen, regardless of browser or device.
Email Signature Setup
After clicking Email Signature in the Export tab, a modal opens with your signature rendered in a preview. There are two copy options:
- Copy HTML — copies the raw HTML table markup to your clipboard. Paste this in Gmail Settings → Signature (use the "Insert HTML" option in the rich-text editor)
- Copy Plain Text — a clean fallback for email clients that don't support HTML signatures
In Gmail, go to Settings → See all settings → General → Signature. Create a new signature, click the HTML source button (<>) in the rich text editor, and paste the copied HTML. Save, then select it as your default signature.
vCard (.vcf) Setup
The vCard download generates a vCard 3.0 .vcf file containing your name, title, email, phone, website, and social links. To use it:
- iPhone: AirDrop or email the .vcf file to yourself → tap it → "Add to Contacts"
- Android: Download the file → tap it in the notification or Files app → import
- Outlook: Double-click the .vcf file → "Import" in the contact preview window
- Google Contacts: Go to contacts.google.com → Import → select the .vcf file
Tips & Best Practices
Consistent branding across all assets
Pick a single theme and stick to it across all 9 asset types. Your business card, LinkedIn banner, and email signature will all look like they belong together — this is what makes a brand feel professional.
Business Card — Front & Back
The Business Card asset supports a front and a back side. Use the Front / Back toggle above the card preview. Export each side as a separate PNG/PDF and send both to your print shop.
LinkedIn Banner dimensions
LinkedIn displays profile banners at 1584×396 px. Brand Studio renders and exports at exactly this size. After downloading the PNG, go to LinkedIn → Profile → Edit → Background photo → Upload.
GitHub Banner dimensions
GitHub profile README banners look best at 1280×640 px or wider. Brand Studio exports at 1280×640 px. Add it to your README with:

Print quality for business cards
The 3× PNG export gives you a 1440×822 px file. Standard business card printing requires 300 DPI at 3.5×2 inches (or 85×54 mm). Ask your print shop to auto-scale to their required size, or resize in an image editor before uploading.
Use the Print Sheet (A4) export to get 8 business cards on one A4 page. Print this at your local print shop or on a home printer and cut with scissors or a paper trimmer.
Data privacy
Brand Studio preferences (selected theme, colors, overrides) are saved in localStorage under the key Portivo_brand_prefs on your device only. Nothing is transmitted. To clear Brand Studio preferences, clear your browser's site data for this domain.
Frequently Asked Questions
Is Portivo really free?
Yes. Portivo is 100% free with no hidden fees, no premium tier, and no limits. All 20 themes, all 10 layouts, and every feature are available to everyone.
Do I need to create an account?
No. Portivo requires no sign-up, no email, and no login. Your data is stored locally in your browser.
What happens if I clear my browser data?
Your saved progress will be lost. To avoid this, export your data as a JSON backup using the "Export JSON" button in the app before clearing browser data.
Can I use Portivo on mobile?
Portivo works in mobile browsers, but we recommend using a desktop or laptop for the best builder experience. The preview and export work on all devices.
Can I add a profile photo?
Yes. In Step 1 (Personal Info), there is an option to upload or link a profile photo. The photo is stored in your localStorage or referenced as a URL.
My portfolio is showing an old version after I re-uploaded files. What do I do?
This is a browser cache issue. Hard-refresh the page: Ctrl + Shift + R (Windows/Linux) or Cmd + Shift + R (Mac). If it still shows the old version, wait 5–10 minutes for the CDN to update.
Can I add Google Analytics or other scripts?
Yes. After downloading the ZIP, open index.html in a text editor and add your analytics script tag in the <head>. Re-upload only index.html.
Can I change the portfolio's colors after deployment without re-exporting?
Yes — edit the :root CSS variables at the top of css/style.css. Each variable like --c-primary controls a colour across the whole site.
Contact & Support
Still have questions?
If you run into any issues, have a question, or want to give feedback — send an email. Prabhakar responds to every message personally.
prabhakar7729@gmail.comPlease include your issue description, the browser you're using, and any error messages you see. This helps resolve issues much faster.