DevFolioX

Public documentation

Everything DevFolioX can do.

DevFolioX separates your professional content from its presentation, so one profile can power multiple role-specific portfolios without rebuilding the same information again and again.

75 section layouts10 themesRole-specific variantsFirst-party analytics

Core workflow

One profile → many focused portfolios.

01

Add your content

Enter it manually, import a resume or GitHub projects, then run a portfolio health check before publishing.

02

Target the role

Choose exactly which evidence appears in each portfolio and in what order.

03

Choose the presentation

Pick a theme and a layout independently for every section.

04

Publish and measure

Share a stable public URL and review first-party engagement analytics.

Feature reference

What is available today.

Build from structured content

  • Maintain one shared professional profile with experience, projects, skills, social links, and custom sections.
  • Start from a true blank workspace, use the demo, or import a PDF/DOCX resume up to 5 MB.
  • Import projects from a public GitHub profile by selecting repositories; DevFolioX maps descriptions, language/topics, repository links, and homepage links into editable projects.
  • Run the active portfolio through a health check for identity/contact gaps, targeting, project completeness, links, resume readiness, and image-led layout requirements.
  • Resume import is parsed in memory, is not stored, and lets you review/edit profile, experience, projects, and skills before applying.
  • Use the advanced JSON editor to edit the complete workspace: shared content, variants, targeting, design, branding, resume data, and custom sections.

Create role-specific portfolios

  • Create multiple named portfolio variants from the same shared profile.
  • Set a target role per variant and independently choose/reorder experience, projects, and skills.
  • Duplicate, rename, publish, unpublish, and manage each portfolio without unexpectedly changing an existing public URL.
  • Empty sections are automatically suppressed on the rendered portfolio.

Design without coding

  • Choose from 10 themes: Ink, Sand, Moss, Aurora, Cobalt, Rose, Mono, Sunset, Ice, and Noir.
  • Use 60 layouts across Hero, About, Experience, Projects, Skills, and Contact, plus 7 Resume layouts and 8 Custom Section layouts.
  • Rename sections, show/hide them, reorder them, and shuffle designs.
  • Preview desktop, tablet, and mobile layouts while editing, with an adjustable editor/preview split on desktop.

Images, branding, and sharing

  • Upload hero and project images through signed Cloudinary uploads; Cloudinary secrets stay server-side.
  • Add separate GitHub and Live Demo links to projects and skill-logo layouts with text fallbacks.
  • Set per-portfolio favicon, social share title, share description, and share image.
  • Publish to clean public URLs in the form /<username>/<portfolio> using immutable published snapshots.
  • Published pages include canonical and social metadata, JSON-LD profile data, robots/sitemap discovery, skip navigation, and reduced-motion support.

Resume and custom sections

  • Attach a public resume to an individual portfolio without forcing the same resume onto every variant.
  • Choose from seven résumé treatments, including embedded, card, compact, split, spotlight, minimal, and terminal layouts.
  • Create flexible custom sections for certifications, awards, education, writing, speaking, open source, or anything else.
  • Custom sections support eight layouts, including list, cards, timeline, grid, compact, split, spotlight, and badges.

First-party analytics

  • See views, unique visitors, engaged visitors, engagement rate, resume opens, contact clicks, project clicks, social clicks, and custom-link clicks.
  • Inspect 7, 30, or 90 day windows, daily traffic, referrer-host breakdowns, device breakdowns, action breakdowns, and per-portfolio comparisons.
  • Admins can access aggregate product analytics including creator activation, active/returning creators, publish rate, variants per account, time-to-first-publish, resume-import success, traffic, signups, top actions, devices, referrers, and portfolios.
  • Analytics failures never block the public portfolio experience.

Analytics privacy

Useful metrics without collecting portfolio content.

What analytics stores

DevFolioX uses opaque anonymous visitor/session UUIDs, event type, fixed content-free action targets, referrer host, device type, portfolio ID, and event time. Portfolio views are de-duplicated once per portfolio/session.

What analytics does not store

Public visitor analytics do not record IP addresses, names, email addresses, resume text, profile text, project descriptions, custom-section names, or full referrer URLs. Browser Do Not Track is honored. Authenticated creator-product events contain only user ID, event type, optional portfolio variant key, and timestamp.

Storage and deletion

Your saved data has explicit lifecycle controls.

Portfolio deletion

Deleting a portfolio removes its saved/published data, target-only content, attached resume, analytics events, and uploaded assets that are no longer referenced by another portfolio. Deleting the final portfolio also removes the shared workspace data.

Account deletion

The account danger zone permanently removes every portfolio, shared workspace data, published pages, uploaded Cloudinary assets, analytics admin membership, and the sign-in account.

Implementation notes

How publishing is separated from editing.

Editor stateLocal draft + authenticated Supabase workspace
PublishCreate an immutable public snapshot
Public route/<username>/<portfolio>

Raw draft profile, experience, project, and skill rows remain owner-only under Supabase Row Level Security. Workspace saves run inside one security-invoker Postgres transaction, while public pages read the published snapshot.

Build a version for the role you want

Start blank, import your resume, or explore the demo.

Start fresh →Explore demo