• Stars
    star
    188
  • Rank 204,897 (Top 5 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 6 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Resume Builder is a free open-source project that allows anyone to easily maintain and build any kind of resume.

Resume Builder

resume-builder.js.org

Gotta find a job! Alright, let's make a new resume with this awesome template I found on Google, the problem is, this template might not be as awesome next month, or you might need to constantly add your new experience to the document. Gosh. Wouldn't be better to focus on adding new experiences in a raw format and let a automation process handle the layout? I agreed, and that's why Resume Builder is here.

You take care of the data, and we take care of the template.

"Imagine you're an employer, and you have two resumes in front of you. One is filled wall-to-wall with text and uses four different fonts. It's also peppered with dozens of bolded, italicized, and underlined words and phrases. The second resume also offers a lot of information, but you can quickly scan the document because it makes good use of white space, features clear and consistent section headings, and uses bullets to make important items stand out. Which resume would you look at first?"

About

Resume Builder is a free open-source project that allows anyone to easily maintain and build any kind of resume using Google Spreadsheets. This was develop as a personal project to help a friend who was struggling spending up to an hour to make a custom resumes. TRY IT NOW.

Older versions: V1, V2 and V3.

Features

JSON Resume Schema

This project uses the jsonresume/resume-schema v1.0.0, but due to a need to extend some of it's features, we also added 4 new fields:

  • __translation__ to translate template keys.
  • coverLetter to add your own Cover Letter template.
  • work[].keywords to add keywords to your work experience.
  • enableSourceDataDownload to allow the JSON data to be downloaded from the resume itself.

Build your resume from scratch

Don't have a JSON or don't fill like filling up a spreadsheet? No problem! You can make your resume from scratch by filling up some fields, and then you can download it as a JSON to use it later with this app or others.

Online viewer

Create a GitHub repo like this one with the name resume.json and a file called resume.json in a branch called main and following the JSON schema from github.com/jsonresume/resume-schema v1.0.0.

Then you can access your resume via https://resume-builder.js.org/view/TEMPLATE/GITHUB_USER, for example this URL: https://resume-builder.js.org/view/default/blopa. You can also append /lang to the end of the URL to add a proper translation to your resume, for example https://resume-builder.js.org/view/default/blopa/es.

Cover Letter Editor

Now you can edit your own Cover Letter by using mustache.js bracket variables, for example:

With the text This is a cover letter for {{company}}, you will be able to edit the word company dynamically by typing another word in the variable input in the sidebar:

ScreenShot

Check the gif below for more details

Available Translations

We currently have translations for English, Spanish and Brazilian Portuguese, those are going to be used to translate sections of your resume, like the title "Publications", etc.

Don't like the way a translation key is translated? For example, you might prefer using "Projects" instead of "Publications".

Simply add a custom __translations__ object to your resume.json file with the keys you would like to translate and their new translation, for example:

{
  "__translation__": {
    "publications": "Projects",
    "education": "Study"
  }
}

You can also add it to your spreadsheet by creating columns with the value __translation__, like:

ScreenShot

Would you like to have your language added to Resume Builder? Create a Pull Request.

Usage

First of all you need to create a Google Spreadsheet following the same rules as this one (you can make a copy if you like) and populate with your resume information.

  • name: Your full name
  • label: Your resume Job Title
  • picture: A URL for your picture
  • summary: Summary of yourself
  • url: Your website URL
  • email: Your email
  • phone: Your phone number
  • address: Your address
  • postalCode: Your postal code
  • city: City where you're located
  • region: Region where you're located
  • countryCode: Country code where you're located
  • network: Social media name
  • username: Social media username
  • coverLetter: Your cover letter template
  • translation: Add your custom translations

Please make sure to publish your Spreadsheet to the web, otherwise it won't work.

Libraries

So a big thanks to all the developers that worked really hard on these libs and make our day easier :D.

Development

Run npm run start and access the website on http://localhost:8000

Deployment

Run npm run build then copy the public/ folder into your website root directory. Done.

Example

The following JSON is a result of this Google Spreadsheet. For a better view of the JSON click here.

{
  "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
  "coverLetter": "Some text with {{some}} custom {{variable}}, cool {{cool}} and now a {{superDuperBigVariable}}",
  "basics": {
    "name": "Richard Hendriks",
    "label": "Programmer",
    "image": "https://i.pravatar.cc/150?img=8",
    "email": "[email protected]",
    "phone": "(912) 555-4321",
    "url": "http://richardhendricks.example.com",
    "summary": "Richard hails from Tulsa. He has earned degrees from the University of Oklahoma and Stanford. (Go Sooners and Cardinal!) Before starting Pied Piper, he worked for Hooli as a part time software developer. While his work focuses on applied information theory, mostly optimizing lossless compression schema of both the length-limited and adaptive variants, his non-work interests range widely, everything from quantum computing to chaos theory. He could tell you about it, but THAT would NOT be a “length-limited” conversation!",
    "location": {
      "address": "2712 Broadway St",
      "postalCode": "CA 94115",
      "city": "San Francisco",
      "countryCode": "US",
      "region": "California"
    },
    "profiles": [
      {
        "network": "Twitter",
        "username": "neutralthoughts",
        "url": ""
      },
      {
        "network": "SoundCloud",
        "username": "dandymusicnl",
        "url": "https://soundcloud.example.com/dandymusicnl"
      }
    ]
  },
  "work": [
    {
      "name": "Pied Piper",
      "location": "Palo Alto, CA",
      "description": "Awesome compression company",
      "position": "CEO/President",
      "url": "http://piedpiper.example.com",
      "startDate": "2013-12-01",
      "endDate": "2014-12-01",
      "summary": "Pied Piper is a multi-platform technology based on a proprietary universal compression algorithm that has consistently fielded high Weisman Scores™ that are not merely competitive, but approach the theoretical limit of lossless compression.",
      "highlights": [
        "Build an algorithm for artist to detect if their music was violating copy right infringement laws",
        "Successfully won Techcrunch Disrupt",
        "Optimized an algorithm that holds the current world record for Weisman Scores"
      ],
      "keywords": [
        "Javascript",
        "React"
      ]
    }
  ],
  "volunteer": [
    {
      "organization": "CoderDojo",
      "position": "Teacher",
      "url": "http://coderdojo.example.com/",
      "startDate": "2012-01-01",
      "endDate": "2013-01-01",
      "summary": "Global movement of free coding clubs for young people.",
      "highlights": [
        "Awarded 'Teacher of the Month'"
      ]
    }
  ],
  "education": [
    {
      "institution": "University of Oklahoma",
      "url": "https://www.ou.edu/",
      "area": "Information Technology",
      "studyType": "Bachelor",
      "startDate": "2011-06-01",
      "endDate": "2014-01-01",
      "score": "4.0",
      "courses": [
        "DB1101 - Basic SQL",
        "CS2011 - Java Introduction"
      ]
    }
  ],
  "awards": [
    {
      "title": "Digital Compression Pioneer Award",
      "date": "2014-11-01",
      "awarder": "Techcrunch",
      "summary": "There is no spoon."
    }
  ],
  "publications": [
    {
      "name": "Video compression for 3d media",
      "publisher": "Hooli",
      "releaseDate": "2014-10-01",
      "url": "http://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)",
      "summary": "Innovative middle-out compression algorithm that changes the way we store data."
    },
    {
      "name": "Video compression for 3d media part 2",
      "publisher": "Hooli",
      "releaseDate": "2015-10-01",
      "url": "http://hooli.com",
      "summary": "Innovative middle-out compression algorithm that changes the way we store data. Again!"
    }
  ],
  "skills": [
    {
      "name": "Web Development",
      "level": "Master",
      "keywords": [
        "HTML",
        "CSS",
        "Javascript"
      ]
    },
    {
      "name": "Compression",
      "level": "Master",
      "keywords": [
        "Mpeg",
        "MP4",
        "GIF"
      ]
    }
  ],
  "languages": [
    {
      "language": "English",
      "fluency": "Native speaker"
    }
  ],
  "interests": [
    {
      "name": "Wildlife",
      "keywords": [
        "Ferrets",
        "Unicorns"
      ]
    }
  ],
  "references": [
    {
      "name": "Erlich Bachman",
      "reference": "It is my pleasure to recommend Richard, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company."
    }
  ],
  "projects": [
    {
      "name": "Miss Direction",
      "description": "A mapping engine that misguides you",
      "highlights": [
        "Won award at AIHacks 2016",
        "Built by all women team of newbie programmers",
        "Using modern technologies such as GoogleMaps, Chrome Extension and Javascript"
      ],
      "keywords": [
        "GoogleMaps",
        "Chrome Extension",
        "Javascript"
      ],
      "startDate": "2016-08-24",
      "endDate": "2016-08-24",
      "url": "missdirection.example.com",
      "roles": [
        "Team lead",
        "Designer"
      ],
      "entity": "Smoogle",
      "type": "application"
    }
  ],
  "__translation__": {
    "awards": "Prizes",
    "volunteers": "Volunteers",
    "skills": "Skills",
    "references": "References",
    "publications": "Publications",
    "languages": "Languages",
    "interests": "Interests",
    "education": "Study",
    "summary": "Summary",
    "experience": "Experience",
    "at": "at"
  },
  "enableSourceDataDownload": true
}

Screenshot

Google Spreadsheet example ScreenShot

Built Resume ScreenShot

Printing Resume ScreenShot

Release Notes

  • v4.0.11:
    • Bump NPM packages versions.
  • v4.0.10:
    • Replace gatsby-plugin-intl for gatsby-plugin-react-intl.
  • v4.0.9:
    • Bump NPM packages versions.
  • v4.0.8:
    • Add cover letter field to the resume builder forms.
    • Add param to the build page to go directly to a specific form.
  • v4.0.7:
    • Fix builder page translations.
    • Add more Spanish translations (Thanks Leandro).
  • v4.0.6:
    • Create form to create a JSON resume from scratch
    • Add theme switcher in the sidebar
  • v4.0.5:
    • Fix profiles not being parsed correctly from the Spreadsheet
    • Fix parsing Google Spreadsheet (but you need to publish it to the web to work)
  • v4.0.4:
    • Error 404: Release not found
    • Sorry I had to make this joke...
  • v4.0.3:
    • Add toggler for keywords and highlights on the sidebar.
    • Bump Gatsby and plugins to 3.5.
    • Big refactor on the global state.
    • Data disabled from the spreadsheet can now be enabled via the sidebar.
    • Downloaded JSON resume will only contain enabled data.
  • v4.0.2:
    • Filter out resume templates that are not ready yet.
    • Add download link to download the JSON data.
    • Fix resume viewer.
    • Add missing fields on work and projects.
    • Small layout fixes in the "Default" template.
    • Arrays from the spreadsheet are now parsed using ';' instead of ','.
  • v4.0.1:
    • Add visual cue to the cover letter variables.
  • v4.0.0:
    • Fix page break between title and items using a dirty hack (but hey it works).
    • Add cover letter editor.
    • Update JSON Schema to v1.0.0.
    • Update Gatsby to v3.

Complete Release Notes here

Thanks to

F.A.Q.

Q: Can you implement <???> function?

A: I can try. Open an issue, and I'll see what I can do.

Q: Your project is awesome. How can I help?

A: Thank you! You can help by codding more features, creating pull requests, or donating via https://bunq.me/BuyMeASoda

TODO

  • Fix all TODOs in the code
  • Add proptypes to the components
  • Add documentation on how to create new templates
  • Add form to manually add resume data
  • Add support for Redux Tools extension
  • Use https://github.com/MrRio/jsPDF
  • Load a JSON resume from any URL
  • Actually create a second template
  • Add unit tests
  • Add list of recent used documents
  • Add option to save a built resume
  • Add check for valid spreadsheet URL on text input
  • Add various missing error handlers
  • Add job offers based on uploaded CV? (check for online APIs)

License

MIT License

Copyright (c) 2021 blopa

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Free Software, Hell Yeah!

More Repositories

1

Magento-Chatbot

Magento Chatbot Integration with Telegram, Messenger, Whatsapp, WeChat, Skype and wit.ai.
PHP
176
star
2

Contract-Builder

Easily build and maintain any kind of contract. Free and Open Source
JavaScript
87
star
3

top-down-react-phaser-game-template

JavaScript
47
star
4

top-down-react-phaser-game

JavaScript
34
star
5

MessengerBotPHP

A very simple PHP Messenger Bot API wrapper for sending messages
PHP
17
star
6

funda-scraper

JavaScript
16
star
7

Magento-Order-Status-Image

A simple way to show to your customer it's order status.
12
star
8

Nexmo-Telegram-Bot

Nexmo integration with Telegram
Python
11
star
9

FreedomPop-Telegram-Bot

A freedompop telegram bot
Python
9
star
10

code-video-creator

JavaScript
7
star
11

envianfe

Algoritmo simples para enviar o o DANFE para o email do XML da nota
PHP
6
star
12

pablo-gg-game

JavaScript
6
star
13

Magento-Better-404

better 404 page for Magento
6
star
14

gotinha

A simple game to challenge your friends for the best score made with Phaser 3
JavaScript
5
star
15

base-phaser-cordova-project

Phaser 3 + Webpack 4 + Cordova 8 boilerplate
JavaScript
5
star
16

etiquetador-magento

Modulo de etiquetas para Magento desenvolvido baseado no módulo do Fabio Santos
PHP
4
star
17

Uber-Telegram-Bot

Uber Telegram Bot
Python
4
star
18

google-fit-telegram

JavaScript
3
star
19

heyer.js

yet another js lib
JavaScript
3
star
20

auto-tasker

HTML
3
star
21

EasyCorreios

Módulo para Magento que popula o banco de dados com informações dos códigos de rastreamento de pedidos do sistema
PHP
3
star
22

Magento-Messenger-Chat

Magento Messenger Chat Integration
PHP
3
star
23

desafio-vtex

JavaScript
2
star
24

magento-autoinvoice

Auto Invoice Shipped Orders
PHP
2
star
25

mecha-mayhem

Best game ever made
JavaScript
2
star
26

manga-converter

When being lazy is the only option
Python
2
star
27

miiverse-to-rss

Simple script that converts JSON data from Miiverse into RSS Feeds
PHP
2
star
28

gatsby-material-ui-blog-starter

Barebones Material UI Blog made with Gatsby
JavaScript
2
star
29

canvas-test

JavaScript
2
star
30

Excuse-Bot

A general Excuse Bot for Telegram
Python
2
star
31

gatsby-markdown-editor

2
star
32

TheUltimateAnswer.js

JavaScript
2
star
33

TradingCardGame-List

JavaScript
2
star
34

Zelda-Timeline

JavaScript
2
star
35

jamstack-url-shortener

This is a basic URL shortner POC build with Gatsby.
JavaScript
1
star
36

phaser-3-generic-platformer

JavaScript
1
star
37

gatsby-remark-local-videos

JavaScript
1
star
38

phaser-3-react-17-typescript-4-webpack-5-template

JavaScript
1
star
39

pablo.gg

HTML
1
star
40

blopa.werules.com

1
star
41

presentation-wheel

HTML
1
star
42

my-brick-breaker-game-test

JavaScript
1
star
43

TCGList

1
star
44

character-generator

JavaScript
1
star
45

my-react-base-project

JavaScript
1
star
46

tic-tac-toe-online

JavaScript
1
star
47

evaluator-4000

HTML
1
star
48

resume.json

1
star
49

gatsby-material-ui-starter

Barebones Material UI Gatsby website with theme toggler
JavaScript
1
star
50

werules.com

1
star
51

kenney-top-down-character-generator

JavaScript
1
star
52

base-webpack-library

JavaScript
1
star
53

blopa.github.io

https://blopa.github.io/
HTML
1
star
54

react-with-phaser

JavaScript
1
star
55

fb-messenger-redirect

HTML
1
star
56

My-Resume-Editor

A simple javascript scraper to togle resume informations
HTML
1
star
57

blopa.dev

JavaScript
1
star
58

musclog-app

Musclog - Lift, Log, Repeat
TypeScript
1
star
59

phaser-3-typescript-4-webpack-5-template

JavaScript
1
star
60

Resume-Builder-V1

HTML
1
star
61

fingerstore.com.br

HTML
1
star
62

vue-url-redirect-POC

HTML
1
star
63

workout-logger

TypeScript
1
star
64

lego-minifigure-scanner

JavaScript
1
star