diff --git a/.github/ISSUE_TEMPLATE/1-bug-report.yml b/.github/ISSUE_TEMPLATE/1-bug-report.yml
index d89482a0a..6d61793e8 100644
--- a/.github/ISSUE_TEMPLATE/1-bug-report.yml
+++ b/.github/ISSUE_TEMPLATE/1-bug-report.yml
@@ -114,8 +114,10 @@ body:
- Meowth
- Onyx
- Pikachu
+ - Porygon
- Rhyhorn
- Scizor
+ - Smeargle
- type: textarea
id: logs
diff --git a/GLOSSARY.md b/GLOSSARY.md
index f9f329b83..66b23721f 100644
--- a/GLOSSARY.md
+++ b/GLOSSARY.md
@@ -39,7 +39,8 @@ Gemini, Vercel AI Gateway, OpenRouter, Mistral AI, Cohere, xAI Grok, Groq, DeepS
Fireworks, Cerebras, Perplexity, Ollama.
Template names are proper nouns and are never translated: Azurill, Bronzor, Chikorita, Ditgar,
-Ditto, Gengar, Glalie, Kakuna, Lapras, Leafish, Meowth, Onyx, Pikachu, Rhyhorn, Scizor.
+Ditto, Gengar, Glalie, Kakuna, Lapras, Leafish, Meowth, Onyx, Pikachu, Porygon, Rhyhorn, Scizor,
+Smeargle.
## The document
diff --git a/README.md b/README.md
index dae85cc49..8defd35d9 100644
--- a/README.md
+++ b/README.md
@@ -49,7 +49,7 @@ You own your data. The codebase is open source under the MIT license, with no tr
**Templates**
-- 15 templates to choose from
+- 17 templates to choose from
- A4 and Letter page sizes
- Customizable colors, fonts, and spacing
- Structured Style Rules for section and text styling
@@ -140,6 +140,14 @@ You own your data. The codebase is open source under the MIT license, with no tr
Scizor
+
+
+ Porygon
+ |
+
+
+ Smeargle
+ |
diff --git a/apps/web/locales/af-ZA.po b/apps/web/locales/af-ZA.po
index b8d4dcb10..9080781fb 100644
--- a/apps/web/locales/af-ZA.po
+++ b/apps/web/locales/af-ZA.po
@@ -7523,6 +7523,14 @@ msgstr "Tans besig om te registreer..."
msgid "since last view"
msgstr "sedert laaste aansig"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Enkelkolom met 'n magenta linkerrandaksent; kompak en doeltreffend vir intreevlak- of internskap-aansoeke."
diff --git a/apps/web/locales/am-ET.po b/apps/web/locales/am-ET.po
index e7352b779..8a80e7c2a 100644
--- a/apps/web/locales/am-ET.po
+++ b/apps/web/locales/am-ET.po
@@ -7523,6 +7523,14 @@ msgstr "በመመዝገብ ላይ…"
msgid "since last view"
msgstr "ካለፈው እይታ ጀምሮ"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "አንድ-አምድ የሆነ፣ ማጀንታ የግራ ክልል አስተካክል ያለው፣ የጀማሪ ወይም ስብስክ ስራ ማመልከቻዎች ለሚጠቅም ጠባብ እና ቀላል።"
diff --git a/apps/web/locales/ar-SA.po b/apps/web/locales/ar-SA.po
index d23abb866..6714c00e5 100644
--- a/apps/web/locales/ar-SA.po
+++ b/apps/web/locales/ar-SA.po
@@ -7523,6 +7523,14 @@ msgstr "جاري التسجيل..."
msgid "since last view"
msgstr "منذ آخر مشاهدة"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "عمود واحد مع حافة يسارية بلون أرجواني؛ مدمج وفعّال لطلبات الوظائف المبتدئة أو فترات التدريب."
diff --git a/apps/web/locales/az-AZ.po b/apps/web/locales/az-AZ.po
index 790149343..ec46fde86 100644
--- a/apps/web/locales/az-AZ.po
+++ b/apps/web/locales/az-AZ.po
@@ -7523,6 +7523,14 @@ msgstr "Qeydiyyat gedir..."
msgid "since last view"
msgstr "son baxışdan"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Tək sütunlu, sol tərəfdə magenta haşiyə vurğulu; başlanğıc və ya təcrübə proqramı müraciətləri üçün yığcam və səmərəli."
diff --git a/apps/web/locales/bg-BG.po b/apps/web/locales/bg-BG.po
index aba967e6b..93db71cab 100644
--- a/apps/web/locales/bg-BG.po
+++ b/apps/web/locales/bg-BG.po
@@ -7523,6 +7523,14 @@ msgstr "Регистриране..."
msgid "since last view"
msgstr "от последния преглед"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Една колона с пурпурен акцент по лявата рамка; компактна и ефективна за кандидатстване за начално ниво или стажове."
diff --git a/apps/web/locales/bn-BD.po b/apps/web/locales/bn-BD.po
index 51238d60e..6513c1d33 100644
--- a/apps/web/locales/bn-BD.po
+++ b/apps/web/locales/bn-BD.po
@@ -7523,6 +7523,14 @@ msgstr "সাইন আপ হচ্ছে..."
msgid "since last view"
msgstr "শেষ দেখার পর থেকে"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "এক কলামের লেআউট, ম্যাজেন্টা বাম বর্ডার অ্যাকসেন্টসহ; ইন্টার্নশিপ বা এন্ট্রি‑লেভেল আবেদনের জন্য কমপ্যাক্ট ও কার্যকরী।"
diff --git a/apps/web/locales/ca-ES.po b/apps/web/locales/ca-ES.po
index 78cbe7a75..8b86f31c0 100644
--- a/apps/web/locales/ca-ES.po
+++ b/apps/web/locales/ca-ES.po
@@ -7523,6 +7523,14 @@ msgstr "S’està creant el compte..."
msgid "since last view"
msgstr "des de l'última vista"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Una sola columna amb un accent de vora esquerra magenta; compacte i eficient per a sol·licituds de nivell inicial o pràctiques."
diff --git a/apps/web/locales/cs-CZ.po b/apps/web/locales/cs-CZ.po
index cdb15ca99..1a246f788 100644
--- a/apps/web/locales/cs-CZ.po
+++ b/apps/web/locales/cs-CZ.po
@@ -7523,6 +7523,14 @@ msgstr "Registrace…"
msgid "since last view"
msgstr "od posledního pohledu"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Jednosloupcové s magentovým levým okrajem; kompaktní a efektivní pro juniorské pozice nebo stáže."
diff --git a/apps/web/locales/da-DK.po b/apps/web/locales/da-DK.po
index 2a84bea94..8e789e286 100644
--- a/apps/web/locales/da-DK.po
+++ b/apps/web/locales/da-DK.po
@@ -7523,6 +7523,14 @@ msgstr "Tilmeld dig..."
msgid "since last view"
msgstr "siden sidste visning"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Enkeltkolonne med magentafarvet venstre kantmarkering; kompakt og effektiv til entry-level- eller praktikansøgninger."
diff --git a/apps/web/locales/de-DE.po b/apps/web/locales/de-DE.po
index 0ec2e6ed1..dd672385e 100644
--- a/apps/web/locales/de-DE.po
+++ b/apps/web/locales/de-DE.po
@@ -7523,6 +7523,14 @@ msgstr "Registrierung läuft..."
msgid "since last view"
msgstr "seit dem letzten Aufruf"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Einspaltig mit magenta-farbener linker Randakzentuierung; kompakt und effizient für Einstiegs- oder Praktikumsbewerbungen."
diff --git a/apps/web/locales/el-GR.po b/apps/web/locales/el-GR.po
index 01a1394c2..d05cbce9f 100644
--- a/apps/web/locales/el-GR.po
+++ b/apps/web/locales/el-GR.po
@@ -7523,6 +7523,14 @@ msgstr "Εγγραφή..."
msgid "since last view"
msgstr "από την τελευταία προβολή"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Μονή στήλη με ματζέντα αριστερό περίγραμμα· συμπαγές και αποδοτικό για αιτήσεις αρχικού επιπέδου ή πρακτικής άσκησης."
diff --git a/apps/web/locales/en-GB.po b/apps/web/locales/en-GB.po
index 2f1c4df77..47085b374 100644
--- a/apps/web/locales/en-GB.po
+++ b/apps/web/locales/en-GB.po
@@ -7523,6 +7523,14 @@ msgstr "Signing up..."
msgid "since last view"
msgstr "since last view"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
diff --git a/apps/web/locales/en-US.po b/apps/web/locales/en-US.po
index 8b932904c..67c82501d 100644
--- a/apps/web/locales/en-US.po
+++ b/apps/web/locales/en-US.po
@@ -7518,6 +7518,14 @@ msgstr "Signing up..."
msgid "since last view"
msgstr "since last view"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
diff --git a/apps/web/locales/es-ES.po b/apps/web/locales/es-ES.po
index a4b73455f..70640abaf 100644
--- a/apps/web/locales/es-ES.po
+++ b/apps/web/locales/es-ES.po
@@ -7523,6 +7523,14 @@ msgstr "Registrándose..."
msgid "since last view"
msgstr "desde la última vista"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Una sola columna con un acento de borde izquierdo magenta; compacto y eficiente para solicitudes de nivel inicial o de prácticas."
diff --git a/apps/web/locales/fa-IR.po b/apps/web/locales/fa-IR.po
index a7e5b7d90..1d7a275d5 100644
--- a/apps/web/locales/fa-IR.po
+++ b/apps/web/locales/fa-IR.po
@@ -7523,6 +7523,14 @@ msgstr "در حال عضویت..."
msgid "since last view"
msgstr "از آخرین مشاهده"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "تکستونه با حاشیهٔ چپ سرخابی؛ فشرده و کارآمد برای درخواستهای سطح ابتدایی یا کارآموزی."
diff --git a/apps/web/locales/fi-FI.po b/apps/web/locales/fi-FI.po
index ade46a404..c1f00862c 100644
--- a/apps/web/locales/fi-FI.po
+++ b/apps/web/locales/fi-FI.po
@@ -7523,6 +7523,14 @@ msgstr "Rekisteröidytään..."
msgid "since last view"
msgstr "edellisestä katselusta lähtien"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Yksipalstainen, magentavärisellä vasemmalla reunakorostuksella; tiivis ja tehokas aloittelevien tai harjoittelupaikkoihin hakevien ansioluetteloihin."
diff --git a/apps/web/locales/fr-FR.po b/apps/web/locales/fr-FR.po
index 523fc62f2..1f8d3a4fa 100644
--- a/apps/web/locales/fr-FR.po
+++ b/apps/web/locales/fr-FR.po
@@ -7523,6 +7523,14 @@ msgstr "Inscription en cours..."
msgid "since last view"
msgstr "depuis la dernière vue"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Une seule colonne avec un accent de bordure gauche magenta ; compacte et efficace pour les candidatures de niveau débutant ou de stage."
diff --git a/apps/web/locales/he-IL.po b/apps/web/locales/he-IL.po
index ff0e71e3d..b773f0605 100644
--- a/apps/web/locales/he-IL.po
+++ b/apps/web/locales/he-IL.po
@@ -7523,6 +7523,14 @@ msgstr "הרשמה..."
msgid "since last view"
msgstr "מאז הצפייה האחרונה"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "עמודה אחת עם פס בצבע מג׳נטה בצד שמאל; קומפקטי ויעיל למשרות התחלתיות או להתמחויות."
diff --git a/apps/web/locales/hi-IN.po b/apps/web/locales/hi-IN.po
index 52adc6a25..65f813b47 100644
--- a/apps/web/locales/hi-IN.po
+++ b/apps/web/locales/hi-IN.po
@@ -7523,6 +7523,14 @@ msgstr "रजिस्ट्रेशन..."
msgid "since last view"
msgstr "अंतिम दृश्य के बाद से"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "मैजेंटा बाएँ बॉर्डर एक्सेंट के साथ सिंगल‑कॉलम; एंट्री‑लेवल या इंटर्नशिप एप्लिकेशन के लिए कॉम्पैक्ट और प्रभावी।"
diff --git a/apps/web/locales/hu-HU.po b/apps/web/locales/hu-HU.po
index 16c1a013e..8fc762d66 100644
--- a/apps/web/locales/hu-HU.po
+++ b/apps/web/locales/hu-HU.po
@@ -7523,6 +7523,14 @@ msgstr "Regisztráció..."
msgid "since last view"
msgstr "az utolsó megtekintés óta"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Egyoszlopos elrendezés magenta bal szegéllyel; kompakt és hatékony pályakezdő vagy gyakornoki jelentkezésekhez."
diff --git a/apps/web/locales/id-ID.po b/apps/web/locales/id-ID.po
index 73c26b8ba..6b25b537a 100644
--- a/apps/web/locales/id-ID.po
+++ b/apps/web/locales/id-ID.po
@@ -7523,6 +7523,14 @@ msgstr "Mendaftar..."
msgid "since last view"
msgstr "sejak tampilan terakhir"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Satu kolom dengan aksen garis tepi kiri magenta; ringkas dan efisien untuk lamaran level pemula atau magang."
diff --git a/apps/web/locales/it-IT.po b/apps/web/locales/it-IT.po
index 64b7e0aa4..10c55c963 100644
--- a/apps/web/locales/it-IT.po
+++ b/apps/web/locales/it-IT.po
@@ -7523,6 +7523,14 @@ msgstr "Registrazione in corso..."
msgid "since last view"
msgstr "dall'ultima visualizzazione"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Una singola colonna con un bordo sinistro color magenta; compatto ed efficiente per candidature di livello iniziale o tirocini."
diff --git a/apps/web/locales/ja-JP.po b/apps/web/locales/ja-JP.po
index f377d6378..add502422 100644
--- a/apps/web/locales/ja-JP.po
+++ b/apps/web/locales/ja-JP.po
@@ -7523,6 +7523,14 @@ msgstr "登録中…"
msgid "since last view"
msgstr "最後に見たときから"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "マゼンタの左ボーダーアクセントが付いた 1 カラムのレイアウト。コンパクトで、初級職やインターンシップの応募に最適です。"
diff --git a/apps/web/locales/km-KH.po b/apps/web/locales/km-KH.po
index b22abbe3f..242b9aada 100644
--- a/apps/web/locales/km-KH.po
+++ b/apps/web/locales/km-KH.po
@@ -7523,6 +7523,14 @@ msgstr "កំពុងចុះឈ្មោះ..."
msgid "since last view"
msgstr "ចាប់តាំងពីការមើលចុងក្រោយ"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "ជួរឈរតែមួយ ជាមួយបន្ទាត់ពណ៌ម៉ាជែន្តាភាគីឆ្វេង រចនាប័ទ្មតូចស្រួច និងមានប្រសិទ្ធភាពសម្រាប់ការដាក់ពាក្យកម្រិតចូល ឬអាហារូបករណ៍ងារហាត់ការ។"
diff --git a/apps/web/locales/kn-IN.po b/apps/web/locales/kn-IN.po
index cb83a6d58..20ba3abf4 100644
--- a/apps/web/locales/kn-IN.po
+++ b/apps/web/locales/kn-IN.po
@@ -7523,6 +7523,14 @@ msgstr "ಸೈನ್ ಅಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ..."
msgid "since last view"
msgstr "ಕೊನೆಯ ನೋಟದಿಂದ"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "ಒಂದು ಕಾಲಮ್, ಮ್ಯಾಜೆಂಟಾ ಎಡ ಗಡಿಯ ಅಲಂಕಾರ; ಪ್ರವೇಶ-ಮಟ್ಟದ ಅಥವಾ ಇಂಟರ್ನ್ಶಿಪ್ ಅರ್ಜಿಗಳಿಗಾಗಿ ಸಂಕೀರ್ಣ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ."
diff --git a/apps/web/locales/ko-KR.po b/apps/web/locales/ko-KR.po
index 119681dc0..c3b0ffddd 100644
--- a/apps/web/locales/ko-KR.po
+++ b/apps/web/locales/ko-KR.po
@@ -7523,6 +7523,14 @@ msgstr "가입 중..."
msgid "since last view"
msgstr "마지막으로 본 이후"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "마젠타색 왼쪽 테두리 포인트가 있는 단일 열 레이아웃으로, 신입·인턴 지원서에 적합한 컴팩트하고 효율적인 템플릿입니다."
diff --git a/apps/web/locales/lt-LT.po b/apps/web/locales/lt-LT.po
index 08f50d2b5..644e34421 100644
--- a/apps/web/locales/lt-LT.po
+++ b/apps/web/locales/lt-LT.po
@@ -7523,6 +7523,14 @@ msgstr "Registruojamasi..."
msgid "since last view"
msgstr "nuo paskutinio peržiūros"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Vienas stulpelis su purpuriniu kairiuoju kraštiniu akcentu; kompaktiškas ir efektyvus pradedančiojo ar praktikos kandidatūroms."
diff --git a/apps/web/locales/lv-LV.po b/apps/web/locales/lv-LV.po
index f07d56828..0dda06389 100644
--- a/apps/web/locales/lv-LV.po
+++ b/apps/web/locales/lv-LV.po
@@ -7523,6 +7523,14 @@ msgstr "Notiek reģistrācija..."
msgid "since last view"
msgstr "kopš pēdējā skatījuma"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Vienkolonnu izkārtojums ar fuksijas kreiso apmali; kompakts un efektīvs pieteikumiem sākuma līmeņa vai prakses darbavietām."
diff --git a/apps/web/locales/ml-IN.po b/apps/web/locales/ml-IN.po
index ef0d4f666..1a5f59a9c 100644
--- a/apps/web/locales/ml-IN.po
+++ b/apps/web/locales/ml-IN.po
@@ -7523,6 +7523,14 @@ msgstr "സൈൻ അപ് ചെയ്യുന്നു..."
msgid "since last view"
msgstr "അവസാന കാഴ്ച മുതൽ"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "ഒറ്റ കോളമാണ്, മജന്റ നിറത്തിലുള്ള ഇടത് ബോർഡർ ആക്സന്റോടെ; എൻട്രി ലെവൽ അല്ലെങ്കിൽ ഇന്റേൺഷിപ്പ് അപേക്ഷകൾക്ക് കംപാക്റ്റും കാര്യക്ഷമവുമാണ്."
diff --git a/apps/web/locales/mr-IN.po b/apps/web/locales/mr-IN.po
index 7a95c2ea3..1ea9f050e 100644
--- a/apps/web/locales/mr-IN.po
+++ b/apps/web/locales/mr-IN.po
@@ -7523,6 +7523,14 @@ msgstr "साइन अप होत आहे..."
msgid "since last view"
msgstr "शेवटच्या दृश्यापासून"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "एकाच स्तंभाचा साचा, डाव्या बाजूला मॅजेंटा रंगाचा किनार असलेला; एंट्री-लेव्हल किंवा इंटर्नशिप अर्जांसाठी कॉम्पॅक्ट आणि कार्यक्षम."
diff --git a/apps/web/locales/ms-MY.po b/apps/web/locales/ms-MY.po
index 6b7f24658..9c911e9fc 100644
--- a/apps/web/locales/ms-MY.po
+++ b/apps/web/locales/ms-MY.po
@@ -7523,6 +7523,14 @@ msgstr "Mendaftar..."
msgid "since last view"
msgstr "sejak pandangan terakhir"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Satu kolum dengan aksen sempadan kiri magenta; padat dan cekap untuk permohonan peringkat permulaan atau latihan industri."
diff --git a/apps/web/locales/ne-NP.po b/apps/web/locales/ne-NP.po
index 3cb203fa5..dcbbef4a1 100644
--- a/apps/web/locales/ne-NP.po
+++ b/apps/web/locales/ne-NP.po
@@ -7523,6 +7523,14 @@ msgstr "साइन अप गर्दै..."
msgid "since last view"
msgstr "पछिल्लो दृश्य देखि"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "एक स्तम्भ, बाँया पट्टि म्याजेण्टा किनाराको एक्सेन्ट सहित; प्रवेश–स्तर वा इन्टर्नसिप आवेदनका लागि सङ्कुचित र कुशल।"
diff --git a/apps/web/locales/nl-NL.po b/apps/web/locales/nl-NL.po
index c00cf4539..c17a74648 100644
--- a/apps/web/locales/nl-NL.po
+++ b/apps/web/locales/nl-NL.po
@@ -7523,6 +7523,14 @@ msgstr "Bezig met registreren..."
msgid "since last view"
msgstr "sinds de laatste keer bekeken"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Enkelkoloms met een magenta accent langs de linkerrand; compact en efficiënt voor instap- of stageplaatsen."
diff --git a/apps/web/locales/no-NO.po b/apps/web/locales/no-NO.po
index cf86d1165..b36a6e2fb 100644
--- a/apps/web/locales/no-NO.po
+++ b/apps/web/locales/no-NO.po
@@ -7523,6 +7523,14 @@ msgstr "Registrerer deg..."
msgid "since last view"
msgstr "siden forrige visning"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Enkolonners med magentafarget venstre kantlinje; kompakt og effektiv for jobbsøknader på begynnernivå eller praksisplasser."
diff --git a/apps/web/locales/or-IN.po b/apps/web/locales/or-IN.po
index dc03a0cd9..642b27704 100644
--- a/apps/web/locales/or-IN.po
+++ b/apps/web/locales/or-IN.po
@@ -7523,6 +7523,14 @@ msgstr "ସାଇନ୍ ଅପ୍ ହେଉଛି..."
msgid "since last view"
msgstr "ଶେଷ ଦର୍ଶନ ଠାରୁ"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "ଏକ ମ୍ୟାଜେଣ୍ଟା ବାମ ବର୍ଡର୍ ଆକ୍ସେଣ୍ଟ ସହ ଏକକ‑କଲମ୍; ପ୍ରବେଶ‑ସ୍ତର କିମ୍ବା ଇଣ୍ଟର୍ନଶିପ୍ ଆବେଦନ ପାଇଁ ସଂକ୍ଷିପ୍ତ ଏବଂ କାର୍ଯ୍ୟକ୍ଷମ।"
diff --git a/apps/web/locales/pl-PL.po b/apps/web/locales/pl-PL.po
index 41540c7d2..e30bb3408 100644
--- a/apps/web/locales/pl-PL.po
+++ b/apps/web/locales/pl-PL.po
@@ -7523,6 +7523,14 @@ msgstr "Rejestrowanie..."
msgid "since last view"
msgstr "od ostatniego widoku"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Jedna kolumna z fuksjowym akcentem na lewym obramowaniu; kompaktowy i wydajny układ dla aplikacji na stanowiska początkujące lub staże."
diff --git a/apps/web/locales/pt-BR.po b/apps/web/locales/pt-BR.po
index 96c3bb004..d2a17a02e 100644
--- a/apps/web/locales/pt-BR.po
+++ b/apps/web/locales/pt-BR.po
@@ -7523,6 +7523,14 @@ msgstr "Cadastrando..."
msgid "since last view"
msgstr "desde a última visualização"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Uma coluna com um destaque magenta na borda esquerda; compacto e eficiente para candidaturas de nível iniciante ou estágio."
diff --git a/apps/web/locales/pt-PT.po b/apps/web/locales/pt-PT.po
index 8eaac3dce..8323b04d7 100644
--- a/apps/web/locales/pt-PT.po
+++ b/apps/web/locales/pt-PT.po
@@ -7523,6 +7523,14 @@ msgstr "A registar..."
msgid "since last view"
msgstr "desde a última visualização"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Uma coluna com uma faixa magenta na margem esquerda; compacta e eficiente para candidaturas de nível inicial ou estágios."
diff --git a/apps/web/locales/ro-RO.po b/apps/web/locales/ro-RO.po
index 52367bb75..77ebb5874 100644
--- a/apps/web/locales/ro-RO.po
+++ b/apps/web/locales/ro-RO.po
@@ -7523,6 +7523,14 @@ msgstr "Înregistrare..."
msgid "since last view"
msgstr "de la ultima vizualizare"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "O singură coloană cu un accent de culoare magenta pe marginea stângă; compact și eficient pentru poziții entry-level sau stagii."
diff --git a/apps/web/locales/ru-RU.po b/apps/web/locales/ru-RU.po
index f61be22f9..be967c5e6 100644
--- a/apps/web/locales/ru-RU.po
+++ b/apps/web/locales/ru-RU.po
@@ -7523,6 +7523,14 @@ msgstr "Регистрация..."
msgid "since last view"
msgstr "с момента последнего просмотра"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Одноколоночный макет с акцентной пурпурной левой границей; компактный и эффективный для начального уровня или стажировок."
diff --git a/apps/web/locales/sk-SK.po b/apps/web/locales/sk-SK.po
index e0de47500..64c117326 100644
--- a/apps/web/locales/sk-SK.po
+++ b/apps/web/locales/sk-SK.po
@@ -7523,6 +7523,14 @@ msgstr "Registrujem..."
msgid "since last view"
msgstr "od posledného pohľadu"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Jednostĺpcové rozloženie s purpurovým zvýraznením ľavého okraja; kompaktné a efektívne pre juniorské alebo stážistické pozície."
diff --git a/apps/web/locales/sl-SI.po b/apps/web/locales/sl-SI.po
index 43b6d51cd..79148f661 100644
--- a/apps/web/locales/sl-SI.po
+++ b/apps/web/locales/sl-SI.po
@@ -7523,6 +7523,14 @@ msgstr "Registriranje..."
msgid "since last view"
msgstr "od zadnjega pogleda"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Enojen stolpec z magenta obrobo na levi; kompaktno in učinkovito za začetne ali pripravniške prijave."
diff --git a/apps/web/locales/sq-AL.po b/apps/web/locales/sq-AL.po
index 8721ece5f..0aa6573af 100644
--- a/apps/web/locales/sq-AL.po
+++ b/apps/web/locales/sq-AL.po
@@ -7523,6 +7523,14 @@ msgstr "Po regjistroheni..."
msgid "since last view"
msgstr "që nga pamja e fundit"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Një kolonë e vetme me një vijë anësore të majtë në ngjyrë magenta; kompakte dhe efikase për aplikime fillestare ose praktika."
diff --git a/apps/web/locales/sr-SP.po b/apps/web/locales/sr-SP.po
index 3fdc0466b..b1ffd31f4 100644
--- a/apps/web/locales/sr-SP.po
+++ b/apps/web/locales/sr-SP.po
@@ -7523,6 +7523,14 @@ msgstr "Регистрација..."
msgid "since last view"
msgstr "од последњег прегледа"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Једноколонац са магента траком на левој ивици; компактан и ефикасан за пријаве на почетни ниво или праксу."
diff --git a/apps/web/locales/sv-SE.po b/apps/web/locales/sv-SE.po
index 6380de2e1..92f6934f3 100644
--- a/apps/web/locales/sv-SE.po
+++ b/apps/web/locales/sv-SE.po
@@ -7523,6 +7523,14 @@ msgstr "Registrerar dig..."
msgid "since last view"
msgstr "sedan senaste visningen"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "En kolumn med magentafärgad vänsterkant; kompakt och effektiv för ansökningar på nybörjarnivå eller praktikplatser."
diff --git a/apps/web/locales/ta-IN.po b/apps/web/locales/ta-IN.po
index 18a39b3c2..3bc23bc06 100644
--- a/apps/web/locales/ta-IN.po
+++ b/apps/web/locales/ta-IN.po
@@ -7523,6 +7523,14 @@ msgstr "பதிவு செய்து கொண்டிருக்கி
msgid "since last view"
msgstr "கடைசி பார்வையில் இருந்து"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "மஜெண்டா நிற இடது எல்லை அமைப்புடன் ஒற்றை நெடுவரிசை; ஆரம்ப நிலை அல்லது இன்டர்ன்ஷிப் விண்ணப்பங்களுக்கு சுருக்கமானதும் பயனுள்ளதுமான வடிவம்."
diff --git a/apps/web/locales/te-IN.po b/apps/web/locales/te-IN.po
index 9e96b3ef5..7508d75bc 100644
--- a/apps/web/locales/te-IN.po
+++ b/apps/web/locales/te-IN.po
@@ -7523,6 +7523,14 @@ msgstr "సైన్ అప్ చేస్తున్నారు..."
msgid "since last view"
msgstr "చివరి వీక్షణ నుండి"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "ఒకే-కాలమ్, ఎడమ వైపు గులాబీ రంగు సరిహద్దుతో; ఎంట్రీ-లెవల్ లేదా ఇంటర్న్షిప్ అప్లికేషన్లకు కాంపాక్ట్ మరియు సమర్థవంతమైనది."
diff --git a/apps/web/locales/th-TH.po b/apps/web/locales/th-TH.po
index 262f73ebb..d2669b6c7 100644
--- a/apps/web/locales/th-TH.po
+++ b/apps/web/locales/th-TH.po
@@ -7523,6 +7523,14 @@ msgstr "กำลังลงทะเบียน..."
msgid "since last view"
msgstr "ตั้งแต่ดูครั้งล่าสุด"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "คอลัมน์เดียว มีแถบซ้ายขอบสีม่วงแดง กะทัดรัดและเหมาะสำหรับผู้สมัครระดับเริ่มต้นหรือฝึกงาน"
diff --git a/apps/web/locales/tr-TR.po b/apps/web/locales/tr-TR.po
index 14e5b0f69..932c0e5d5 100644
--- a/apps/web/locales/tr-TR.po
+++ b/apps/web/locales/tr-TR.po
@@ -7523,6 +7523,14 @@ msgstr "Kayıt olunuyor..."
msgid "since last view"
msgstr "son görüntülemeden bu yana"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Magenta sol kenar vurgulu tek sütun; yeni başlayanlar veya staj başvuruları için kompakt ve verimli."
diff --git a/apps/web/locales/uk-UA.po b/apps/web/locales/uk-UA.po
index fd50a1b8d..bd5364cb3 100644
--- a/apps/web/locales/uk-UA.po
+++ b/apps/web/locales/uk-UA.po
@@ -7523,6 +7523,14 @@ msgstr "Реєстрація..."
msgid "since last view"
msgstr "з моменту останнього перегляду"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Одна колонка з акцентним малиновим лівим бордюром; компактно та ефективно для молодших спеціалістів або стажувань."
diff --git a/apps/web/locales/uz-UZ.po b/apps/web/locales/uz-UZ.po
index 30d0de974..ce4f315bb 100644
--- a/apps/web/locales/uz-UZ.po
+++ b/apps/web/locales/uz-UZ.po
@@ -7523,6 +7523,14 @@ msgstr "Roʻyxatdan oʻtish jarayoni..."
msgid "since last view"
msgstr "oxirgi ko'rishdan beri"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Magenta rangli chap chegarasi aksenti bilan bir ustunli; ixcham va samarali, boshlang'ich daraja yoki amaliyot uchun arizalarga mos."
diff --git a/apps/web/locales/vi-VN.po b/apps/web/locales/vi-VN.po
index 2c80e2c32..08633d6a4 100644
--- a/apps/web/locales/vi-VN.po
+++ b/apps/web/locales/vi-VN.po
@@ -7523,6 +7523,14 @@ msgstr "Đang đăng ký..."
msgid "since last view"
msgstr "kể từ lần xem cuối cùng"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "Một cột với viền trái màu tím hồng nổi bật; gọn gàng và hiệu quả cho các đơn ứng tuyển vị trí mới ra trường hoặc thực tập."
diff --git a/apps/web/locales/zh-CN.po b/apps/web/locales/zh-CN.po
index df3f65fe1..91f3c392a 100644
--- a/apps/web/locales/zh-CN.po
+++ b/apps/web/locales/zh-CN.po
@@ -7523,6 +7523,14 @@ msgstr "正在注册…"
msgid "since last view"
msgstr "自上次查看以来"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "单栏布局,左侧为洋红色边框点缀;紧凑高效,适合入门级或实习申请。"
diff --git a/apps/web/locales/zh-TW.po b/apps/web/locales/zh-TW.po
index 98e6f254a..cae21c7f4 100644
--- a/apps/web/locales/zh-TW.po
+++ b/apps/web/locales/zh-TW.po
@@ -7523,6 +7523,14 @@ msgstr "正在註冊…"
msgid "since last view"
msgstr "自上次查看以來"
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr "單欄版面,左側具有洋紅色邊框點綴;版面緊湊有效率,適合入門或實習職缺。"
diff --git a/apps/web/locales/zu-ZA.po b/apps/web/locales/zu-ZA.po
index 5d7a57e3f..b00b56024 100644
--- a/apps/web/locales/zu-ZA.po
+++ b/apps/web/locales/zu-ZA.po
@@ -7518,6 +7518,14 @@ msgstr ""
msgid "since last view"
msgstr ""
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan."
+msgstr ""
+
+#: src/dialogs/resume/template/data.ts
+msgid "Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles."
+msgstr ""
+
#: src/dialogs/resume/template/data.ts
msgid "Single-column with a magenta left border accent; compact and efficient for entry-level or internship applications."
msgstr ""
diff --git a/apps/web/public/templates/jpg/porygon.jpg b/apps/web/public/templates/jpg/porygon.jpg
new file mode 100644
index 000000000..2067a4acf
Binary files /dev/null and b/apps/web/public/templates/jpg/porygon.jpg differ
diff --git a/apps/web/public/templates/jpg/smeargle.jpg b/apps/web/public/templates/jpg/smeargle.jpg
new file mode 100644
index 000000000..68798cd19
Binary files /dev/null and b/apps/web/public/templates/jpg/smeargle.jpg differ
diff --git a/apps/web/public/templates/pdf/porygon.pdf b/apps/web/public/templates/pdf/porygon.pdf
new file mode 100644
index 000000000..eaa2c7ef9
Binary files /dev/null and b/apps/web/public/templates/pdf/porygon.pdf differ
diff --git a/apps/web/public/templates/pdf/smeargle.pdf b/apps/web/public/templates/pdf/smeargle.pdf
new file mode 100644
index 000000000..5685591ca
Binary files /dev/null and b/apps/web/public/templates/pdf/smeargle.pdf differ
diff --git a/apps/web/src/dialogs/resume/template/data.ts b/apps/web/src/dialogs/resume/template/data.ts
index 623859629..2d0597070 100644
--- a/apps/web/src/dialogs/resume/template/data.ts
+++ b/apps/web/src/dialogs/resume/template/data.ts
@@ -88,6 +88,21 @@ export const templates = {
imageUrl: "/templates/jpg/pikachu.jpg",
tags: ["Two-column", "Simple", "Creative", "Editorial", "Junior", "Accent colors"],
},
+ porygon: {
+ name: "Porygon",
+ description: msg`Single-column ruled form inspired by the Japanese rirekisho: a bordered header of field cells and every section as a table with a solid title bar; dense and fast to scan for engineering, operations, or applications in Japan.`,
+ imageUrl: "/templates/jpg/porygon.jpg",
+ tags: [
+ "Single-column",
+ "ATS friendly",
+ "Ruled grid",
+ "Dense",
+ "Structured",
+ "Engineering",
+ "Operations",
+ "Asian style",
+ ],
+ },
rhyhorn: {
name: "Rhyhorn",
description: msg`Single-column with a minimal top header and lots of whitespace; clean and modern for designers or content creators.`,
@@ -100,4 +115,10 @@ export const templates = {
imageUrl: "/templates/jpg/scizor.jpg",
tags: ["Single-column", "ATS friendly", "Uppercase headings", "Executive", "Consulting", "Startup"],
},
+ smeargle: {
+ name: "Smeargle",
+ description: msg`Single-column set like a magazine feature: a large display name under an uppercase kicker, the summary as an italic standfirst and italic section headings; refined for writers, designers, and communications roles.`,
+ imageUrl: "/templates/jpg/smeargle.jpg",
+ tags: ["Single-column", "ATS friendly", "Editorial", "Magazine", "Serif", "Writer", "Designer", "Communications"],
+ },
} as const satisfies Record;
diff --git a/docs/applying-custom-styles.mdx b/docs/applying-custom-styles.mdx
index 2ee59d1e4..58d3e1952 100644
--- a/docs/applying-custom-styles.mdx
+++ b/docs/applying-custom-styles.mdx
@@ -407,8 +407,9 @@ resume[template="azurill"] template-part[name="timeline-line"] {
| Pikachu | `template-part[name="header-divider"]` |
| Rhyhorn | `template-part[name="contact-item-content"]`, `contact-item[part~="contact-item-last"]` |
| Scizor | `template-part[name="header-name-rule"]` |
+| Smeargle | `template-part[name="featured-summary"]` |
-Kakuna, Lapras and Onyx have no template-specific parts.
+Kakuna, Lapras, Onyx and Porygon have no template-specific parts.
Every template also has `template-part[name="item-header-row"]`: the row with the title and date in Awards,
Certifications, Projects and Publications entries. It doesn't need a template guard.
diff --git a/docs/comparisons/reactive-resume-vs-adobe-express.mdx b/docs/comparisons/reactive-resume-vs-adobe-express.mdx
index 9532d222b..7be44adea 100644
--- a/docs/comparisons/reactive-resume-vs-adobe-express.mdx
+++ b/docs/comparisons/reactive-resume-vs-adobe-express.mdx
@@ -12,7 +12,7 @@ Adobe Express has a resume maker inside a general creative editor. Reactive Resu
| Consideration | Reactive Resume | Adobe Express |
| ---------------- | ------------------------------------------------------------------------- | ------------------------------------------------------- |
| Primary workflow | Resume-specific fields and templates | General visual editing with resume templates |
-| Editing scope | 15 resume templates, typography, accent colour, page layout, and sections | Document, image, layout, and graphic editing |
+| Editing scope | 17 resume templates, typography, accent colour, page layout, and sections | Document, image, layout, and graphic editing |
| Exports | PDF, Word (DOCX), Markdown, and Reactive Resume JSON | Resume creation and export options in Adobe Express |
| Content reuse | Structured data can be reused across resume versions | Reuse designs and assets in the Adobe Express workflow |
| Deployment | Hosted use or self-hosting under an MIT license | Adobe-hosted service |
diff --git a/docs/comparisons/reactive-resume-vs-canva.mdx b/docs/comparisons/reactive-resume-vs-canva.mdx
index be4e4ceee..ca9bd084c 100644
--- a/docs/comparisons/reactive-resume-vs-canva.mdx
+++ b/docs/comparisons/reactive-resume-vs-canva.mdx
@@ -12,7 +12,7 @@ Both tools make resumes, but they start from different models. Canva is a genera
| Consideration | Reactive Resume | Canva |
| ---------------- | ------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------- |
| Primary workflow | Structured resume sections with a live preview | Freeform visual editing across many design types |
-| Design controls | 15 resume templates, font pairings or about 500 fonts, accent colour, density, margins, and custom CSS | Flexible composition, elements, and a broad design library |
+| Design controls | 17 resume templates, font pairings or about 500 fonts, accent colour, density, margins, and custom CSS | Flexible composition, elements, and a broad design library |
| Exports | PDF, Word (DOCX), Markdown, and Reactive Resume JSON | See Canva's export options and template terms |
| Data portability | JSON export can back up or restore a resume | Depends on the design and export format you choose |
| Deployment | Hosted use or self-hosting under the MIT license | Canva-hosted service |
@@ -28,7 +28,7 @@ Canva is also the convenient option when you are preparing related design materi
## Where Reactive Resume is a better fit
-Choose Reactive Resume when the content should stay in recognizable resume fields and you expect to reuse it across versions. You can change between 15 templates without re-entering the underlying sections, adjust layout settings, and export in several document and data formats. Cover letters are their own documents that share the resume's design, and Check mode flags lines that applicant tracking systems may read poorly.
+Choose Reactive Resume when the content should stay in recognizable resume fields and you expect to reuse it across versions. You can change between 17 templates without re-entering the underlying sections, adjust layout settings, and export in several document and data formats. Cover letters are their own documents that share the resume's design, and Check mode flags lines that applicant tracking systems may read poorly.
It also fits when you care about infrastructure. Reactive Resume is [MIT-licensed](/legal/license), its source is public, and you can deploy it yourself. The [self-hosting guide](/self-hosting/docker) covers the Docker path, and hosted use stays available if you would rather not run the service.
diff --git a/docs/comparisons/reactive-resume-vs-freesumes.mdx b/docs/comparisons/reactive-resume-vs-freesumes.mdx
index b233750b9..179d789df 100644
--- a/docs/comparisons/reactive-resume-vs-freesumes.mdx
+++ b/docs/comparisons/reactive-resume-vs-freesumes.mdx
@@ -10,7 +10,7 @@ Freesumes is built for making one resume in a browser session, without an accoun
| Consideration | Reactive Resume | Freesumes |
| ---------------------- | ------------------------------------------------------- | --------------------------------------------------------- |
| Account | Account-backed resumes, cover letters, and applications | No account or credit card for the builder |
-| Builder templates | 15 templates; switch at any time without retyping | Six current builder templates |
+| Builder templates | 17 templates; switch at any time without retyping | Six current builder templates |
| PDF | PDF export | PDF download |
| Other template formats | Word (DOCX), Markdown, and JSON exports | Separate Word and Google Docs templates |
| Data handling | Resumes persist in the account and server storage | Builder data is wiped when the tab is refreshed or closed |
diff --git a/docs/comparisons/reactive-resume-vs-jobscan.mdx b/docs/comparisons/reactive-resume-vs-jobscan.mdx
index 279dc5b55..1367e9a39 100644
--- a/docs/comparisons/reactive-resume-vs-jobscan.mdx
+++ b/docs/comparisons/reactive-resume-vs-jobscan.mdx
@@ -9,7 +9,7 @@ Jobscan makes sense when your workflow revolves around its hosted resume scanner
| Consideration | Reactive Resume | Jobscan |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------ |
-| Resume creation | Structured editor with 15 templates and PDF, Word (DOCX), Markdown, and JSON exports | Free builder with nine current templates and PDF download |
+| Resume creation | Structured editor with 17 templates and PDF, Word (DOCX), Markdown, and JSON exports | Free builder with nine current templates and PDF download |
| Import | PDF, Word (with your own AI provider), LinkedIn data export, JSON Resume, and Reactive Resume files | Existing-resume and LinkedIn import |
| Analysis | Free, in two places: Check mode in the editor (readability score, issues pinned to lines, posting terms you have and lack) and a public ATS checker that reads a PDF in your browser | Separate resume scanner producing a match rate against a job description |
| Automation | Authenticated API and MCP workflows, including job applications | Separate scanner workflow |
diff --git a/docs/comparisons/reactive-resume-vs-novoresume.mdx b/docs/comparisons/reactive-resume-vs-novoresume.mdx
index fc1a85288..58ce54f1d 100644
--- a/docs/comparisons/reactive-resume-vs-novoresume.mdx
+++ b/docs/comparisons/reactive-resume-vs-novoresume.mdx
@@ -16,7 +16,7 @@ Novorésumé is the stronger choice when guided design, writing advice, a conten
Novorésumé's current Basic plan permits exactly one document, capped at one page. Its Premium plan lists 72 documents and documents up to 10 pages. The product also documents templates, a content library, real-time advice, and an integrated assistant.
-Reactive Resume keeps your resumes and cover letters on its [Documents page](/guides/managing-documents), offers 15 templates, and supports [PDF, DOCX, Markdown, and JSON exports](/guides/exporting-your-resume). Its source is public under the [MIT license](/legal/license), and it runs with Docker.
+Reactive Resume keeps your resumes and cover letters on its [Documents page](/guides/managing-documents), offers 17 templates, and supports [PDF, DOCX, Markdown, and JSON exports](/guides/exporting-your-resume). Its source is public under the [MIT license](/legal/license), and it runs with Docker.
## Where Novorésumé is a better fit
diff --git a/docs/comparisons/reactive-resume-vs-resume-com.mdx b/docs/comparisons/reactive-resume-vs-resume-com.mdx
index 1c128d08a..7e0e19cfb 100644
--- a/docs/comparisons/reactive-resume-vs-resume-com.mdx
+++ b/docs/comparisons/reactive-resume-vs-resume-com.mdx
@@ -11,7 +11,7 @@ Reactive Resume and Resume.com both let you create and download a PDF resume wit
| ------------------- | ------------------------------------------------------------------- | --------------------------------------------------- |
| Free final download | PDF, Word (DOCX), Markdown, and JSON | PDF and plain text |
| Accounts | Account required for the hosted builder and saved resume management | An email is requested to save work in the dashboard |
-| Workflow | Structured sections, 15 templates, live preview, and Check mode | Hosted builder with templates and saved resumes |
+| Workflow | Structured sections, 17 templates, live preview, and Check mode | Hosted builder with templates and saved resumes |
The common ground here is the download boundary. Resume.com says its builder has no paid membership tier and that PDF and plain-text downloads are free. Reactive Resume is not a cheaper way to get a Resume.com PDF: both produce one without a premium upgrade.
diff --git a/docs/comparisons/reactive-resume-vs-resume-io.mdx b/docs/comparisons/reactive-resume-vs-resume-io.mdx
index 5af055b62..2c7c19d3f 100644
--- a/docs/comparisons/reactive-resume-vs-resume-io.mdx
+++ b/docs/comparisons/reactive-resume-vs-resume-io.mdx
@@ -10,7 +10,7 @@ Resume.io is a commercial, guided builder with sample content and a template-foc
| Consideration | Reactive Resume | Resume.io |
| ------------------------ | ------------------------------------------------------------------------------------------------- | ------------------------------------------------- |
| Free final download | PDF, Word (DOCX), Markdown, and JSON | PDF with the Vancouver template or TXT |
-| Other designed templates | All 15 templates included | Premium trial or subscription workflow |
+| Other designed templates | All 17 templates included | Premium trial or subscription workflow |
| Content support | Direct editing, Check mode, a sample resume, and an optional AI assistant using your own provider | Sample resumes, pre-generated sentences, and tips |
| Deployment | Hosted use or self-hosting | Hosted service |
| Pricing availability | No premium resume tier | Plans can vary by location |
@@ -27,7 +27,7 @@ The Vancouver template makes it workable for someone who likes that design and n
## Where Reactive Resume is a better fit
-Reactive Resume fits when you want to pick from all 15 templates and export a designed document without a template tier in the way. Cover letters are separate documents with the same design and the same free downloads. Its [export guide](/guides/exporting-your-resume) covers PDF, DOCX, Markdown, and JSON. The data export keeps your structured content and settings alongside the document download.
+Reactive Resume fits when you want to pick from all 17 templates and export a designed document without a template tier in the way. Cover letters are separate documents with the same design and the same free downloads. Its [export guide](/guides/exporting-your-resume) covers PDF, DOCX, Markdown, and JSON. The data export keeps your structured content and settings alongside the document download.
You also get source access and self-hosting. Reactive Resume is [MIT-licensed](/legal/license), and its [Docker guide](/self-hosting/docker) documents the self-hosted route. Its optional AI integration lets you configure a provider if you want help, while ordinary editing does not depend on it.
diff --git a/docs/getting-started.mdx b/docs/getting-started.mdx
index 3ca65241a..bd6ddddc1 100644
--- a/docs/getting-started.mdx
+++ b/docs/getting-started.mdx
@@ -20,7 +20,7 @@ Reactive Resume is a free and open-source resume builder. You write your resume
LinkedIn export.
- Pick from 15 templates, then adjust fonts, colors, page size and layout. The page updates as you type.
+ Pick from 17 templates, then adjust fonts, colors, page size and layout. The page updates as you type.
**Check** mode points out issues on the lines they belong to and compares your resume with a job posting.
diff --git a/docs/getting-started/quickstart.mdx b/docs/getting-started/quickstart.mdx
index a41b26cd0..522ef122d 100644
--- a/docs/getting-started/quickstart.mdx
+++ b/docs/getting-started/quickstart.mdx
@@ -88,7 +88,7 @@ You don't need to save. Under the document name, the status changes to **Saving
Select **Design** at the top of the editor, or press 2.
- **Template**, at the top of Design, shows all 15 templates filled with your own content. Select one, such as
+ **Template**, at the top of Design, shows all 17 templates filled with your own content. Select one, such as
**Bronzor**, and the page switches to it. Your content stays the same; only the look changes.
diff --git a/docs/guides/choosing-a-template.mdx b/docs/guides/choosing-a-template.mdx
index f405a1a64..a43f648de 100644
--- a/docs/guides/choosing-a-template.mdx
+++ b/docs/guides/choosing-a-template.mdx
@@ -33,7 +33,7 @@ The chips above the thumbnails narrow the list:
| Filter | Shows |
| --------------- | -------------------------------------------------------------------------------------------------------- |
-| **All** | All 15 templates. |
+| **All** | All 17 templates. |
| **One column** | Templates that read top to bottom in a single column. |
| **Two columns** | Templates with a separate sidebar column. |
| **ATS-safe** | Templates with one reading order and plain text headings, which applicant tracking systems read cleanly. |
@@ -68,7 +68,7 @@ The counter on the right (for example "7 of 15 shown") tells you how many templa
sheet over the lower half of the page and the templates scroll sideways in a strip.
-## The 15 templates
+## The 17 templates
All templates support the same sections and features. They differ only in how they arrange your information. The images below use the same resume in each template.
@@ -87,8 +87,10 @@ All templates support the same sections and features. They differ only in how th
| Meowth | One | Yes | — |
| Onyx | One | Yes | — |
| Pikachu | Two | No | Left |
+| Porygon | One | Yes | — |
| Rhyhorn | One | Yes | — |
| Scizor | One | Yes | — |
+| Smeargle | One | Yes | — |
In a one-column template, sections you placed in the sidebar print after the main sections instead of beside them. Bronzor prints them as labelled rows. On two-column templates you can move the sidebar to the other side; see [Arranging the layout](/guides/arranging-the-layout).
@@ -184,6 +186,13 @@ In a one-column template, sections you placed in the sidebar print after the mai
style={{ aspectRatio: "210/297" }}
/>
+
+
+
+
+
+
## Tips for choosing
diff --git a/docs/guides/json-resume-schema.mdx b/docs/guides/json-resume-schema.mdx
index 61176de3e..4547030fd 100644
--- a/docs/guides/json-resume-schema.mdx
+++ b/docs/guides/json-resume-schema.mdx
@@ -66,7 +66,7 @@ An empty `title` means the template's default heading in the resume's language.
- **Rich text is HTML.** Fields such as `description` and `summary.content` hold HTML strings.
- **IDs.** Every item and custom section needs a unique `id`. Use a UUID.
- **Cover letters.** The schema still accepts custom sections of type `cover-letter` so older exports stay valid. When you save or import such a resume, Reactive Resume moves each letter into a cover letter of its own and removes the section. See [Writing a cover letter](/guides/writing-a-cover-letter).
-- **Templates.** `metadata.template` is one of the 15 templates: `azurill`, `bronzor`, `chikorita`, `ditgar`, `ditto`, `gengar`, `glalie`, `kakuna`, `lapras`, `leafish`, `meowth`, `onyx`, `pikachu`, `rhyhorn` or `scizor`.
+- **Templates.** `metadata.template` is one of the 17 templates: `azurill`, `bronzor`, `chikorita`, `ditgar`, `ditto`, `gengar`, `glalie`, `kakuna`, `lapras`, `leafish`, `meowth`, `onyx`, `pikachu`, `porygon`, `rhyhorn`, `scizor` or `smeargle`.
- **No version field.** Resume objects have no top-level `version` or `$schema` property. Don't add one; point your tools at the schema URL instead.
## Validate resume data
@@ -4370,8 +4370,10 @@ The complete schema, generated from the source code of this version.
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
]
},
"layout": {
diff --git a/docs/guides/whats-new-in-v6.mdx b/docs/guides/whats-new-in-v6.mdx
index a5ae882d3..6274a00d9 100644
--- a/docs/guides/whats-new-in-v6.mdx
+++ b/docs/guides/whats-new-in-v6.mdx
@@ -51,7 +51,7 @@ of the editor, or press 1, 2 or 3.
sections in print order. Each section and entry has a **⋯** menu for options such as hiding, duplicating or moving
it. You can also select a block on the page to jump to it in the panel.
- **Design** holds the look: **Template**, **Type**, **Color**, **Page** and **Advanced** (custom fonts, the date
- format, custom CSS and more). The template gallery shows all 15 templates filled with your own content.
+ format, custom CSS and more). The template gallery shows all 17 templates filled with your own content.
- **Check** reviews your resume. It lists issues pinned to the lines they belong to and gives a readability score, a
**Job match** against a posting, and an AI **Writing** review. It replaces the ATS section of the old builder; the
public [ATS checker](/guides/using-the-ats-checker) page is still available.
diff --git a/docs/images/templates/porygon.webp b/docs/images/templates/porygon.webp
new file mode 100644
index 000000000..c622b6ccc
Binary files /dev/null and b/docs/images/templates/porygon.webp differ
diff --git a/docs/images/templates/smeargle.webp b/docs/images/templates/smeargle.webp
new file mode 100644
index 000000000..e39630c6e
Binary files /dev/null and b/docs/images/templates/smeargle.webp differ
diff --git a/docs/spec.json b/docs/spec.json
index 100ad5e0e..60afd7430 100644
--- a/docs/spec.json
+++ b/docs/spec.json
@@ -4105,8 +4105,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -8552,8 +8554,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -29608,8 +29612,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -30222,8 +30228,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -31595,8 +31603,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -32138,8 +32148,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string"
},
@@ -32380,8 +32392,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -33080,8 +33094,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -33617,8 +33633,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "Sets the letter's own template, which unlinks its design."
@@ -34133,8 +34151,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -34756,8 +34776,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "Sets the letter's own template, which unlinks its design."
@@ -35272,8 +35294,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -35997,8 +36021,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -36714,8 +36740,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -37414,8 +37442,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -38054,8 +38084,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -38647,8 +38679,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -39679,8 +39713,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -40549,8 +40585,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -47201,8 +47239,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -51617,8 +51657,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -56228,8 +56270,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -60898,8 +60942,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -66329,8 +66375,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -70900,8 +70948,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -78050,8 +78100,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -82789,8 +82841,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -83772,8 +83826,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -84463,8 +84519,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -85056,8 +85114,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -85781,8 +85841,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -86651,8 +86713,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -95095,8 +95159,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -99542,8 +99608,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
],
"type": "string",
"description": "The template to use for the resume. Determines the overall design and appearance of the resume."
@@ -105222,8 +105290,10 @@
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
- "scizor"
+ "scizor",
+ "smeargle"
]
},
"layout": {
diff --git a/docs/use-cases/free-resume-builder.mdx b/docs/use-cases/free-resume-builder.mdx
index 410c59d4e..4941c33a5 100644
--- a/docs/use-cases/free-resume-builder.mdx
+++ b/docs/use-cases/free-resume-builder.mdx
@@ -1,6 +1,6 @@
---
title: "Free resume builder"
-description: "Reactive Resume is a free resume builder with no premium tier: unlimited resumes and cover letters, 15 templates, and PDF, Word, Markdown and JSON downloads."
+description: "Reactive Resume is a free resume builder with no premium tier: unlimited resumes and cover letters, 17 templates, and PDF, Word, Markdown and JSON downloads."
---
Reactive Resume is a free resume builder. On [rxresu.me](https://rxresu.me) you get every feature with no premium tier, no watermark and no paywall on downloads. The project is open source and funded by donations, which is why nothing is held back.
@@ -8,7 +8,7 @@ Reactive Resume is a free resume builder. On [rxresu.me](https://rxresu.me) you
## What you get for free
- **Unlimited documents.** Keep as many resumes and cover letters as you need, and copy one for each job.
-- **15 templates.** Switch at any time without retyping; your content stays the same and only the design changes.
+- **17 templates.** Switch at any time without retyping; your content stays the same and only the design changes.
- **Design controls.** Font pairings (or any of about 500 fonts), text size, density, accent colour, margins, A4, Letter or Free-form pages, and multi-page layouts.
- **Every download format.** PDF, Word, Markdown and JSON, as often as you like.
- **Check mode.** A readability score, issues pinned to the exact lines on your page, and keyword matching against a job posting.
@@ -40,7 +40,7 @@ If you only want to check an existing PDF, you do not need an account at all: th
Start blank, from a sample or from an import.
- Compare the 15 templates and switch in one click.
+ Compare the 17 templates and switch in one click.
Download PDF, Word, Markdown or JSON.
diff --git a/docs/use-cases/open-source-resume-builder.mdx b/docs/use-cases/open-source-resume-builder.mdx
index 72901312f..d05f8e699 100644
--- a/docs/use-cases/open-source-resume-builder.mdx
+++ b/docs/use-cases/open-source-resume-builder.mdx
@@ -16,7 +16,7 @@ Reactive Resume is an open-source resume builder. Its source code is public on [
Reactive Resume v6 is more than a resume editor. It covers the whole job search:
-- Resumes and cover letters as separate documents, with 15 templates and shared design.
+- Resumes and cover letters as separate documents, with 17 templates and shared design.
- Check mode for readability, issues and job-posting keywords, plus a public ATS checker.
- Public links with passwords and view statistics.
- An application tracker with board, list, calendar and insights views.
diff --git a/packages/pdf/src/semantic/template-manifest.ts b/packages/pdf/src/semantic/template-manifest.ts
index 276790ad1..03f820b9a 100644
--- a/packages/pdf/src/semantic/template-manifest.ts
+++ b/packages/pdf/src/semantic/template-manifest.ts
@@ -15,8 +15,10 @@ import { leafishSemanticManifest } from "../templates/leafish/semantic";
import { meowthSemanticManifest } from "../templates/meowth/semantic";
import { onyxSemanticManifest } from "../templates/onyx/semantic";
import { pikachuSemanticManifest } from "../templates/pikachu/semantic";
+import { porygonSemanticManifest } from "../templates/porygon/semantic";
import { rhyhornSemanticManifest } from "../templates/rhyhorn/semantic";
import { scizorSemanticManifest } from "../templates/scizor/semantic";
+import { smeargleSemanticManifest } from "../templates/smeargle/semantic";
import { SHARED_BINDING_REGISTRY } from "./binding-inventory";
export type TemplateSemanticPlacement = "main" | "sidebar";
@@ -145,8 +147,10 @@ const TEMPLATE_SEMANTIC_MANIFESTS = {
meowth: meowthSemanticManifest,
onyx: onyxSemanticManifest,
pikachu: pikachuSemanticManifest,
+ porygon: porygonSemanticManifest,
rhyhorn: rhyhornSemanticManifest,
scizor: scizorSemanticManifest,
+ smeargle: smeargleSemanticManifest,
} as const satisfies Readonly>;
export function getTemplateSemanticManifest(template: Template): TemplateSemanticManifest {
diff --git a/packages/pdf/src/templates/index.ts b/packages/pdf/src/templates/index.ts
index 286262964..ccb0df371 100644
--- a/packages/pdf/src/templates/index.ts
+++ b/packages/pdf/src/templates/index.ts
@@ -13,8 +13,10 @@ import { LeafishPage } from "./leafish/LeafishPage";
import { MeowthPage } from "./meowth/MeowthPage";
import { OnyxPage } from "./onyx/OnyxPage";
import { PikachuPage } from "./pikachu/PikachuPage";
+import { PorygonPage } from "./porygon/PorygonPage";
import { RhyhornPage } from "./rhyhorn/RhyhornPage";
import { ScizorPage } from "./scizor/ScizorPage";
+import { SmearglePage } from "./smeargle/SmearglePage";
const templatePages: Partial> = {
azurill: AzurillPage,
@@ -30,8 +32,10 @@ const templatePages: Partial> = {
meowth: MeowthPage,
onyx: OnyxPage,
pikachu: PikachuPage,
+ porygon: PorygonPage,
rhyhorn: RhyhornPage,
scizor: ScizorPage,
+ smeargle: SmearglePage,
};
const defaultTemplatePage = AzurillPage;
diff --git a/packages/pdf/src/templates/porygon/PorygonPage.tsx b/packages/pdf/src/templates/porygon/PorygonPage.tsx
new file mode 100644
index 000000000..e95817515
--- /dev/null
+++ b/packages/pdf/src/templates/porygon/PorygonPage.tsx
@@ -0,0 +1,245 @@
+import type { TemplatePageProps } from "../../document";
+import type { Style } from "../../forme/style-types";
+import type { TemplateColorRoles, TemplateStyleContext, TemplateStyleSlots } from "../shared/types";
+import { useMemo } from "react";
+import { Page, StyleSheet, View } from "#react-pdf-renderer";
+import { useRender } from "../../context";
+import { useRenderedSectionIds, useResolvedNode } from "../../semantic/context";
+import { semanticNodeKeys } from "../../semantic/node-keys";
+import { getPrimaryTint } from "../shared/color-helpers";
+import {
+ CustomFieldContactItem,
+ EmailContactItem,
+ LocationContactItem,
+ PhoneContactItem,
+ WebsiteContactItem,
+} from "../shared/contact-item";
+import { TemplateProvider } from "../shared/context";
+import { filterSections } from "../shared/filtering";
+import { getTemplateMetrics } from "../shared/metrics";
+import { hasTemplatePicture } from "../shared/picture";
+import {
+ Heading,
+ SemanticContactListView,
+ SemanticHeaderPicture,
+ SemanticHeaderView,
+ SemanticRegionView,
+ Text,
+} from "../shared/primitives";
+import { Section } from "../shared/sections";
+import { composeStyles, headerNameLineHeight } from "../shared/styles";
+import { createIconSlot, useTemplateBase } from "../shared/template-base";
+
+type PorygonStyles = Omit & {
+ page: Style;
+ header: Style;
+ headerFields: Style;
+ headerIdentity: Style;
+ headerName: Style;
+ headerHeadline: Style;
+ contactList: Style;
+ contactItem: Style;
+ pictureCell: Style;
+ picture: Style;
+ sections: Style;
+};
+
+type PorygonTemplate = {
+ colors: TemplateColorRoles;
+ styles: PorygonStyles;
+};
+
+type PorygonHeaderProps = {
+ styles: PorygonStyles;
+};
+
+/**
+ * Porygon lays the resume out as a ruled form, after the Japanese rirekisho: the header is a bordered
+ * block of field cells with the photo in a cell of its own, and every section is a table with a solid
+ * title bar over one ruled row per entry. The rules, not whitespace, carry the structure.
+ */
+export const PorygonPage = ({ page, pageSize, pageMinHeightStyle, showHeader, pageNumber }: TemplatePageProps) => {
+ const data = useRender();
+ const pageNodeKey = semanticNodeKeys.page(pageNumber);
+ const { style: semanticPageStyle, size: semanticPageSize, ...semanticPageProps } = useResolvedNode(pageNodeKey);
+ const { metadata } = data;
+ const { colors, styles } = usePorygonTemplate();
+ const metrics = getTemplateMetrics(metadata.page);
+ const mainSections = useRenderedSectionIds(pageNodeKey, filterSections(page.main, data));
+ const sidebarSections = useRenderedSectionIds(pageNodeKey, page.fullWidth ? [] : filterSections(page.sidebar, data));
+ const sections = [...mainSections, ...sidebarSections];
+
+ return (
+
+
+ {showHeader && }
+
+
+ {sections.map((section) => (
+
+ ))}
+
+
+
+ );
+};
+
+const Header = ({ styles }: PorygonHeaderProps) => {
+ const { basics, picture } = useRender();
+ const hasPicture = hasTemplatePicture(picture);
+
+ return (
+
+
+
+ {basics.name}
+ {basics.headline && {basics.headline}}
+
+
+
+
+
+
+
+ {basics.customFields.map((field) => (
+
+ ))}
+
+
+
+ {hasPicture && (
+
+
+
+ )}
+
+ );
+};
+
+const usePorygonTemplate = (): PorygonTemplate => {
+ const { metadata, r, foreground, background, primary, metrics, base } = useTemplateBase();
+
+ return useMemo(() => {
+ const colors: TemplateColorRoles = { foreground, background, primary };
+ const { heading } = metadata.typography;
+ // The header's frame and the title bars are solid accent; every rule between cells is a light tint of it.
+ const rule = getPrimaryTint(metadata.design.colors.primary, 0.3);
+ const ruleWidth = 0.75;
+ const cellX = metrics.gapX(0.75);
+ const cellY = metrics.gapY(0.75);
+ // Each contact cell draws the rule on its own start side; pulling the grid back by one rule hides the first
+ // column's rule under the header's frame.
+ const ruleStart = r.rtl
+ ? { borderRightWidth: ruleWidth, borderRightColor: rule }
+ : { borderLeftWidth: ruleWidth, borderLeftColor: rule };
+
+ const baseStyles = StyleSheet.create({
+ ...base,
+ page: {
+ ...base.page,
+ paddingHorizontal: metrics.page.paddingHorizontal,
+ paddingVertical: metrics.page.paddingVertical,
+ rowGap: metrics.sectionGap,
+ },
+ heading: { ...base.heading, fontWeight: heading.fontWeights.at(-1) ?? "700" },
+ section: {
+ flexDirection: "column",
+ },
+ sectionHeading: {
+ backgroundColor: primary,
+ color: background,
+ fontSize: heading.fontSize * 0.8,
+ // Tracking breaks the joins of cursive right-to-left scripts such as Arabic.
+ letterSpacing: r.rtl ? 0 : heading.fontSize * 0.1,
+ textTransform: "uppercase",
+ // Longhands: the heading's icon row strips these from its title text, but not the shorthands.
+ paddingTop: metrics.gapY(0.4),
+ paddingBottom: metrics.gapY(0.4),
+ paddingLeft: cellX,
+ paddingRight: cellX,
+ },
+ // Every cell is closed on all four sides, so an entry carried onto the next page still reads as a cell.
+ // Forme strokes a border centred on the box's edge: touching cells share one rule, and half a rule of
+ // padding keeps the first cell's top rule clear of the title bar.
+ sectionItems: {
+ rowGap: 0,
+ paddingTop: ruleWidth / 2,
+ },
+ item: {
+ rowGap: metrics.gapY(0.125),
+ borderWidth: ruleWidth,
+ borderColor: rule,
+ paddingVertical: cellY,
+ paddingHorizontal: cellX,
+ },
+ levelContainer: {
+ width: "100%",
+ },
+ header: {
+ flexDirection: r.row,
+ borderWidth: 1,
+ borderColor: primary,
+ },
+ headerFields: {
+ flex: 1,
+ },
+ headerIdentity: {
+ ...r.headerIdentity,
+ rowGap: metrics.gapY(0.35),
+ paddingVertical: cellY * 1.25,
+ paddingHorizontal: cellX,
+ },
+ headerName: {
+ fontSize: heading.fontSize * 2,
+ lineHeight: headerNameLineHeight,
+ },
+ headerHeadline: {
+ color: primary,
+ },
+ contactList: {
+ flexDirection: r.row,
+ flexWrap: "wrap",
+ ...(r.rtl ? { marginRight: -ruleWidth } : { marginLeft: -ruleWidth }),
+ },
+ contactItem: {
+ flexDirection: r.row,
+ alignItems: "center",
+ columnGap: metrics.gapX(1 / 3),
+ flexBasis: "50%",
+ flexGrow: 1,
+ borderTopWidth: ruleWidth,
+ borderTopColor: rule,
+ ...ruleStart,
+ paddingVertical: cellY * 0.6,
+ paddingHorizontal: cellX,
+ },
+ pictureCell: {
+ justifyContent: "center",
+ ...(r.rtl
+ ? { borderRightWidth: ruleWidth, borderRightColor: rule }
+ : { borderLeftWidth: ruleWidth, borderLeftColor: rule }),
+ padding: cellX,
+ },
+ sections: {
+ flexDirection: "column",
+ },
+ });
+
+ const accentFor = ({ colors }: TemplateStyleContext) => colors.primary;
+
+ return {
+ colors,
+ styles: {
+ ...baseStyles,
+ levelItem: (context) => ({ borderColor: accentFor(context) }),
+ levelItemActive: (context) => ({ backgroundColor: accentFor(context) }),
+ icon: createIconSlot({ metadata, accentFor }),
+ sectionHeadingIcon: { color: background },
+ } satisfies PorygonStyles,
+ };
+ }, [metadata, r, primary, metrics, base, foreground, background]);
+};
diff --git a/packages/pdf/src/templates/porygon/semantic.ts b/packages/pdf/src/templates/porygon/semantic.ts
new file mode 100644
index 000000000..8343cf99b
--- /dev/null
+++ b/packages/pdf/src/templates/porygon/semantic.ts
@@ -0,0 +1,13 @@
+import type { TemplateSemanticManifest } from "../../semantic/template-manifest";
+import { itemHeaderRowPart } from "../../semantic/shared-parts";
+
+export const porygonSemanticManifest = {
+ template: "porygon",
+ regions: [
+ { name: "header", placement: "main", origins: [] },
+ { name: "main", placement: "main", origins: ["main", "sidebar"] },
+ ],
+ header: { region: "header", placement: "main" },
+ specialSummary: null,
+ parts: [itemHeaderRowPart],
+} as const satisfies TemplateSemanticManifest;
diff --git a/packages/pdf/src/templates/shared/base-template-styles.ts b/packages/pdf/src/templates/shared/base-template-styles.ts
index 65de4dd41..cb967c839 100644
--- a/packages/pdf/src/templates/shared/base-template-styles.ts
+++ b/packages/pdf/src/templates/shared/base-template-styles.ts
@@ -15,7 +15,7 @@ type BaseTemplateStylesInput = {
};
/**
- * Returns the ~20 byte-identical style slots shared by all 15 templates as plain objects.
+ * Returns the ~20 byte-identical style slots shared by every template as plain objects.
* Each template spreads the result into its own StyleSheet.create() call and overrides only
* the slots that differ (heading fontWeight, bold fallback, inline gap, picture extras, etc.).
*
@@ -129,7 +129,7 @@ export function createBaseTemplateStyles({
alignEnd: { ...r.alignEnd } satisfies Style,
/**
- * Standard picture style shared by 14/15 templates.
+ * Standard picture style shared by every template but ditto.
* ditto overrides: spread this and add `position: "absolute"`, `top`, `left`, `marginLeft`.
*/
picture: {
diff --git a/packages/pdf/src/templates/smeargle/SmearglePage.tsx b/packages/pdf/src/templates/smeargle/SmearglePage.tsx
new file mode 100644
index 000000000..d37b84b61
--- /dev/null
+++ b/packages/pdf/src/templates/smeargle/SmearglePage.tsx
@@ -0,0 +1,250 @@
+import type { TemplatePageProps } from "../../document";
+import type { Style } from "../../forme/style-types";
+import type { TemplateColorRoles, TemplateStyleContext, TemplateStyleSlots } from "../shared/types";
+import { useMemo } from "react";
+import { Page, StyleSheet, View } from "#react-pdf-renderer";
+import { useRender } from "../../context";
+import { useRenderedSectionIds, useResolvedNode } from "../../semantic/context";
+import { semanticNodeKeys } from "../../semantic/node-keys";
+import {
+ CustomFieldContactItem,
+ EmailContactItem,
+ LocationContactItem,
+ PhoneContactItem,
+ WebsiteContactItem,
+} from "../shared/contact-item";
+import { TemplateProvider } from "../shared/context";
+import { getFeaturedSummaryLayout } from "../shared/featured-summary";
+import { filterSections } from "../shared/filtering";
+import { getTemplateMetrics } from "../shared/metrics";
+import { hasTemplatePicture } from "../shared/picture";
+import {
+ Heading,
+ SemanticContactListView,
+ SemanticHeaderPicture,
+ SemanticHeaderView,
+ SemanticRegionTemplatePartView,
+ SemanticRegionView,
+ Text,
+} from "../shared/primitives";
+import { Section } from "../shared/sections";
+import { composeStyles } from "../shared/styles";
+import { createIconSlot, useTemplateBase } from "../shared/template-base";
+
+type SmeargleStyles = Omit & {
+ page: Style;
+ header: Style;
+ headerTitle: Style;
+ headerKicker: Style;
+ headerName: Style;
+ contactList: Style;
+ contactItem: Style;
+ contactText: Style;
+ picture: Style;
+ standfirst: Style;
+ sections: Style;
+};
+
+type SmeargleTemplate = {
+ colors: TemplateColorRoles;
+ styles: SmeargleStyles;
+ /** The summary set as a standfirst: the larger, italic introduction under a magazine headline. */
+ standfirstStyles: TemplateStyleSlots;
+};
+
+type SmeargleHeaderProps = {
+ styles: SmeargleStyles;
+};
+
+/**
+ * Smeargle sets the resume like the opening page of a magazine feature: the headline as a small
+ * uppercase kicker over a large display name, the summary as an italic standfirst, and italic
+ * section headings. Contrast between the heading and body type carries the hierarchy, not boxes.
+ */
+export const SmearglePage = ({ page, pageSize, pageMinHeightStyle, showHeader, pageNumber }: TemplatePageProps) => {
+ const data = useRender();
+ const pageNodeKey = semanticNodeKeys.page(pageNumber);
+ const { style: semanticPageStyle, size: semanticPageSize, ...semanticPageProps } = useResolvedNode(pageNodeKey);
+ const { metadata } = data;
+ const { colors, styles, standfirstStyles } = useSmeargleTemplate();
+ const metrics = getTemplateMetrics(metadata.page);
+ const mainSections = filterSections(page.main, data);
+ const sidebarSections = page.fullWidth ? [] : filterSections(page.sidebar, data);
+ const { featuredSummarySection, regularSections } = getFeaturedSummaryLayout({
+ sections: mainSections,
+ canFeatureSummary: showHeader,
+ });
+ const sections = useRenderedSectionIds(pageNodeKey, [
+ ...regularSections,
+ ...(featuredSummarySection ? sidebarSections.filter((section) => section !== "summary") : sidebarSections),
+ ]);
+
+ return (
+
+
+ {showHeader && }
+
+ {featuredSummarySection && (
+
+
+
+
+
+ )}
+
+
+ {sections.map((section) => (
+
+ ))}
+
+
+
+ );
+};
+
+const Header = ({ styles }: SmeargleHeaderProps) => {
+ const { basics, picture } = useRender();
+ const hasPicture = hasTemplatePicture(picture);
+
+ return (
+
+
+ {basics.headline && {basics.headline}}
+ {basics.name}
+
+
+
+
+
+
+ {basics.customFields.map((field) => (
+
+ ))}
+
+
+
+ {hasPicture && }
+
+ );
+};
+
+const useSmeargleTemplate = (): SmeargleTemplate => {
+ const { metadata, r, foreground, background, primary, metrics, base } = useTemplateBase();
+
+ return useMemo(() => {
+ const colors: TemplateColorRoles = { foreground, background, primary };
+ const { body, heading } = metadata.typography;
+ const displayWeight = heading.fontWeights[0] ?? "400";
+ const smallSize = body.fontSize * 0.85;
+
+ const baseStyles = StyleSheet.create({
+ ...base,
+ page: {
+ ...base.page,
+ paddingHorizontal: metrics.page.paddingHorizontal,
+ paddingVertical: metrics.page.paddingVertical,
+ rowGap: metrics.sectionGap,
+ },
+ section: {
+ flexDirection: "column",
+ rowGap: metrics.gapY(0.5),
+ },
+ sectionHeading: {
+ fontWeight: displayWeight,
+ fontStyle: "italic",
+ color: foreground,
+ },
+ item: {
+ rowGap: metrics.gapY(0.125),
+ },
+ levelContainer: {
+ width: "100%",
+ },
+ header: {
+ flexDirection: r.row,
+ alignItems: "flex-end",
+ columnGap: metrics.gapX(1.5),
+ borderBottomWidth: 0.5,
+ borderBottomColor: foreground,
+ paddingBottom: metrics.gapY(1.25),
+ },
+ headerTitle: {
+ flex: 1,
+ ...r.headerIdentity,
+ rowGap: metrics.gapY(0.6),
+ },
+ headerKicker: {
+ fontSize: smallSize,
+ fontWeight: base.bold.fontWeight,
+ // Tracking breaks the joins of cursive right-to-left scripts such as Arabic.
+ letterSpacing: r.rtl ? 0 : smallSize * 0.18,
+ textTransform: "uppercase",
+ color: primary,
+ },
+ headerName: {
+ fontSize: heading.fontSize * 2.25,
+ fontWeight: displayWeight,
+ lineHeight: 1.05,
+ letterSpacing: -heading.fontSize * 0.02,
+ },
+ contactList: {
+ flexDirection: r.row,
+ flexWrap: "wrap",
+ rowGap: metrics.gapY(0.25),
+ columnGap: metrics.gapX(1),
+ marginTop: metrics.gapY(0.25),
+ },
+ contactItem: {
+ flexDirection: r.row,
+ alignItems: "center",
+ columnGap: metrics.gapX(1 / 6),
+ },
+ contactText: {
+ fontSize: smallSize,
+ },
+ standfirst: {
+ width: "85%",
+ alignSelf: r.rtl ? "flex-end" : "flex-start",
+ },
+ sections: {
+ flexDirection: "column",
+ },
+ });
+
+ // The standfirst keeps the body face, set larger and in italic.
+ const standfirstText = {
+ fontSize: body.fontSize * 1.15,
+ fontStyle: "italic",
+ lineHeight: 1.45,
+ } satisfies Style;
+
+ const accentFor = ({ colors }: TemplateStyleContext) => colors.primary;
+
+ const styles = {
+ ...baseStyles,
+ levelItem: (context) => ({ borderColor: accentFor(context) }),
+ levelItemActive: (context) => ({ backgroundColor: accentFor(context) }),
+ icon: createIconSlot({ metadata, accentFor }),
+ } satisfies SmeargleStyles;
+
+ return {
+ colors,
+ styles,
+ standfirstStyles: {
+ ...styles,
+ richParagraph: { ...baseStyles.richParagraph, ...standfirstText },
+ richListItemMarker: { ...baseStyles.richListItemMarker, ...standfirstText },
+ richListItemContent: { ...baseStyles.richListItemContent, ...standfirstText },
+ },
+ };
+ }, [metadata, r, primary, metrics, base, foreground, background]);
+};
diff --git a/packages/pdf/src/templates/smeargle/semantic.ts b/packages/pdf/src/templates/smeargle/semantic.ts
new file mode 100644
index 000000000..ab5e07622
--- /dev/null
+++ b/packages/pdf/src/templates/smeargle/semantic.ts
@@ -0,0 +1,23 @@
+import type { TemplateSemanticManifest } from "../../semantic/template-manifest";
+import { itemHeaderRowPart } from "../../semantic/shared-parts";
+
+export const smeargleSemanticManifest = {
+ template: "smeargle",
+ regions: [
+ { name: "header", placement: "main", origins: [] },
+ { name: "featured", placement: "main", origins: [] },
+ { name: "main", placement: "main", origins: ["main", "sidebar"] },
+ ],
+ header: { region: "header", placement: "main" },
+ specialSummary: { region: "featured", placement: "main", source: "main-with-header" },
+ parts: [
+ itemHeaderRowPart,
+ {
+ name: "featured-summary",
+ key: "featured-summary",
+ owner: { kind: "region", key: "featured" },
+ binding: { type: "primitive", primitive: "View", source: "existing" },
+ route: { parent: "owner", at: "start", take: "all" },
+ },
+ ],
+} as const satisfies TemplateSemanticManifest;
diff --git a/packages/schema/src/templates.ts b/packages/schema/src/templates.ts
index a4f4c2d50..84297be00 100644
--- a/packages/schema/src/templates.ts
+++ b/packages/schema/src/templates.ts
@@ -14,8 +14,10 @@ export const templateSchema = z.enum([
"meowth",
"onyx",
"pikachu",
+ "porygon",
"rhyhorn",
"scizor",
+ "smeargle",
]);
export type Template = z.infer;
@@ -49,6 +51,8 @@ export const templateLayouts = {
meowth: oneColumn,
onyx: oneColumn,
pikachu: { columns: 2, sidebarSide: "left", headerPlacement: "main-only", atsSafe: false },
+ porygon: oneColumn,
rhyhorn: oneColumn,
scizor: oneColumn,
+ smeargle: oneColumn,
} as const satisfies Record;
diff --git a/skills/resume-builder/SKILL.md b/skills/resume-builder/SKILL.md
index 01dae7ea7..8f32f9d16 100644
--- a/skills/resume-builder/SKILL.md
+++ b/skills/resume-builder/SKILL.md
@@ -58,7 +58,7 @@ For each section the user wants to include, gather specific details. Never inven
Ask about preferences:
-- Template preference (15 available: azurill, bronzor, chikorita, ditto, ditgar, gengar, glalie, kakuna, lapras, leafish, meowth, onyx, pikachu, rhyhorn, scizor)
+- Template preference (17 available: azurill, bronzor, chikorita, ditto, ditgar, gengar, glalie, kakuna, lapras, leafish, meowth, onyx, pikachu, porygon, rhyhorn, scizor, smeargle)
- Page format: A4 or Letter
- Which sections to include and their order
diff --git a/skills/resume-builder/references/schema.md b/skills/resume-builder/references/schema.md
index aed4060da..16f9b44bb 100644
--- a/skills/resume-builder/references/schema.md
+++ b/skills/resume-builder/references/schema.md
@@ -832,7 +832,7 @@ Choose one coherent shape for each union value. Required fields are local to tha
| `customSections[].items[].recipient` | `string` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | The recipient's address block as HTML (name, title, company, address, email). |
| `customSections[].items[].content` | `string` | yes (type cover-letter, schema coverLetterItemSchema at customSections[]) | — | The cover letter body as HTML (salutation, paragraphs, closing, signature). |
| `metadata` | `object` | yes | — | Metadata for the resume, such as template, layout, typography, etc. This section describes the overall design and appearance of the resume. |
-| `metadata.template` | `string` | yes | enum: ["azurill","bronzor","chikorita","ditgar","ditto","gengar","glalie","kakuna","lapras","leafish","meowth","onyx","pikachu","rhyhorn","scizor"]; default: "onyx" | The template to use for the resume. Determines the overall design and appearance of the resume. |
+| `metadata.template` | `string` | yes | enum: ["azurill","bronzor","chikorita","ditgar","ditto","gengar","glalie","kakuna","lapras","leafish","meowth","onyx","pikachu","porygon","rhyhorn","scizor","smeargle"]; default: "onyx" | The template to use for the resume. Determines the overall design and appearance of the resume. |
| `metadata.layout` | `object` | yes | — | The layout of the resume. Determines the structure and arrangement of the sections on the resume. |
| `metadata.layout.sidebarWidth` | `number` | yes | minimum: 10; maximum: 50; default: 35 | The width of the sidebar column, defined as a percentage of the page width. |
| `metadata.layout.sidebarSide` | `string` | no | enum: ["left","right"] | Which side of the page the sidebar column sits on in two-column templates. When unset, each template uses its own side (and right-to-left resumes mirror it). |