Build your Online CV from Notion

Now, manage your online CV from “Notion - your favorite all-in-one workspace”

Managing a CV is itself a job.

How often do you update your online CV across so many platforms? Isn’t each platform or tool an additional node in your existing day-2-day workflows?

You might be thinking, “Can we get rid of these additional nodes?”

Yes, you can - add new stories in your CV from the comfort of your Notion workspace!

Click on this quick demo to see it in action: 1 min Demo: Update Online CV from Notion Database

Note: Just for you folks, here’s a testing playground to tinker - Test Online CV. If the playground app breaks while playing with the notion database or you have feedback/queries, reach out to me on LinkedIn. Thanks in advance!

Context

    • Why should you care about this? - Already covered above.
    • Who exactly should care about this? - Students & Professionals (for now)
    • Why did I build this? What was the trigger to build this?
      • Solution for my personal problems - Let interesting folks know about my “latest” stuff in a format similar to a CV if they somehow find me on discovery platforms like LinkedIn, Twitter, Substack, etc.
      • In-line with my north star - “Increase the per capita value of the internet for a common man”. Similarly, this project’s derivative north star could be “Increase the per-capita ‘captured’ value for a common man”.
    • After I decided to build this, what did I hope to get out of this? - Learn to create value/impact for people. Deliver it at speed & scale.
    • After I have built this, what am I looking to get out of this? - Help people effortlessly tell their up-to-date stories through minimalist CVs hosted on their piece of internet-land (not borrowed).

But, why not host the online CV on Notion itself instead of Vercel or use another No-Code Tool?

I like a good balance between scalability, personalisation & automation. IMO, Notion is a phenomenal personal or professional workspace solution.

However, if one is to build their SelfOS, it would best serve as a backend with its best-in-class personalised configurability.

Why? - Because the front-end rendering of Notion pages is limited to the default UI & Layouts of Notion.

But, what’s the “real” reason? - Because every human being should have that one node (personal website) which is the entry point to all the endless nodes (products/tools getting used for different needs/wants) being used, updated, replaced, or added into their lives from start to finish. For governments, it’s a state identification ID like Aadhar Card, PAN Card, Mobile Number, etc which can be used to access every other node (mostly financial) of its citizens. For individuals, a personal website, which is hosted anywhere in the world, can give them (almost) absolute control - over its content, what gets shown to the whole world, access management of other individuals & much more, by becoming that one top-node which can sit on top of everything a person does or uses.

Moving on!

Guide to get your own Notion-powered CV

Only 3 steps are needed to get your own Notion-powered CV - 1. Setup CV Database on Notion, 2. Launch online CV on Vercel, and 3. Update CV Database on Notion & see it live on the online CV.

Please refer to below guide & get your notion-powered online CV running in few minutes (estimated time is 10-15 mins):

  1. Setup your CV Database on Notion
    1. Go to your notion workspace (create if you don’t have one) and duplicate this sample notion database. Go to your duplicated notion database & copy the share link to get its DATABASE_ID (to be used later).
        Sample share link for reference
        Sample share link for reference
        Click on “Copy link” to get DATABASE_ID
        Click on “Copy link” to get DATABASE_ID
    2. Create an internal integration on your Notion workspace where you copied the sample notion database (in the above step). This step is required to get the {NOTION_INTEGRATION_SECRET} which is to be used later. Exact steps are as follows:
        Click on New Integration
        Click on New Integration
        Copy & save integration secret for later use.
        Copy & save integration secret for later use.
    3. Connect your copied Notion Database (step a) with your internal integration (step b).
        Connect the duplicated notion database to the internal integration.
        Connect the duplicated notion database to the internal integration.
  2. Launch your online CV via vercel
    1. Click on Clone Github Repository & Create Vercel App & add repository name (anything you want) for the cloned repo. Afterwards, click on “Create” to launch your online CV.
      1. After few minutes, you will see a failed build message but don’t worry! Go to the vercel project (just created) & add following environmental variables in the settings tab:
        1. NOTION_TOKEN = {NOTION_INTEGRATION_SECRET} [from step 1]
          1. NOTION_RESUME_DATABASE_ID = {DATABASE_ID} [from step 1]
          2. Finally, re-deploy the failed build to successfully launch your online CV. After few minutes, you’ll see a “Ready” build above the first “Error” one. Go to your online CV by clicking on “Visit” on the “Ready” build & validate if it looks similar to this Sample Notion CV.
          3. Optional: Update favicon on your online CV by replacing favicon files (apple-icon.png & favicon.ico) in the cloned github repo with your own favicon files. Keep the names same.
            1. Note: You can deploy the app with your choice of front-end server tool. The app is build & optimized for Vercel.

          4. Update your CV Database on Notion & see the changes live on the online CV

              Notes to read before updating CV Database:

              • Provision to utilize new rows in “Text”, “Array” or custom categories is not supported. “Array” category-type rows act as a selector row for other categories like “Work”, “Education”, “Artifacts”, “Social Media”, etc. While, “Text” fields are only specific & relevant to the current CV template.
              • Feel free to add or remove rows in all categories except “Text” or “Array”. Within one category, name of all keys should be different from each other.
              • You can also switch the position of your projects on the CV, modify the values in “keyOrder” field.
              • Removing rows is not recommended to avoid forgetting the exact name of keys.
              • Updates in your Notion CV Database would take roughly 5-15 seconds to reflect on your online CV on Vercel.

              Now, let’s get things rolling:

            1. To start with, add your name, one-line summary, location, image etc. by updating the defaults in the “value” or “link” field.
              1. Moving forward, to add your new job or education, simply create a new row similar to one from the same category (Work or Education) & update the values accordingly. Don’t forget to add the new row key in the “tags” field of “Public Resume Work” or “Public Resume Education”.
                1. Similarly, you can choose your preferred social media profiles to be shown on the CV. Remove or add values in “tags” field to do this. Ensure that the tags value matches the value in the “key” field.
                  1. To select or deselect the data for your online CV, add “all” or specific page routes (see below example) in the “appliedPage” field of your Notion CV Database.

                      Important: To switch back to app data, empty the “appliedPage” field for “Data Source” key.

                      Example “appliedPage” values for current online CV version: “/” for homepage & “all” for all pages.

                  2. Closing Notes:

                    • Online CV can also be built on other front-end development frameworks however proceed with caution.
                    • Feel free to assign a custom {DOMAIN} to your online CV on Vercel [Refer to below image for visuals].

                Future Scope

                We might work on following features if there is strong feedback. And, I'm happily open to receive collaboration requests if this intrigues anyone.

                  • Automatically create multiple variants of online CV for different roles & domain without leaving Notion.
                  • Launch in 4 steps on a single screen (without moving between Notion ↔ Vercel):
                    • Pre-requisite: Create an internal integration on your Notion workspace where you want to host your resume data. This step is required to get the {NOTION_INTEGRATION_SECRET} which is to be used build a secured link between user’s Notion workspace & online CV on Vercel.
                    • Step 1: Notion access to duplicate sample notion database in user’s notion workspace & automatically fetch ID of the copied Notion DB. This step is required to get the {DATABASE_ID} which is to be used to build a secured link between user’s Notion CV Database & online CV on Vercel.
                    • Step 2: Add or validate {NOTION_INTEGRATION_SECRET} & {DATABASE_ID}
                    • Step 3: Vercel & Github access to create a copy of parent repository in your github account & launch a vercel app linked to the newly created github account.
                    • Step 4: Update your online CV right from your favorite productivity tool “Notion”.

                    Optional Step: Update you online CV’s favicon by replacing the default ones - apple-icon.png & favicon.ico

                  • Select a CV layout template suitable for your needs:
                    • Global default template from the current layout.
                    • Optional template with different layout or/and CSS.
                    • Select the template from Notion only.

                Conclusion

                If you are already using notion to manage different aspects of your life, then let’s use it to update your online CV as well.

                May you never miss any door where you want to put your foot in!


                Click here to share this article with your friends on X if you liked it.