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.

@@ -206,7 +206,7 @@

Cảnh 2 · Nhân vật chính

Chân dung nhanh

-

Ứng viên là ai?

+

Mình là ai?

@@ -316,7 +316,7 @@ +
-

Cảnh 4 · Lời mời làm việc

-

Người yêu tương lai · Quyền lợi

-

Bạn sẽ nhận được.

+

Cảnh 4 · Lời mời

+

Gửi người sẽ đến

+

Điều mình có thể trao đi.

- Đâ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. -->
    - +
    -

    Phụ lục · Hồ sơ chi tiết

    +

    Phụ lục · Vài điều cụ thể

    Thông tin nhanh

    Để đỡ mất công đoán.