Which data model best fits my api for my personal portfolio website?

I’m creating a REST API that will be used to render data about me in my portfolio website. The goal is to fetch data from the REST API and display it in my portfolio website. I’m currently using MongoDB to store the data, but it’s a little confusing on how I should efficiently model my schema.

So far, I have one document that is the entire resource and grouped a bunch of endpoints together.

One document that holds all of the data, like so:

{
    "firstName": "John",
    "lastName": "Doe",
    "email": "myemail@gmail.com",
    "description": "I am a Sophomore at ...",
    "image": "<link_to_image>",
    "interests": [
        { // interest object
            "topic": "AI",
            "image": "<link_to_image>"
        }
    ],
    "projects": [
        { // projects object
            "id": 1,
            "title": "Navi Web Companion",
            "description": "This project is...",
            "image": "<link_to_image>",
            "link": "https://github.com/..."
        }
    ],
    "skills": [
        { // skill object
             "skill": "Python",
             "image": "<link_to_image>"
        }
    ],
    "experiences": [
        { // experience object
            "id": 1,
            "company": "Meta Platforms Inc.",
            "position": "Software Engineer Intern",
            "dateStarted": "June 2021",
            "dateEnded": "August 2021",
            "image": "<link_to_image>"
        }
    ],
    "contact": [
        { // contact object
            "title": "Twitter",
            "link": "<link_to_social>"
        }
    ]
}

How do I make this schema more efficient/modular? Should I separate each big idea into its own collection and reference it in the main document? How would this model look like?