From 6d0a21eaf78ecef5b4b7cdc3827f28a9716f2e84 Mon Sep 17 00:00:00 2001
From: tiennm99
Date: Sat, 25 Jul 2026 12:02:10 +0700
Subject: [PATCH] refactor: drop the job-description conceit for a plainly
romantic register
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The page was a mock job posting: applicants, positions, benefits,
responsibilities, a spec table and selection notes. That framing carried real
wit, but it kept the warmest scenes at arm's length behind HR vocabulary.
Every sentence carrying a personal fact is untouched — the dev job, Genshin and
T1 Keria, the light novels, the three-year relationship, 162cm, the playlist,
the whole appendix. Only the framing around them changed:
- Retitled throughout: page title, OG and Twitter tags, wordmark. The site is
now an open letter rather than a description and a CV.
- "Ứng viên là ai?" becomes "Mình là ai?"; the cold open is a seat that has been
empty a while rather than a vacancy; the CTA meets a person, not a candidate.
- Scene 4 offers what he can give instead of listing entitlements, and loses the
job-spec table whose three jokes only worked as a job spec.
- Scene 5 drops "Trách nhiệm" for a smaller, warmer promise.
- Scene 6 keeps its no-tests sentiment without the stress-test phrasing, and the
climax speaks about the person he hopes to meet rather than a strong applicant.
- The appendix is a few concrete things, not a dossier; the freshness stamp says
he is still looking rather than that a position remains open.
Also drops the office-parody joke, which pointed at a conceit that no longer
exists, and restyles the numbered package as four unhurried lines so scene 4
keeps a shape of its own without reading as a compensation schedule.
---
README.md | 8 +++-
assets/freshness-stamp.js | 6 +--
assets/styles.css | 83 ++++++++++++------------------------
index.html | 88 ++++++++++++++++++---------------------
4 files changed, 78 insertions(+), 107 deletions(-)
diff --git a/README.md b/README.md
index 4b748b8..24921ee 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,12 @@
# Dating
-Warm-witty dating JD and CV site for Tiến Nguyễn Minh.
+A warm open letter from Tiến Nguyễn Minh to whoever comes along, told as a
+scroll-driven short film. Vietnamese only.
+
+The page was originally framed as a mock job description and CV; that conceit
+was dropped in favour of a plainly romantic register, so avoid reintroducing
+recruiting language (ứng viên, vị trí, quyền lợi, trách nhiệm, tuyển chọn) when
+editing copy.
## Structure
diff --git a/assets/freshness-stamp.js b/assets/freshness-stamp.js
index 30e2d33..d2f96d7 100644
--- a/assets/freshness-stamp.js
+++ b/assets/freshness-stamp.js
@@ -1,5 +1,5 @@
-// freshness-stamp.js — fills the "vị trí vẫn đang mở · cập nhật [ngày]" stamp in
-// the closing scene from the repo's latest commit date, via the public GitHub REST
+// freshness-stamp.js — fills the "vẫn đang tìm · cập nhật [ngày]" stamp on the end
+// card from the repo's latest commit date, via the public GitHub REST
// API (no build step, no backend, no token in client code — unauthenticated call,
// 60 req/hr/IP is plenty for a personal page).
//
@@ -35,7 +35,7 @@
year: 'numeric',
}).format(date);
- el.textContent = 'Vị trí vẫn đang mở · cập nhật ' + formatted + '.';
+ el.textContent = 'Vẫn đang tìm · cập nhật ' + formatted + '.';
el.hidden = false;
// The stamp lands after ScrollTrigger has already measured, so every
diff --git a/assets/styles.css b/assets/styles.css
index ead41d3..ea29d90 100644
--- a/assets/styles.css
+++ b/assets/styles.css
@@ -668,44 +668,39 @@ section[id] {
line-height: 1.6;
}
-/* ---------- Cảnh 4 · "Gói đãi ngộ" benefit list ----------
- A numbered package rather than four title-less floating boxes, so scene 4 has
- a shape of its own and the JD conceit reads as structure instead of filler. */
-.benefit-list {
+/* ---------- Cảnh 4 · What he can offer ----------
+ Four unhurried lines. This was a numbered, hairline-ruled table, which read as
+ a compensation schedule; scene 4 still needs a shape distinct from the vow
+ (scene 5) and the quiet climax (scene 6), so it keeps body-size type and a
+ small rose mark instead of borrowing either of theirs. */
+.gift-list {
display: grid;
- margin: 2rem 0 0;
+ margin: 2.25rem 0 0;
padding: 0;
- gap: 1px;
- overflow: hidden;
- border-radius: 14px;
+ gap: 1.35rem;
list-style: none;
- background: var(--line);
- box-shadow: 0 18px 40px -30px var(--glow-primary);
- counter-reset: benefit;
- transition: background-color var(--motion-theme);
+ max-width: 44rem;
}
-.benefit-list li {
- display: grid;
- grid-template-columns: auto 1fr;
- gap: 1rem;
+.gift-list li {
+ position: relative;
margin: 0;
- background: var(--panel-bg);
- padding: 1.15rem 1.25rem;
+ padding-left: 1.75rem;
line-height: 1.72;
- transition: background-color var(--motion-theme);
}
-.benefit-list li::before {
- counter-increment: benefit;
- content: counter(benefit, decimal-leading-zero);
- color: var(--primary-strong);
- font-family: 'Fraunces', Georgia, serif;
- font-size: 0.9rem;
- font-weight: 700;
- letter-spacing: 0.06em;
- /* Align the numeral with the first line of body text beside it. */
- line-height: 1.9;
+/* A small open circle rather than a bullet or a numeral: present enough to mark
+ the line, quiet enough not to tally it. */
+.gift-list li::before {
+ content: '';
+ position: absolute;
+ left: 0;
+ top: 0.62em;
+ width: 0.5rem;
+ height: 0.5rem;
+ border: 1.5px solid var(--primary);
+ border-radius: 50%;
+ transition: border-color var(--motion-theme);
}
/* ---------- Cảnh 5 · The vow ----------
@@ -736,35 +731,11 @@ section[id] {
transition: border-color var(--motion-theme);
}
-.meta-grid {
- display: grid;
- grid-template-columns: repeat(3, minmax(0, 1fr));
- gap: 1px;
- margin-top: 2rem;
- overflow: hidden;
- border-radius: 14px;
- background: var(--line);
- box-shadow: 0 18px 40px -30px var(--glow-primary);
- transition: background-color var(--motion-theme);
-}
-
-.meta-grid > div {
- background: var(--panel-bg);
- padding: 1rem;
- transition: background-color var(--motion-theme);
-}
-
-.meta-grid span {
- display: block;
- color: var(--muted);
- font-size: 0.78rem;
- font-weight: 700;
- text-transform: uppercase;
-}
+/* .meta-grid removed with the job-spec table it styled (Loại hình / Địa điểm /
+ Ngày bắt đầu) — that block only made sense while the page was a job posting. */
@media (max-width: 720px) {
- .section-grid,
- .meta-grid {
+ .section-grid {
grid-template-columns: 1fr;
}
}
diff --git a/index.html b/index.html
index 98832e7..1d41879 100644
--- a/index.html
+++ b/index.html
@@ -3,10 +3,10 @@
- Tiến Nguyễn Minh | Mô tả & hồ sơ hẹn hò
+ Tiến Nguyễn Minh | Thư ngỏ tìm người đi đường dài
+
-
Cảnh 1 · Vị trí bỏ trống
-
Vị trí mở / bạn đồng hành dài hạn
+
Cảnh 1 · Chỗ trống bên cạnh
+
Đang tìm một người đi đường dài
Tiến Nguyễn Minh
- Một vị trí đã bỏ trống hơi lâu. Một anh dev hay ở nhà, cũng muốn đi chơi đấy — nhưng
+ Chỗ bên cạnh đã trống hơi lâu. Một anh dev hay ở nhà, cũng muốn đi chơi đấy — nhưng
lười đi một mình. Đang tìm một người cùng đi đường dài, nghiêm túc hơn cả cách mình
cày event Genshin.
- Đây là một vị trí dài hạn, làm việc trực tiếp với con người. Gói đãi ngộ chủ yếu gồm sự
- chú ý, lòng chung thủy, những bữa ăn chung, chuyện cười riêng, và một người biết thử lại
- sau sai lầm.
+ Mình không có gì to tát để hứa. Chủ yếu là sự chú ý, lòng chung thủy, những bữa ăn
+ chung, chuyện cười riêng, và một người biết thử lại sau sai lầm.
-
-
Loại hìnhToàn thời gian bằng trái tim, lịch linh hoạt
-
Địa điểmChủ yếu ở Trái Đất, đôi khi tại Sài Gòn
-
Ngày bắt đầuKhi niềm tin qua vòng xem xét
-
-
-
+
+
Ưu tiên hỗ trợ trong những ngày khó, ý tưởng lạ, và các buổi tối yên tĩnh.
@@ -360,12 +354,12 @@
nay.
- Lộ trình phát triển dài hạn: khỏe hơn, đi nhiều hơn, và có nhiều câu chuyện hơn.
+ Đường dài phía trước: khỏe hơn, đi nhiều hơn, và có nhiều câu chuyện hơn.
-
+
-
+
Cảnh 5 · Điều cả hai cùng giữ
-
Trách nhiệm
+
Lời hứa nhỏ
Điều cả hai cùng bảo vệ.
+
-
Cảnh 6 · Không có bài kiểm tra áp lực
+
Cảnh 6 · Không có bài kiểm tra nào cả
Điểm cộng
Điểm cộng thì vui, không có cũng chẳng sao.
@@ -414,8 +408,8 @@
cả.
- Có thể cười với một bản nhại công sở mà không biến tình yêu thành OKR xét theo
- quý.
+ Có thể cười với những trò đùa nhảm, mà không biến tình cảm thành một bản
+ kế hoạch có hạn chót.
Tin rằng tình cảm chạy tốt hơn nhờ kiên nhẫn, không phải trò đoán ý.
-
Ghi chú tuyển chọn
+
Thật lòng mà nói
- Không có bài kiểm tra áp lực. Không có vòng giải đố ẩn. Ứng viên mạnh là người vẫn
- tử tế khi mệt, nói thẳng khi rối, và sẵn sàng chọn nhau trong những khoảnh khắc nhỏ
- rất đời thường.
+ Không có bài kiểm tra nào cả. Không có vòng loại nào hết. Người mình mong gặp là
+ người vẫn tử tế khi mệt, nói thẳng khi rối, và sẵn sàng chọn nhau trong những
+ khoảnh khắc nhỏ rất đời thường.
@@ -469,7 +463,7 @@
kết nối để mình tìm hiểu nhau thêm nhé.
+ (ví dụ facebook.com/tien.nguyen). Đây là cánh cửa để nhắn cho anh của cả trang. -->