Help Center

8-chapter guide

Dashboard Portfolios

Every tab in the portfolio builder, in the order you'll actually fill them in — what each field does, what's required, what saves immediately versus what waits for a button, and exactly what happens when you publish.

Chapter 1

Template

The Dashboard Portfolio is KalHope's original, always-available portfolio builder, at /dashboard/portfolio. Everyone gets one — it doesn't require a paid plan to use, unlike the Spatial Portfolio (Enterprise/Lifetime only, and a completely separate editor and URL). The whole editor is organized into eight tabs, in the order this guide covers them:

Template Basic Info Social & Media Experience Projects Education Personal Publish

Template is the first tab, and it decides the visual layout of your public page. There are six templates, and which ones you can pick depends on your subscription plan:

Try it — viewing as

TemplateTaglineRequires
MinimalistClean, fast, distraction-freeStarter
ProfessionalBalanced layout for any careerProfessional
PremiumBold visuals, project-forwardProfessional
ExecutivePolished, formal, leadership-readyEnterprise
Ultra ExecutiveHigh-contrast, statement-makingEnterprise
Executive MaxThe full flagship experienceLifetime

Plans stack: Professional unlocks everything Starter does plus its own tier, Enterprise unlocks everything below it too, and Lifetime unlocks all six. A locked template shows a lock icon over its preview and a "Requires Plan — Upgrade" link straight to billing; clicking it does nothing else.

There's no separate Save button here

Clicking any unlocked template you don't already have active saves immediately — the change is sent the moment you click, not held until you press a button elsewhere. Clicking your current template, or a locked one, does nothing.

This is also checked again on the server every time, not just hidden in the picker — if your plan lapses between page loads, the request to switch to a gated template is rejected even if the button briefly looked clickable. See Publish for how your public page reflects whichever template is active, and Basic Info for the next tab.

Chapter 2

Basic Info

The Basic Info tab holds the four fields almost every template uses somewhere near the top of your public page:

FieldTypeNotes
Portfolio titleTextRequired — can't be blank; capped at 150 characters
HeadlineTextOptional; capped at 300 characters
SummaryMulti-line textOptional; a few sentences about you
SkillsComma-separated textOptional; up to 30 skills, each capped at 50 characters

Type React, TypeScript, Figma into Skills and it's split on every comma, each piece trimmed of extra spaces, and empty pieces dropped — so trailing commas or double spaces never turn into blank skills on your page.

Title can't be saved empty

If you clear the title field entirely and hit Save, the request is rejected and the rest of the tab (headline, summary, skills) won't save with it either — clear it back to something non-empty and save again.

Save applies to all four fields together — there's one button at the bottom of the tab, and it reads "Saving…" while the request is in flight. Everything you fill in here loads back automatically the next time you open the tab, so there's nothing to re-enter after a refresh.

Chapter 3

Social & Media

The Social & Media tab is the most mixed of the eight — some of it saves immediately, some of it waits for the Save button at the bottom. Knowing which is which saves a confused re-click:

Social & Web Links

"+ Add Link" adds an empty platform/URL row; the trash icon removes one. A row only counts once both its platform name and its URL are filled in — waits for the tab's Save button.

Brand Colors

Two color pickers (Primary, Secondary), defaulting to blue and violet — used as accent colors by templates that support theming. Waits for the tab's Save button.

Resume

Upload a PDF or Word file (up to 50 MB), or skip the upload box and paste a link instead (Google Drive, etc.). Uploading a file saves on its own, the moment the upload finishes — it doesn't wait for the tab's Save button. A pasted link, on the other hand, only saves when you press Save.

Portfolio Photo

Optional — your public page falls back to your account profile photo if you never set one here. Uploading, and removing it via "Remove — use account photo instead", both save immediately, same as the resume upload.

One shared Save button, two exceptions

The Save button at the bottom of this tab covers social links, a pasted resume link, and both brand colors. Resume and photo uploads (and photo removal) bypass it entirely and save themselves — so if you only ever upload files here and never touch the other fields, you may never need to press Save on this tab at all.

On success, Save turns green with a checkmark and reads "Saved" for about two seconds before reverting to its normal label — a quick, unmistakable confirmation that the write went through.

Chapter 4

Experience

The Experience tab, along with Projects and Education right after it, all share the same pattern: a list of entries, a "+ Add" button that opens a blank form, and clicking any existing entry loads it back into that same form for editing — there is no separate "edit" icon, the whole row is the click target except for its trash icon.

Each experience entry has:

  • Company — required
  • Position / Title — required
  • Description — optional, what you did there
  • Start date — required
  • End date — disabled while "I currently work here" is checked
  • "I currently work here" checkbox

Company, position, and start date are required

Trying to save without all three shows exactly that message and the entry isn't created — nothing reaches the server until those three are filled in.

Checking "I currently work here" doesn't just grey out the End date field visually — on save, the end date is forced to blank regardless of anything left sitting in that field, so a stale date typed in before checking the box is never sent. Each card in the list shows Position · Company with the date range underneath ("Present" for a current role).

The trash icon deletes an entry immediately — it disappears from the list at once and the delete request goes out in the background. If that request happens to fail, the only sign is a "Couldn't delete that entry." message; the row has already been removed from view either way, so a failed delete is rare enough not to worry about but worth knowing if you ever see that message.

Chapter 5

Projects

The Projects tab follows the exact same add/click-to-edit/delete-immediately pattern as Experience. Each project has:

  • Project title — the only required field
  • Description — optional, what it does
  • Live URL — optional
  • GitHub URL — optional
  • Technologies — optional, comma separated (parsed the same way as Skills in Basic Info)

Project title is required

Leave it blank and Save refuses with that exact message — everything else on the form is optional.

A project card in the list shows its title, and — only if you listed any — its technologies underneath as a comma-joined line. A project with no technologies listed shows just the title, with nothing left blank or placeholder-shaped underneath it.

Chapter 6

Education

The Education tab is the third of the three add/click-to-edit/delete-immediately tabs. It asks for more required fields than Experience or Projects:

  • Institution — required
  • Degree — required (e.g. "Bachelor of Science")
  • Field — required (e.g. "Computer Science")
  • Start date — required
  • End date — optional
  • Notes — optional, free text

Institution, degree, field, and start date are required

All four have to be filled in before Save will create the entry — that's the whole message you'll see if one is missing.

Unlike Experience, there's no "currently studying" checkbox here — you either fill in an end date, or you leave it blank. A blank end date simply displays as "Present" on the card, right next to Degree in Field and the institution name.

Chapter 7

Personal

The Personal tab is really two separate panels stacked on top of each other, each with its own save behavior:

Hobbies

One comma-separated Hobbies field, parsed the same way as Skills and Technologies elsewhere in this editor. Its own Save button, its own "Hobbies saved." confirmation — entirely independent of everything else on this tab.

Languages

Back to the add/click-to-edit/delete-immediately pattern from Experience, Projects, and Education: a Language name plus a proficiency level, click a row to edit it, trash icon to remove it right away.

Proficiency is a fixed set of four levels — there's no free-text option:

  • Mother Tongue
  • Good
  • Very Good
  • Excellent

A language entry can't be saved without a name, same principle as everywhere else in this editor — proficiency always has a value already selected (Good, by default) so that part never blocks you.

Chapter 8

Publish

The Publish tab controls whether your portfolio is visible to the public at kalhope.com/portfolio/<username>. Click through the demo below — it mirrors the real tab's two states exactly:

Publish Status

Your portfolio is currently hidden. Publish to make it public.

Nothing here has to be filled in first

Unlike the Spatial Portfolio's Publish button, which stays disabled until Name, Headline, and Bio are all filled in, the Dashboard Portfolio's Publish button has no such gate. It can be clicked the moment you land on this tab, even with every other tab left completely blank — a portfolio with just a default title and nothing else can go live.

Once published, two more panels appear:

  • Your live link — your public URL in a read-only field, a copy button (a checkmark confirms the copy for about 1.5 seconds), and a button that opens it in a new tab.
  • Visitor Stats — total views, unique visitors, and (once you've had at least one) a "Last viewed" date. All three start at zero and only appear on this tab while published.

The first time you publish, KalHope stamps a permanent "first published" date behind the scenes. Unpublishing and republishing later never resets that date — it only records the very first time your portfolio went live, not the most recent time.

Unpublishing is non-destructive

Clicking Unpublish only takes the public URL offline — none of your tabs are cleared. Every field, experience, project, and entry you've saved is still exactly where you left it, ready to publish again whenever you want.

At the top of every tab in this editor, you'll also see quick links to your Spatial Portfolio — a separate, higher-end portfolio with its own editor, its own templates, and its own publish state, gated to Enterprise and Lifetime plans. Nothing on this page affects it, and nothing there affects this one; see that guide if that's the one you're looking for instead.

Didn't find what you needed?

Contact support
Loading footer...