All portfolio content in DevOS lives directly inside the individual app component files. There is no external CMS, no environment-variable config, and no JSON data layer — each app owns its own data as plain JavaScript arrays, template literals, or inline JSX. To personalise the portfolio, open the relevant component file and edit the values in place. The table below maps every piece of visible content to the file and structure you need to edit.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/dev-os/llms.txt
Use this file to discover all available pages before exploring further.
Data locations
| What to change | File | What to edit |
|---|---|---|
| Welcome message | components/apps/HomeApp.js | welcomeContent template literal |
| Name, bio, hobbies | components/apps/AboutApp.js | Spec values string, bio JSX, hobbies array |
| Projects | components/apps/ProjectsApp.js | projects array |
| Skills | components/apps/SkillsApp.js | skills array |
| Career history | components/apps/TerminalApp.js | careerLog array |
| Case studies | components/apps/CaseStudiesApp.js | JSX document content |
| Articles | components/apps/ArticlesApp.js | articles array |
| Contact email | components/apps/ContactApp.js | value of the To: input |
| Social links | components/apps/ContactApp.js | href on GitHub/LinkedIn/Twitter anchors |
| Testimonials | components/apps/TestimonialsApp.js | testimonials array |
| Boot messages | components/system/BootScreen.js | bootMessages array |
| Desktop icon labels | components/system/Desktop.js | label property in the I array |
Practical example — updating the skills list
TheSkillsApp component renders a Task-Manager-style view where each row represents a skill. The data lives in a skills array at the top of the file. Each entry has three fields: a display name, a base proficiency value (0–100), and a Tailwind background-colour class for the progress bar.
Replace the existing entries with your own stack:
components/apps/SkillsApp.js
Other common edits
Projects — each entry in theprojects array in ProjectsApp.js typically includes a title, description, technology tags, and a URL. Add, remove, or reorder entries freely; the grid layout adapts to any number of items.
Career history — TerminalApp.js renders a terminal-style output from a careerLog array. Each entry represents one role or milestone. Edit the organisation name, date range, title, and bullet points to match your own history.
Boot messages — the bootMessages array in BootScreen.js controls what appears on the ASCII-art loading screen at startup. These strings are pure flavour text — customise them freely to set the tone of your portfolio before the desktop loads.
Desktop icon labels — the label property in each entry of the I array in Desktop.js is what appears beneath the icon on the desktop. The built-in labels use OS-style filenames like about_me.exe and career.log. You can rename them to anything without affecting functionality.
There is no runtime data-fetching in DevOS — it is a fully static site. Changes to any data array only take effect after a rebuild. If you want a CMS-backed portfolio in the future, replace the static arrays with
fetch() calls inside useEffect hooks within each app component, and update the build pipeline to handle any required environment variables.