Add your content
Enter it manually, import a resume or GitHub projects, then run a portfolio health check before publishing.
Public documentation
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.
Core workflow
Enter it manually, import a resume or GitHub projects, then run a portfolio health check before publishing.
Choose exactly which evidence appears in each portfolio and in what order.
Pick a theme and a layout independently for every section.
Share a stable public URL and review first-party engagement analytics.
Feature reference
Analytics privacy
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.
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
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.
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
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