@jsonresume/schema 1.2.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,28 +1,14 @@
1
1
  # JSON Resume Schema
2
2
 
3
- [![GitHub Releases](https://badgen.net/github/tag/jsonresume/resume-schema)](https://github.com/jsonresume/resume-schema/releases)
4
- [![NPM Release](https://badgen.net/npm/v/resume-schema)](https://www.npmjs.com/package/resume-schema)
5
- [![Latest Status](https://github.com/jsonresume/resume-schema/workflows/Latest/badge.svg)](https://github.com/vanillawc/wc-template/actions)
6
- [![Release Status](https://github.com/jsonresume/resume-schema/workflows/Release/badge.svg)](https://github.com/vanillawc/wc-template/actions)
3
+ [![NPM Release](https://badgen.net/npm/v/@jsonresume/schema)](https://www.npmjs.com/package/@jsonresume/schema)
7
4
 
8
5
  [![](https://dcbadge.limes.pink/api/server/GTZtn8pTXC)](https://discord.gg/GTZtn8pTXC)
9
6
 
10
7
  Standard, Specification, Schema
11
8
 
12
- ## Important Note
9
+ > **Note:** This package now lives in the [jsonresume.org monorepo](https://github.com/jsonresume/jsonresume.org) as `packages/schema` (imported with full history from [jsonresume/resume-schema](https://github.com/jsonresume/resume-schema)). It keeps its npm identity as [`@jsonresume/schema`](https://www.npmjs.com/package/@jsonresume/schema) and is published from this workspace. Please open issues and PRs against the monorepo.
13
10
 
14
- The current working version of the schema is `v1.0.0` that is represented by the `master` branch and the files `schema.json` and `sample.resume.json`.
15
-
16
- All PR's for the next version should be made against the `develop` branch.
17
-
18
- This enforces that the schema package always has the official stable release of the schema.
19
-
20
- ### Homepage and Registry
21
-
22
- If you are looking for the homepage, registry, tooling or themes, see the JSON Resume monorepo
23
-
24
- [@jsonresume/jsonresume.org](https://github.com/jsonresume/jsonresume.org/)
25
-
11
+ The current stable schema is represented by the files `schema.json` and `sample.resume.json`.
26
12
 
27
13
  ### Getting started
28
14
 
@@ -52,8 +38,8 @@ resumeSchema.validate(
52
38
  Or against a full `resume.json`
53
39
 
54
40
  ```js
55
- import fs = require('fs');
56
- import schema from 'resume-schema';
41
+ const fs = require('fs');
42
+ const resumeSchema = require('@jsonresume/schema');
57
43
  const resumeObject = JSON.parse(fs.readFileSync('./resume.json', 'utf8'));
58
44
  resumeSchema.validate(resumeObject);
59
45
  ```
@@ -61,12 +47,12 @@ resumeSchema.validate(resumeObject);
61
47
  The JSON Resume schema is available from:
62
48
 
63
49
  ```js
64
- require("resume-schema").schema;
50
+ require('@jsonresume/schema').schema;
65
51
  ```
66
52
 
67
53
  ### Contribute
68
54
 
69
- We encourage anyone who's interested in participating in the formation of this standard to join the discussions [here on GitHub](https://github.com/jsonresume/resume-schema/issues). Also feel free to fork this project and submit new ideas to add to the JSON Resume Schema standard. To make sure all formatting is kept in check, please install the [EditorConfig plugin](http://editorconfig.org/) for your editor of choice.
55
+ We encourage anyone who's interested in participating in the formation of this standard to join the discussions [here on GitHub](https://github.com/jsonresume/jsonresume.org/issues). Also feel free to fork this project and submit new ideas to add to the JSON Resume Schema standard. To make sure all formatting is kept in check, please install the [EditorConfig plugin](http://editorconfig.org/) for your editor of choice.
70
56
 
71
57
  ### Versioning
72
58
 
@@ -79,14 +65,7 @@ a major-version release. As a result of this policy, you can (and should)
79
65
  specify any dependency on JSON Resume Schema by using the Pessimistic Version
80
66
  Constraint with two digits of precision.
81
67
 
82
- We use automatic semver system.
83
-
84
- Pull requests titles should be formatted as such
85
-
86
- ```
87
- "fix: added something" - will bump the patch version
88
- "feat: added something" - will bump the minor version
89
- ```
68
+ Releases are managed from the monorepo with [Changesets](https://github.com/changesets/changesets). Add a changeset describing your change and the appropriate version bump (`patch`/`minor`/`major`) in the same pull request.
90
69
 
91
70
  `major` version bumps will be few and far between for this schema.
92
71
 
@@ -97,7 +76,7 @@ A draft schema for job descriptions is available in this project as well. It is
97
76
  The JSON Job schema is available from:
98
77
 
99
78
  ```js
100
- require("resume-schema").jobSchema;
79
+ require('@jsonresume/schema').jobSchema;
101
80
  ```
102
81
 
103
82
  ### Other resume standards
@@ -0,0 +1,186 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
3
+ "basics": {
4
+ "name": "Daniel Reyes",
5
+ "label": "Junior Data Analyst (former Restaurant Manager)",
6
+ "image": "",
7
+ "email": "daniel.reyes@example.com",
8
+ "phone": "(512) 555-0188",
9
+ "url": "https://danielreyes.example.com",
10
+ "summary": "After eight years running high-volume restaurants, I retrained as a data analyst to turn my instinct for operations into measurable impact. I completed a part-time analytics bootcamp and three certifications while still working full time, and I now combine SQL, Python, and dashboarding with hard-won people-and-process experience. I'm looking for a first analytics role on a team that values curiosity and an owner's mindset.",
11
+ "location": {
12
+ "address": "920 Lavaca Street",
13
+ "postalCode": "78701",
14
+ "city": "Austin",
15
+ "countryCode": "US",
16
+ "region": "Texas"
17
+ },
18
+ "profiles": [
19
+ {
20
+ "network": "LinkedIn",
21
+ "username": "danielreyesdata",
22
+ "url": "https://www.linkedin.com/in/danielreyesdata"
23
+ },
24
+ {
25
+ "network": "GitHub",
26
+ "username": "dreyes-data",
27
+ "url": "https://github.com/dreyes-data"
28
+ }
29
+ ]
30
+ },
31
+ "work": [
32
+ {
33
+ "name": "Freelance",
34
+ "location": "Austin, TX",
35
+ "description": "Independent analytics consulting",
36
+ "position": "Data Analyst (Contract)",
37
+ "startDate": "2024-08-01",
38
+ "endDate": "2025-04-01",
39
+ "summary": "Took on small analytics engagements for local hospitality businesses while transitioning careers.",
40
+ "highlights": [
41
+ "Built a Looker Studio sales dashboard for a 3-location cafe group, surfacing a 12% margin gap by daypart",
42
+ "Wrote SQL models in dbt to standardize point-of-sale data across vendors",
43
+ "Automated weekly reporting that saved owners roughly 5 hours per week"
44
+ ]
45
+ },
46
+ {
47
+ "name": "Salt & Cedar Restaurant Group",
48
+ "location": "Austin, TX",
49
+ "description": "Regional restaurant group, four locations",
50
+ "position": "General Manager",
51
+ "startDate": "2018-03-01",
52
+ "endDate": "2024-07-01",
53
+ "summary": "Ran daily operations, staffing, and P&L for a flagship 120-seat restaurant.",
54
+ "highlights": [
55
+ "Grew annual revenue 28% over three years while holding food cost flat",
56
+ "Introduced a spreadsheet-driven scheduling model that cut overtime spend by 18%",
57
+ "Hired, trained, and retained a team of 35 across front and back of house"
58
+ ]
59
+ },
60
+ {
61
+ "name": "Café Lumen",
62
+ "location": "Austin, TX",
63
+ "description": "Independent neighborhood cafe",
64
+ "position": "Shift Supervisor",
65
+ "startDate": "2016-01-01",
66
+ "endDate": "2018-02-01",
67
+ "summary": "Led service shifts and managed inventory ordering.",
68
+ "highlights": [
69
+ "Reduced waste 9% by tightening par-level ordering",
70
+ "Trained six baristas who were later promoted"
71
+ ]
72
+ }
73
+ ],
74
+ "volunteer": [
75
+ {
76
+ "organization": "Central Texas Food Bank",
77
+ "position": "Data Volunteer",
78
+ "url": "https://www.centraltexasfoodbank.org/",
79
+ "startDate": "2024-02-01",
80
+ "endDate": "2025-03-01",
81
+ "summary": "Helped the operations team make sense of distribution data.",
82
+ "highlights": [
83
+ "Cleaned and consolidated three years of distribution spreadsheets into a single queryable dataset",
84
+ "Built a monthly volunteer-hours report adopted by the program director"
85
+ ]
86
+ },
87
+ {
88
+ "organization": "Austin Free-Net",
89
+ "position": "Digital Literacy Tutor",
90
+ "url": "https://www.austinfree.net/",
91
+ "startDate": "2023-09-01",
92
+ "endDate": "2024-06-01",
93
+ "summary": "Taught spreadsheet and internet basics to adults re-entering the workforce.",
94
+ "highlights": ["Ran weekly Excel workshops for groups of 8-10 learners"]
95
+ }
96
+ ],
97
+ "education": [
98
+ {
99
+ "institution": "Austin Community College",
100
+ "url": "https://www.austincc.edu/",
101
+ "area": "Business Administration",
102
+ "studyType": "Associate of Applied Science",
103
+ "startDate": "2012-09-01",
104
+ "endDate": "2014-05-01",
105
+ "score": "3.5/4.0",
106
+ "courses": [
107
+ "Statistics",
108
+ "Managerial Accounting",
109
+ "Operations Management"
110
+ ]
111
+ }
112
+ ],
113
+ "certificates": [
114
+ {
115
+ "name": "Google Data Analytics Professional Certificate",
116
+ "date": "2024-05-01",
117
+ "issuer": "Google / Coursera",
118
+ "url": "https://www.coursera.org/professional-certificates/google-data-analytics"
119
+ },
120
+ {
121
+ "name": "Databases and SQL for Data Science",
122
+ "date": "2024-09-01",
123
+ "issuer": "IBM / Coursera",
124
+ "url": "https://www.coursera.org/learn/sql-data-science"
125
+ },
126
+ {
127
+ "name": "Tableau Desktop Specialist",
128
+ "date": "2025-01-01",
129
+ "issuer": "Tableau",
130
+ "url": "https://www.tableau.com/learn/certification/desktop-specialist"
131
+ }
132
+ ],
133
+ "skills": [
134
+ {
135
+ "name": "Data Analysis",
136
+ "level": "Intermediate",
137
+ "keywords": ["SQL", "Python", "pandas", "dbt", "Excel"]
138
+ },
139
+ {
140
+ "name": "Data Visualization",
141
+ "level": "Intermediate",
142
+ "keywords": ["Tableau", "Looker Studio", "Matplotlib"]
143
+ },
144
+ {
145
+ "name": "Operations & Leadership",
146
+ "level": "Advanced",
147
+ "keywords": [
148
+ "P&L management",
149
+ "Scheduling",
150
+ "Team training",
151
+ "Vendor negotiation"
152
+ ]
153
+ }
154
+ ],
155
+ "languages": [
156
+ {
157
+ "language": "English",
158
+ "fluency": "Native speaker"
159
+ },
160
+ {
161
+ "language": "Spanish",
162
+ "fluency": "Native speaker"
163
+ }
164
+ ],
165
+ "interests": [
166
+ {
167
+ "name": "Home Cooking",
168
+ "keywords": ["Fermentation", "Bread baking"]
169
+ },
170
+ {
171
+ "name": "Cycling",
172
+ "keywords": ["Gravel", "Commuting"]
173
+ }
174
+ ],
175
+ "references": [
176
+ {
177
+ "name": "Priya Natarajan, Owner, Salt & Cedar Restaurant Group",
178
+ "reference": "Daniel ran our busiest location with a steady hand and a relentless focus on the numbers. When he started teaching himself SQL on nights off, none of us were surprised. He turns data into decisions."
179
+ }
180
+ ],
181
+ "meta": {
182
+ "canonical": "https://danielreyes.example.com/resume.json",
183
+ "version": "v1.0.0",
184
+ "lastModified": "2025-04-20T14:30:00"
185
+ }
186
+ }
@@ -0,0 +1,162 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
3
+ "basics": {
4
+ "name": "Maya Okonkwo",
5
+ "label": "Computer Science Graduate",
6
+ "image": "",
7
+ "email": "maya.okonkwo@example.com",
8
+ "phone": "(206) 555-0142",
9
+ "url": "https://mayaokonkwo.example.com",
10
+ "summary": "Recent computer science graduate with a focus on distributed systems and machine learning. Two summer internships building production web services, plus a capstone project deployed for 400+ campus users. Eager to join an engineering team where I can keep learning from senior mentors while shipping real features.",
11
+ "location": {
12
+ "address": "417 Maple Avenue, Apt 6",
13
+ "postalCode": "98105",
14
+ "city": "Seattle",
15
+ "countryCode": "US",
16
+ "region": "Washington"
17
+ },
18
+ "profiles": [
19
+ {
20
+ "network": "GitHub",
21
+ "username": "mayaokonkwo",
22
+ "url": "https://github.com/mayaokonkwo"
23
+ },
24
+ {
25
+ "network": "LinkedIn",
26
+ "username": "maya-okonkwo",
27
+ "url": "https://www.linkedin.com/in/maya-okonkwo"
28
+ }
29
+ ]
30
+ },
31
+ "education": [
32
+ {
33
+ "institution": "University of Washington",
34
+ "url": "https://www.washington.edu/",
35
+ "area": "Computer Science",
36
+ "studyType": "Bachelor of Science",
37
+ "startDate": "2021-09-01",
38
+ "endDate": "2025-06-01",
39
+ "score": "3.81/4.0",
40
+ "courses": [
41
+ "CSE 451 - Operating Systems",
42
+ "CSE 444 - Database Systems",
43
+ "CSE 446 - Machine Learning",
44
+ "CSE 461 - Computer Networks",
45
+ "CSE 421 - Algorithms"
46
+ ]
47
+ }
48
+ ],
49
+ "work": [
50
+ {
51
+ "name": "Outreach",
52
+ "location": "Seattle, WA",
53
+ "description": "Sales engagement platform",
54
+ "position": "Software Engineering Intern",
55
+ "url": "https://www.outreach.io/",
56
+ "startDate": "2024-06-01",
57
+ "endDate": "2024-09-01",
58
+ "summary": "Joined the platform infrastructure team to improve internal developer tooling.",
59
+ "highlights": [
60
+ "Built a service-health dashboard in React and TypeScript adopted by three on-call teams",
61
+ "Cut local test-suite runtime by 35% by parallelizing integration fixtures",
62
+ "Wrote the onboarding runbook used by the next intern cohort"
63
+ ]
64
+ },
65
+ {
66
+ "name": "Allen Institute for AI",
67
+ "location": "Seattle, WA",
68
+ "description": "Non-profit AI research institute",
69
+ "position": "Research Intern",
70
+ "url": "https://allenai.org/",
71
+ "startDate": "2023-06-01",
72
+ "endDate": "2023-09-01",
73
+ "summary": "Supported an NLP research group evaluating retrieval-augmented question answering.",
74
+ "highlights": [
75
+ "Implemented a reproducible evaluation harness in Python for three benchmark datasets",
76
+ "Reduced experiment turnaround from hours to minutes by caching intermediate embeddings"
77
+ ]
78
+ }
79
+ ],
80
+ "projects": [
81
+ {
82
+ "name": "DormSwap",
83
+ "description": "A campus marketplace for students to buy, sell, and trade dorm essentials.",
84
+ "highlights": [
85
+ "Deployed to 400+ active students across two residence halls",
86
+ "Built with Next.js, PostgreSQL, and Prisma on Vercel",
87
+ "Designed an image-moderation flow to keep listings safe"
88
+ ],
89
+ "keywords": ["Next.js", "PostgreSQL", "Prisma", "Vercel"],
90
+ "startDate": "2024-09-01",
91
+ "endDate": "2025-05-01",
92
+ "url": "https://dormswap.example.com",
93
+ "roles": ["Full-stack developer", "Team lead"],
94
+ "entity": "University of Washington Capstone",
95
+ "type": "application"
96
+ },
97
+ {
98
+ "name": "gradient-viz",
99
+ "description": "An interactive visualizer that animates gradient descent over 2D loss surfaces.",
100
+ "highlights": [
101
+ "Open-sourced with 120+ GitHub stars",
102
+ "Renders surfaces in WebGL with adjustable learning-rate controls"
103
+ ],
104
+ "keywords": ["WebGL", "JavaScript", "Machine Learning"],
105
+ "startDate": "2024-01-01",
106
+ "endDate": "2024-03-01",
107
+ "url": "https://github.com/mayaokonkwo/gradient-viz",
108
+ "roles": ["Author"],
109
+ "type": "application"
110
+ }
111
+ ],
112
+ "skills": [
113
+ {
114
+ "name": "Programming Languages",
115
+ "level": "Intermediate",
116
+ "keywords": ["Python", "TypeScript", "Java", "Go", "SQL"]
117
+ },
118
+ {
119
+ "name": "Web Development",
120
+ "level": "Intermediate",
121
+ "keywords": ["React", "Next.js", "Node.js", "REST APIs"]
122
+ },
123
+ {
124
+ "name": "Data & Infrastructure",
125
+ "level": "Beginner",
126
+ "keywords": ["PostgreSQL", "Docker", "Git", "AWS"]
127
+ }
128
+ ],
129
+ "awards": [
130
+ {
131
+ "title": "Dean's List",
132
+ "date": "2024-12-01",
133
+ "awarder": "University of Washington",
134
+ "summary": "Recognized for academic excellence across four consecutive quarters."
135
+ }
136
+ ],
137
+ "languages": [
138
+ {
139
+ "language": "English",
140
+ "fluency": "Native speaker"
141
+ },
142
+ {
143
+ "language": "Igbo",
144
+ "fluency": "Conversational"
145
+ }
146
+ ],
147
+ "interests": [
148
+ {
149
+ "name": "Open Source",
150
+ "keywords": ["Hacktoberfest", "Documentation"]
151
+ },
152
+ {
153
+ "name": "Rock Climbing",
154
+ "keywords": ["Bouldering", "Top rope"]
155
+ }
156
+ ],
157
+ "meta": {
158
+ "canonical": "https://mayaokonkwo.example.com/resume.json",
159
+ "version": "v1.0.0",
160
+ "lastModified": "2025-06-15T09:00:00"
161
+ }
162
+ }
@@ -0,0 +1,216 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json",
3
+ "basics": {
4
+ "name": "Dr. Lena Vasquez",
5
+ "label": "Staff Software Engineer, Distributed Systems",
6
+ "image": "",
7
+ "email": "lena.vasquez@example.com",
8
+ "phone": "(415) 555-0117",
9
+ "url": "https://lenavasquez.example.com",
10
+ "summary": "Staff engineer with 14 years building large-scale distributed storage and streaming systems. I lead cross-team technical direction, mentor senior engineers, and still spend most of my week in the codebase. My work spans consensus protocols, multi-region data replication, and the boring-but-critical operability that keeps petabyte-scale systems healthy.",
11
+ "location": {
12
+ "address": "88 Harrison Street, Unit 1402",
13
+ "postalCode": "94105",
14
+ "city": "San Francisco",
15
+ "countryCode": "US",
16
+ "region": "California"
17
+ },
18
+ "profiles": [
19
+ {
20
+ "network": "GitHub",
21
+ "username": "lvasquez",
22
+ "url": "https://github.com/lvasquez"
23
+ },
24
+ {
25
+ "network": "Mastodon",
26
+ "username": "lena",
27
+ "url": "https://hachyderm.io/@lena"
28
+ },
29
+ {
30
+ "network": "LinkedIn",
31
+ "username": "lena-vasquez-eng",
32
+ "url": "https://www.linkedin.com/in/lena-vasquez-eng"
33
+ }
34
+ ]
35
+ },
36
+ "work": [
37
+ {
38
+ "name": "Confluent",
39
+ "location": "Mountain View, CA",
40
+ "description": "Data streaming platform built on Apache Kafka",
41
+ "position": "Staff Software Engineer",
42
+ "url": "https://www.confluent.io/",
43
+ "startDate": "2020-02-01",
44
+ "summary": "Technical lead for the multi-region replication and tiered-storage initiatives.",
45
+ "highlights": [
46
+ "Designed the tiered-storage architecture that offloaded 80% of broker disk usage to object stores",
47
+ "Led a six-engineer working group to ship active-active cluster linking across three cloud regions",
48
+ "Cut p99 produce latency 40% by reworking the replication fetch path",
49
+ "Authored the internal design-review rubric now used org-wide"
50
+ ]
51
+ },
52
+ {
53
+ "name": "Dropbox",
54
+ "location": "San Francisco, CA",
55
+ "description": "Cloud storage and collaboration",
56
+ "position": "Senior Software Engineer",
57
+ "url": "https://www.dropbox.com/",
58
+ "startDate": "2015-06-01",
59
+ "endDate": "2020-01-01",
60
+ "summary": "Worked on Magic Pocket, Dropbox's exabyte-scale custom storage system.",
61
+ "highlights": [
62
+ "Built the erasure-coding pipeline that reduced storage cost per byte by 25%",
63
+ "Owned the cross-zone repair scheduler responsible for durability SLAs",
64
+ "Mentored four engineers, two of whom were promoted to senior"
65
+ ]
66
+ },
67
+ {
68
+ "name": "Rackspace",
69
+ "location": "San Antonio, TX",
70
+ "description": "Managed cloud hosting provider",
71
+ "position": "Software Engineer",
72
+ "url": "https://www.rackspace.com/",
73
+ "startDate": "2011-08-01",
74
+ "endDate": "2015-05-01",
75
+ "summary": "Contributed to OpenStack Swift, the open-source object storage project.",
76
+ "highlights": [
77
+ "Implemented container-sync replication improvements upstreamed to OpenStack Swift",
78
+ "Reduced cluster rebalance time by redesigning the ring-builder partition assignment"
79
+ ]
80
+ }
81
+ ],
82
+ "education": [
83
+ {
84
+ "institution": "University of Texas at Austin",
85
+ "url": "https://www.utexas.edu/",
86
+ "area": "Computer Science",
87
+ "studyType": "Ph.D.",
88
+ "startDate": "2006-09-01",
89
+ "endDate": "2011-06-01",
90
+ "score": "Dissertation: Consistency Trade-offs in Geo-Replicated Key-Value Stores"
91
+ },
92
+ {
93
+ "institution": "University of Texas at Austin",
94
+ "url": "https://www.utexas.edu/",
95
+ "area": "Computer Science",
96
+ "studyType": "Bachelor of Science",
97
+ "startDate": "2002-09-01",
98
+ "endDate": "2006-05-01",
99
+ "score": "3.9/4.0"
100
+ }
101
+ ],
102
+ "publications": [
103
+ {
104
+ "name": "Bounded Staleness for Geo-Replicated Key-Value Stores",
105
+ "publisher": "USENIX OSDI",
106
+ "releaseDate": "2014-10-01",
107
+ "url": "https://www.usenix.org/conference/osdi14",
108
+ "summary": "A tunable consistency model that bounds replica staleness while preserving low write latency across regions."
109
+ },
110
+ {
111
+ "name": "Operating Tiered Storage at Streaming Scale",
112
+ "publisher": "ACM Queue",
113
+ "releaseDate": "2022-07-01",
114
+ "url": "https://queue.acm.org/",
115
+ "summary": "Lessons from offloading streaming log segments to object storage without sacrificing read latency."
116
+ }
117
+ ],
118
+ "awards": [
119
+ {
120
+ "title": "Best Paper Award",
121
+ "date": "2014-10-01",
122
+ "awarder": "USENIX OSDI",
123
+ "summary": "Recognized for the geo-replication consistency model paper."
124
+ },
125
+ {
126
+ "title": "Distinguished Engineer Spotlight",
127
+ "date": "2021-12-01",
128
+ "awarder": "Confluent",
129
+ "summary": "Internal recognition for technical leadership on the tiered-storage launch."
130
+ }
131
+ ],
132
+ "certificates": [
133
+ {
134
+ "name": "AWS Certified Solutions Architect - Professional",
135
+ "date": "2019-03-01",
136
+ "issuer": "Amazon Web Services",
137
+ "url": "https://aws.amazon.com/certification/certified-solutions-architect-professional/"
138
+ }
139
+ ],
140
+ "skills": [
141
+ {
142
+ "name": "Distributed Systems",
143
+ "level": "Master",
144
+ "keywords": [
145
+ "Consensus",
146
+ "Replication",
147
+ "Erasure coding",
148
+ "Consistency models"
149
+ ]
150
+ },
151
+ {
152
+ "name": "Programming Languages",
153
+ "level": "Master",
154
+ "keywords": ["Go", "Rust", "Java", "Python", "C++"]
155
+ },
156
+ {
157
+ "name": "Infrastructure",
158
+ "level": "Advanced",
159
+ "keywords": ["Kafka", "Kubernetes", "Terraform", "Prometheus", "S3"]
160
+ }
161
+ ],
162
+ "languages": [
163
+ {
164
+ "language": "English",
165
+ "fluency": "Native speaker"
166
+ },
167
+ {
168
+ "language": "Spanish",
169
+ "fluency": "Fluent"
170
+ },
171
+ {
172
+ "language": "Portuguese",
173
+ "fluency": "Professional working proficiency"
174
+ }
175
+ ],
176
+ "projects": [
177
+ {
178
+ "name": "raft-lab",
179
+ "description": "A teaching implementation of the Raft consensus protocol with a deterministic network simulator.",
180
+ "highlights": [
181
+ "Used in a graduate distributed-systems course at two universities",
182
+ "Includes a fault-injection harness for partition and clock-skew scenarios"
183
+ ],
184
+ "keywords": ["Go", "Raft", "Consensus"],
185
+ "startDate": "2019-01-01",
186
+ "url": "https://github.com/lvasquez/raft-lab",
187
+ "roles": ["Author", "Maintainer"],
188
+ "type": "application"
189
+ }
190
+ ],
191
+ "interests": [
192
+ {
193
+ "name": "Mentoring",
194
+ "keywords": ["Conference speaking", "Open source"]
195
+ },
196
+ {
197
+ "name": "Cartography",
198
+ "keywords": ["Topographic maps", "GIS"]
199
+ }
200
+ ],
201
+ "references": [
202
+ {
203
+ "name": "Marcus Feng, Engineering Director at Confluent",
204
+ "reference": "Lena is the engineer other staff engineers go to. She has a rare ability to hold an entire distributed system in her head and still write the cleanest pull request on the team. Her design reviews raised the bar for the whole org."
205
+ },
206
+ {
207
+ "name": "Dr. Anita Bose, Professor of Computer Science, UT Austin",
208
+ "reference": "Lena was among the strongest doctoral students I have advised. Her OSDI paper continues to be cited, and she has the unusual gift of making hard systems ideas legible to students."
209
+ }
210
+ ],
211
+ "meta": {
212
+ "canonical": "https://lenavasquez.example.com/resume.json",
213
+ "version": "v1.0.0",
214
+ "lastModified": "2025-03-02T11:15:00"
215
+ }
216
+ }
package/job-schema.json CHANGED
@@ -1,141 +1,133 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-04/schema#",
3
- "additionalProperties": true,
4
- "definitions": {
5
- "iso8601": {
6
- "type": "string",
7
- "description": "Similar to the standard date type, but each section after the year is optional. e.g. 2014-06-29 or 2023-04",
8
- "pattern": "^([1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]|[1-2][0-9]{3}-[0-1][0-9]|[1-2][0-9]{3})$"
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "additionalProperties": true,
4
+ "definitions": {
5
+ "iso8601": {
6
+ "type": "string",
7
+ "description": "Similar to the standard date type, but each section after the year is optional. e.g. 2014-06-29 or 2023-04",
8
+ "pattern": "^([1-2][0-9]{3}-[0-1][0-9]-[0-3][0-9]|[1-2][0-9]{3}-[0-1][0-9]|[1-2][0-9]{3})$"
9
+ }
10
+ },
11
+ "properties": {
12
+ "title": {
13
+ "type": "string",
14
+ "description": "e.g. Web Developer"
15
+ },
16
+ "company": {
17
+ "type": "string",
18
+ "description": "Microsoft"
19
+ },
20
+ "type": {
21
+ "type": "string",
22
+ "description": "Full-time, part-time, contract, etc."
23
+ },
24
+ "date": {
25
+ "$ref": "#/definitions/iso8601"
26
+ },
27
+ "description": {
28
+ "type": "string",
29
+ "description": "Write a short description about the job"
30
+ },
31
+ "location": {
32
+ "type": "object",
33
+ "additionalProperties": true,
34
+ "properties": {
35
+ "address": {
36
+ "type": "string",
37
+ "description": "To add multiple address lines, use \\n. For example, 1234 Glücklichkeit Straße\\nHinterhaus 5. Etage li."
38
+ },
39
+ "postalCode": {
40
+ "type": "string"
41
+ },
42
+ "city": {
43
+ "type": "string"
44
+ },
45
+ "countryCode": {
46
+ "type": "string",
47
+ "description": "code as per ISO-3166-1 ALPHA-2, e.g. US, AU, IN"
48
+ },
49
+ "region": {
50
+ "type": "string",
51
+ "description": "The general region where you live. Can be a US state, or a province, for instance."
52
+ }
9
53
  }
10
54
  },
11
- "properties": {
12
- "title": {
13
- "type": "string",
14
- "description": "e.g. Web Developer"
15
- },
16
- "company": {
17
- "type": "string",
18
- "description": "Microsoft"
19
- },
20
- "type": {
55
+ "remote": {
56
+ "type": "string",
57
+ "description": "the level of remote work available",
58
+ "enum": ["Full", "Hybrid", "None"]
59
+ },
60
+ "salary": {
61
+ "type": "string",
62
+ "description": "100000"
63
+ },
64
+ "experience": {
65
+ "type": "string",
66
+ "description": "Senior or Junior or Mid-level"
67
+ },
68
+ "responsibilities": {
69
+ "type": "array",
70
+ "description": "what the job entails",
71
+ "items": {
21
72
  "type": "string",
22
- "description": "Full-time, part-time, contract, etc."
23
- },
24
- "date": {
25
- "$ref": "#/definitions/iso8601"
26
- },
27
- "description": {
73
+ "description": "e.g. Build out a new API for our customer base."
74
+ }
75
+ },
76
+ "qualifications": {
77
+ "type": "array",
78
+ "description": "List out your qualifications",
79
+ "items": {
28
80
  "type": "string",
29
- "description": "Write a short description about the job"
30
- },
31
- "location": {
81
+ "description": "undergraduate degree, etc. "
82
+ }
83
+ },
84
+ "skills": {
85
+ "type": "array",
86
+ "description": "List out your professional skill-set",
87
+ "items": {
32
88
  "type": "object",
33
89
  "additionalProperties": true,
34
90
  "properties": {
35
- "address": {
91
+ "name": {
36
92
  "type": "string",
37
- "description": "To add multiple address lines, use \\n. For example, 1234 Glücklichkeit Straße\\nHinterhaus 5. Etage li."
38
- },
39
- "postalCode": {
40
- "type": "string"
41
- },
42
- "city": {
43
- "type": "string"
93
+ "description": "e.g. Web Development"
44
94
  },
45
- "countryCode": {
95
+ "level": {
46
96
  "type": "string",
47
- "description": "code as per ISO-3166-1 ALPHA-2, e.g. US, AU, IN"
97
+ "description": "e.g. Master"
48
98
  },
49
- "region": {
50
- "type": "string",
51
- "description": "The general region where you live. Can be a US state, or a province, for instance."
52
- }
53
- }
54
- },
55
- "remote": {
56
- "type": "string",
57
- "description": "the level of remote work available",
58
- "enum": [
59
- "Full",
60
- "Hybrid",
61
- "None"
62
- ]
63
- },
64
- "salary": {
65
- "type": "string",
66
- "description": "100000"
67
- },
68
- "experience": {
69
- "type": "string",
70
- "description": "Senior or Junior or Mid-level"
71
- },
72
- "responsibilities": {
73
- "type": "array",
74
- "description": "what the job entails",
75
- "additionalItems": false,
76
- "items": {
77
- "type": "string",
78
- "description": "e.g. Build out a new API for our customer base."
79
- }
80
- },
81
- "qualifications": {
82
- "type": "array",
83
- "description": "List out your qualifications",
84
- "additionalItems": false,
85
- "items": {
86
- "type": "string",
87
- "description": "undergraduate degree, etc. "
88
- }
89
- },
90
- "skills": {
91
- "type": "array",
92
- "description": "List out your professional skill-set",
93
- "additionalItems": false,
94
- "items": {
95
- "type": "object",
96
- "additionalProperties": true,
97
- "properties": {
98
- "name": {
99
- "type": "string",
100
- "description": "e.g. Web Development"
101
- },
102
- "level": {
99
+ "keywords": {
100
+ "type": "array",
101
+ "description": "List some keywords pertaining to this skill",
102
+ "items": {
103
103
  "type": "string",
104
- "description": "e.g. Master"
105
- },
106
- "keywords": {
107
- "type": "array",
108
- "description": "List some keywords pertaining to this skill",
109
- "additionalItems": false,
110
- "items": {
111
- "type": "string",
112
- "description": "e.g. HTML"
113
- }
104
+ "description": "e.g. HTML"
114
105
  }
115
106
  }
116
107
  }
117
- },
118
- "meta": {
119
- "type": "object",
120
- "description": "The schema version and any other tooling configuration lives here",
121
- "additionalProperties": true,
122
- "properties": {
123
- "canonical": {
124
- "type": "string",
125
- "description": "URL (as per RFC 3986) to latest version of this document",
126
- "format": "uri"
127
- },
128
- "version": {
129
- "type": "string",
130
- "description": "A version field which follows semver - e.g. v1.0.0"
131
- },
132
- "lastModified": {
133
- "type": "string",
134
- "description": "Using ISO 8601 with YYYY-MM-DDThh:mm:ss"
135
- }
136
- }
137
108
  }
138
109
  },
139
- "title": "Job Description Schema",
140
- "type": "object"
141
- }
110
+ "meta": {
111
+ "type": "object",
112
+ "description": "The schema version and any other tooling configuration lives here",
113
+ "additionalProperties": true,
114
+ "properties": {
115
+ "canonical": {
116
+ "type": "string",
117
+ "description": "URL (as per RFC 3986) to latest version of this document",
118
+ "format": "uri"
119
+ },
120
+ "version": {
121
+ "type": "string",
122
+ "description": "A version field which follows semver - e.g. v1.0.0"
123
+ },
124
+ "lastModified": {
125
+ "type": "string",
126
+ "description": "Using ISO 8601 with YYYY-MM-DDThh:mm:ss"
127
+ }
128
+ }
129
+ }
130
+ },
131
+ "title": "Job Description Schema",
132
+ "type": "object"
133
+ }
package/package.json CHANGED
@@ -1,41 +1,43 @@
1
1
  {
2
2
  "name": "@jsonresume/schema",
3
- "version": "1.2.1",
3
+ "version": "1.3.1",
4
4
  "description": "JSON Resume Schema",
5
5
  "private": false,
6
6
  "main": "validator.js",
7
- "scripts": {
8
- "test": "npm run validate && npm run test-units",
9
- "validate": "ajv validate -s node_modules/json-metaschema/draft-07-schema -d schema",
10
- "test-units": "tape **/*.spec.js | tap-spec",
11
- "preversion": "npm test",
12
- "postversion": "git push --follow-tags"
13
- },
14
7
  "repository": {
15
8
  "type": "git",
16
- "url": "git://github.com/jsonresume/resume-schema.git"
9
+ "url": "git+https://github.com/jsonresume/jsonresume.org.git",
10
+ "directory": "packages/schema"
17
11
  },
18
12
  "license": "MIT",
19
13
  "bugs": {
20
- "url": "https://github.com/jsonresume/resume-schema/issues"
14
+ "url": "https://github.com/jsonresume/jsonresume.org/issues"
21
15
  },
22
16
  "files": [
23
17
  "sample.resume.json",
24
18
  "sample.job.json",
25
19
  "schema.json",
26
20
  "job-schema.json",
27
- "validator.js"
21
+ "validator.js",
22
+ "examples"
28
23
  ],
29
24
  "dependencies": {
30
25
  "jsonschema": "^1.4.1"
31
26
  },
32
27
  "devDependencies": {
28
+ "ajv": "^8.17.1",
33
29
  "ajv-cli": "^3.3.0",
30
+ "ajv-formats": "^3.0.1",
34
31
  "json-metaschema": "^1.3.0",
35
32
  "tap-spec": "^5.0.0",
36
33
  "tape": "^4.16.2"
37
34
  },
38
35
  "engines": {
39
36
  "node": ">=20"
37
+ },
38
+ "scripts": {
39
+ "test": "npm run validate && npm run test-units",
40
+ "validate": "ajv validate -s node_modules/json-metaschema/draft-07-schema -d schema -d job-schema",
41
+ "test-units": "tape **/*.spec.js | tap-spec"
40
42
  }
41
- }
43
+ }
package/sample.job.json CHANGED
@@ -1,57 +1,46 @@
1
1
  {
2
- "$schema": "http://json-schema.org/draft-04/schema#",
3
- "title": "Web Developer",
4
- "company": "Microsoft",
5
- "type": "Full-time",
6
- "date": "2024-07",
7
- "description": "We are looking for a skilled Web Developer to join our team. The role involves building and maintaining web applications.",
8
- "location": {
9
- "address": "1234 Glücklichkeit Straße\nHinterhaus 5. Etage li.",
10
- "postalCode": "10115",
11
- "city": "Berlin",
12
- "countryCode": "DE",
13
- "region": "Berlin"
2
+ "$schema": "http://json-schema.org/draft-04/schema#",
3
+ "title": "Web Developer",
4
+ "company": "Microsoft",
5
+ "type": "Full-time",
6
+ "date": "2024-07",
7
+ "description": "We are looking for a skilled Web Developer to join our team. The role involves building and maintaining web applications.",
8
+ "location": {
9
+ "address": "1234 Glücklichkeit Straße\nHinterhaus 5. Etage li.",
10
+ "postalCode": "10115",
11
+ "city": "Berlin",
12
+ "countryCode": "DE",
13
+ "region": "Berlin"
14
+ },
15
+ "remote": "Hybrid",
16
+ "salary": "100000",
17
+ "experience": "Mid-level",
18
+ "responsibilities": [
19
+ "Develop and maintain web applications",
20
+ "Collaborate with cross-functional teams",
21
+ "Ensure the technical feasibility of UI/UX designs",
22
+ "Optimize applications for maximum speed and scalability"
23
+ ],
24
+ "qualifications": [
25
+ "Bachelor's degree in Computer Science or related field",
26
+ "3+ years of experience in web development",
27
+ "Strong understanding of JavaScript, HTML, and CSS"
28
+ ],
29
+ "skills": [
30
+ {
31
+ "name": "Web Development",
32
+ "level": "Master",
33
+ "keywords": ["HTML", "CSS", "JavaScript", "React", "Node.js"]
14
34
  },
15
- "remote": "Hybrid",
16
- "salary": "100000",
17
- "experience": "Mid-level",
18
- "responsibilities": [
19
- "Develop and maintain web applications",
20
- "Collaborate with cross-functional teams",
21
- "Ensure the technical feasibility of UI/UX designs",
22
- "Optimize applications for maximum speed and scalability"
23
- ],
24
- "qualifications": [
25
- "Bachelor's degree in Computer Science or related field",
26
- "3+ years of experience in web development",
27
- "Strong understanding of JavaScript, HTML, and CSS"
28
- ],
29
- "skills": [
30
- {
31
- "name": "Web Development",
32
- "level": "Master",
33
- "keywords": [
34
- "HTML",
35
- "CSS",
36
- "JavaScript",
37
- "React",
38
- "Node.js"
39
- ]
40
- },
41
- {
42
- "name": "Database Management",
43
- "level": "Intermediate",
44
- "keywords": [
45
- "SQL",
46
- "NoSQL",
47
- "MongoDB"
48
- ]
49
- }
50
- ],
51
- "meta": {
52
- "canonical": "http://example.com/jobs/web-developer",
53
- "version": "v1.0.0",
54
- "lastModified": "2024-07-10T15:00:00"
35
+ {
36
+ "name": "Database Management",
37
+ "level": "Intermediate",
38
+ "keywords": ["SQL", "NoSQL", "MongoDB"]
55
39
  }
40
+ ],
41
+ "meta": {
42
+ "canonical": "http://example.com/jobs/web-developer",
43
+ "version": "v1.0.0",
44
+ "lastModified": "2024-07-10T15:00:00"
56
45
  }
57
-
46
+ }
@@ -53,9 +53,7 @@
53
53
  "startDate": "2012-01-01",
54
54
  "endDate": "2013-01-01",
55
55
  "summary": "Global movement of free coding clubs for young people.",
56
- "highlights": [
57
- "Awarded 'Teacher of the Month'"
58
- ]
56
+ "highlights": ["Awarded 'Teacher of the Month'"]
59
57
  }
60
58
  ],
61
59
  "education": [
@@ -67,10 +65,7 @@
67
65
  "startDate": "2011-06-01",
68
66
  "endDate": "2014-01-01",
69
67
  "score": "4.0",
70
- "courses": [
71
- "DB1101 - Basic SQL",
72
- "CS2011 - Java Introduction"
73
- ]
68
+ "courses": ["DB1101 - Basic SQL", "CS2011 - Java Introduction"]
74
69
  }
75
70
  ],
76
71
  "awards": [
@@ -94,20 +89,12 @@
94
89
  {
95
90
  "name": "Web Development",
96
91
  "level": "Master",
97
- "keywords": [
98
- "HTML",
99
- "CSS",
100
- "Javascript"
101
- ]
92
+ "keywords": ["HTML", "CSS", "Javascript"]
102
93
  },
103
94
  {
104
95
  "name": "Compression",
105
96
  "level": "Master",
106
- "keywords": [
107
- "Mpeg",
108
- "MP4",
109
- "GIF"
110
- ]
97
+ "keywords": ["Mpeg", "MP4", "GIF"]
111
98
  }
112
99
  ],
113
100
  "languages": [
@@ -119,10 +106,7 @@
119
106
  "interests": [
120
107
  {
121
108
  "name": "Wildlife",
122
- "keywords": [
123
- "Ferrets",
124
- "Unicorns"
125
- ]
109
+ "keywords": ["Ferrets", "Unicorns"]
126
110
  }
127
111
  ],
128
112
  "references": [
@@ -140,15 +124,11 @@
140
124
  "Built by all women team of newbie programmers",
141
125
  "Using modern technologies such as GoogleMaps, Chrome Extension and Javascript"
142
126
  ],
143
- "keywords": [
144
- "GoogleMaps", "Chrome Extension", "Javascript"
145
- ],
127
+ "keywords": ["GoogleMaps", "Chrome Extension", "Javascript"],
146
128
  "startDate": "2016-08-24",
147
129
  "endDate": "2016-08-24",
148
130
  "url": "http://missdirection.example.com",
149
- "roles": [
150
- "Team lead", "Designer"
151
- ],
131
+ "roles": ["Team lead", "Designer"],
152
132
  "entity": "Smoogle",
153
133
  "type": "application"
154
134
  }
package/schema.json CHANGED
@@ -75,7 +75,6 @@
75
75
  "profiles": {
76
76
  "type": "array",
77
77
  "description": "Specify any number of social networks that you participate in",
78
- "additionalItems": false,
79
78
  "items": {
80
79
  "type": "object",
81
80
  "additionalProperties": true,
@@ -100,7 +99,6 @@
100
99
  },
101
100
  "work": {
102
101
  "type": "array",
103
- "additionalItems": false,
104
102
  "items": {
105
103
  "type": "object",
106
104
  "additionalProperties": true,
@@ -139,7 +137,6 @@
139
137
  "highlights": {
140
138
  "type": "array",
141
139
  "description": "Specify multiple accomplishments",
142
- "additionalItems": false,
143
140
  "items": {
144
141
  "type": "string",
145
142
  "description": "e.g. Increased profits by 20% from 2011-2012 through viral advertising"
@@ -150,7 +147,6 @@
150
147
  },
151
148
  "volunteer": {
152
149
  "type": "array",
153
- "additionalItems": false,
154
150
  "items": {
155
151
  "type": "object",
156
152
  "additionalProperties": true,
@@ -181,7 +177,6 @@
181
177
  "highlights": {
182
178
  "type": "array",
183
179
  "description": "Specify accomplishments and achievements",
184
- "additionalItems": false,
185
180
  "items": {
186
181
  "type": "string",
187
182
  "description": "e.g. Increased profits by 20% from 2011-2012 through viral advertising"
@@ -192,7 +187,6 @@
192
187
  },
193
188
  "education": {
194
189
  "type": "array",
195
- "additionalItems": false,
196
190
  "items": {
197
191
  "type": "object",
198
192
  "additionalProperties": true,
@@ -227,7 +221,6 @@
227
221
  "courses": {
228
222
  "type": "array",
229
223
  "description": "List notable courses/subjects",
230
- "additionalItems": false,
231
224
  "items": {
232
225
  "type": "string",
233
226
  "description": "e.g. H1302 - Introduction to American history"
@@ -239,7 +232,6 @@
239
232
  "awards": {
240
233
  "type": "array",
241
234
  "description": "Specify any awards you have received throughout your professional career",
242
- "additionalItems": false,
243
235
  "items": {
244
236
  "type": "object",
245
237
  "additionalProperties": true,
@@ -265,7 +257,6 @@
265
257
  "certificates": {
266
258
  "type": "array",
267
259
  "description": "Specify any certificates you have received throughout your professional career",
268
- "additionalItems": false,
269
260
  "items": {
270
261
  "type": "object",
271
262
  "additionalProperties": true,
@@ -292,7 +283,6 @@
292
283
  "publications": {
293
284
  "type": "array",
294
285
  "description": "Specify your publications through your career",
295
- "additionalItems": false,
296
286
  "items": {
297
287
  "type": "object",
298
288
  "additionalProperties": true,
@@ -323,7 +313,6 @@
323
313
  "skills": {
324
314
  "type": "array",
325
315
  "description": "List out your professional skill-set",
326
- "additionalItems": false,
327
316
  "items": {
328
317
  "type": "object",
329
318
  "additionalProperties": true,
@@ -339,7 +328,6 @@
339
328
  "keywords": {
340
329
  "type": "array",
341
330
  "description": "List some keywords pertaining to this skill",
342
- "additionalItems": false,
343
331
  "items": {
344
332
  "type": "string",
345
333
  "description": "e.g. HTML"
@@ -351,7 +339,6 @@
351
339
  "languages": {
352
340
  "type": "array",
353
341
  "description": "List any other languages you speak",
354
- "additionalItems": false,
355
342
  "items": {
356
343
  "type": "object",
357
344
  "additionalProperties": true,
@@ -369,7 +356,6 @@
369
356
  },
370
357
  "interests": {
371
358
  "type": "array",
372
- "additionalItems": false,
373
359
  "items": {
374
360
  "type": "object",
375
361
  "additionalProperties": true,
@@ -380,7 +366,6 @@
380
366
  },
381
367
  "keywords": {
382
368
  "type": "array",
383
- "additionalItems": false,
384
369
  "items": {
385
370
  "type": "string",
386
371
  "description": "e.g. Friedrich Nietzsche"
@@ -392,7 +377,6 @@
392
377
  "references": {
393
378
  "type": "array",
394
379
  "description": "List references you have received",
395
- "additionalItems": false,
396
380
  "items": {
397
381
  "type": "object",
398
382
  "additionalProperties": true,
@@ -411,7 +395,6 @@
411
395
  "projects": {
412
396
  "type": "array",
413
397
  "description": "Specify career projects",
414
- "additionalItems": false,
415
398
  "items": {
416
399
  "type": "object",
417
400
  "additionalProperties": true,
@@ -427,7 +410,6 @@
427
410
  "highlights": {
428
411
  "type": "array",
429
412
  "description": "Specify multiple features",
430
- "additionalItems": false,
431
413
  "items": {
432
414
  "type": "string",
433
415
  "description": "e.g. Directs you close but not quite there"
@@ -436,7 +418,6 @@
436
418
  "keywords": {
437
419
  "type": "array",
438
420
  "description": "Specify special elements involved",
439
- "additionalItems": false,
440
421
  "items": {
441
422
  "type": "string",
442
423
  "description": "e.g. AngularJS"
@@ -456,7 +437,6 @@
456
437
  "roles": {
457
438
  "type": "array",
458
439
  "description": "Specify your role on this project or in company",
459
- "additionalItems": false,
460
440
  "items": {
461
441
  "type": "string",
462
442
  "description": "e.g. Team Lead, Speaker, Writer"