Nam Vu Personal Site
  • Home
  • My Works
  • My Photos
  • My Blog
  • Pet Projects
  • Freebies
  • About
Nam Vu Personal SiteNam Vu Personal SiteNam Vu Personal SiteNam Vu Personal Site
  • Home
  • My Works
  • My Photos
  • My Blog
  • Pet Projects
  • Freebies
  • About
October 24, 2025

Ứng dụng Gamification trong thiết kế UX cho ngành giáo dục

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : UX Design

“Gamification” trong giáo dục thường có nghĩa là áp dụng các nguyên lý thiết kế game—ví dụ như điểm số, huy hiệu, bảng xếp hạng—để làm cho việc học trở nên hấp dẫn hơn. Nghe thì mới mẻ nhưng thực chất, nếu bạn nhìn kỹ thì giáo dục vốn đã được gamify từ lâu rồi.

image
Ứng dụng Gamification trong thiết kế UX cho ngành giáo dục 2
  • Levels = Khối/lớp học. Mỗi năm học là một “level”, vượt qua thì lên tiếp, không thì phải “chơi lại”.
  • Quests = Năm học. Một “quest” có giới hạn thời gian với các mục tiêu phải hoàn thành.
  • Points = Điểm số. Câu hỏi khó thì được nhiều “point” hơn.
  • Leaderboards = Bảng xếp hạng. Học sinh được so sánh, xếp hạng với nhau. Một số trường còn chia bảng cho từng lớp cùng khối!
  • Boss fights = Thi cuối cấp. Thử thách lớn để vượt qua “cửa ải” tiếp theo.
  • Side quests = Bài tập, dự án, cuộc thi. Ai chăm chỉ làm thêm sẽ có “thành tích phụ”.

Nhìn chung, hệ thống giáo dục giờ đã giống “game” lắm rồi. Tuy nhiên, hầu hết các nền tảng hiện nay chỉ chú trọng số hóa chứ chưa thực sự đổi mới cách “Gamification”.

Read More

October 24, 2025

Pro tip: cứ build thôi, đừng chưa gì đã lo scale up khi bạn chưa có user

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Development

Sau 6 tháng trời xây dựng hẳn một hệ thống “xịn xò” cho dự án đầu tiên – nào Redis để cache, Kafka cho event handling, replica database các kiểu, load balancers tự động, đủ thứ như chuẩn bị sẵn cho hàng triệu người dùng.

Kết quả? Được… 12 người dùng.

6 tháng tập trung lo hạ tầng mà chẳng có sản phẩm nào ra mắt. Mất 6 tháng trước khi nhận ra rằng thực sự chẳng ai cần cái mình làm! Thật ra đa phần chúng ta đều hay xây dựng cho một quy mô sẽ chẳng bao giờ đến, giải quyết vấn đề mình chưa có, tối ưu hóa cho lượng truy cập mà không tồn tại.

Cái bẫy “Nhỡ đâu viral”

Quyết định kỹ thuật nào nghe cũng bắt đầu bằng “nhỡ đâu cần mở rộng?”

  • Nhỡ đâu lên trang nhất Hacker News?
  • Nhỡ đâu có 100.000 người dùng đồng thời?
  • Nhỡ đâu database chịu không nổi?
Read More

October 24, 2025

7 Kỹ năng UX sẽ “tuyệt chủng” vào năm 2026 (và “AI” sẽ thay thế chúng!)

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : AI Apps, Randomness

Chào mọi người, hôm nay mình muốn chia sẻ một chút về tương lai ngành UX nhé! Ai cũng nói về kỹ năng cần học để trở thành UX Designer tốt hơn, nhưng theo mình, có ít nhất 7 kỹ năng đang dần lỗi thời và sẽ biến mất vào năm 2026 — nhường chỗ cho AI và các phương pháp hiện đại.

Đừng lo, ngành UX vẫn còn đó — chỉ là những thói quen cũ đang nhanh chóng bị thay thế thôi.

Read More

My baby girl turned 1 today
September 14, 2025

My baby girl turned 1 today

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Randomness

Happy 1st Birthday Capu!


July 22, 2025

Lesson from TRAE SOLO train wreck: how not to launch a product.

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Randomness
image
Lesson from TRAE SOLO train wreck: how not to launch a product. 4

When Perplexity introduced Comet with a waitlist, I thought that was a bad business decision in this day and age where everyone is racing to be the first to market. But TRAE taught everyone that there’s always worse way to do things.

For context, TRAE is another VSCode clone with AI sprinkled on top, similar to Cursor and Windsurf, but they were back by ByteDance (the company behind TikTok) and that got everyone hyped. And for a while they gained a certain amount of cult following. Nothing like the kind of following Cursor or Windsurf have of course, they were quite late to market and initially they were only available on Mac. I used to say that in a world where Figma already gained absolute dominance, TRAE wanted to be Sketch. But they eventually released a Windows version and things started to pick up from there. They had a pretty generous Claude Sonnet rate limit for the free tier and ‘free’ always attract people. The rate limit is pretty hard though just like any other service with a free tier, couple with the fact that they still don’t have a working build for Linux, the platform with the largest amount of developer, means that TRAE remains a novelty of an editor: something people crawl back to at the end of the day when they hit the rate limit in Cursor, Windsurf or Gemini CLI.

But TRAE isn’t just a mere VSCode clone, it’s a clone backed by ByteDance, and that means they have to capital to push it forward, should they wanted to. And pushed forward they did. TREA recently launched version 2.0, marking a complete rebranding, moving away from the color Orange to a more technomatrix style Green color, and that’s not all. They’re also promising a whole new mode called SOLO, supposedly a complete all-in-one agentic mode that can do a lot more than just correcting your vibecode slops, it can also use the terminal, write documentations, use browser etc. And that got their followers losing their damn minds.

Read More

June 5, 2025

Don’t you hate seeing these 429 errors in Cline?

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Development
image
Don't you hate seeing these 429 errors in Cline? 6

Yeah me too. If you’re seeing this you’re one of the cheapskates like me who likes vibe-coding with Cline with Google’s free Gemini API. And if you’ve seen these you’ve definitely have a handful of API keys that you swap out every once in a while. It gets tedious fast, and you probably want an auto key rotator in Cline. It’s actually one of the most requested features but they haven’t implemented it yet.

Well I don’t have something like that, but I have the next best thing: a relay server that contains all your API keys, sitting between your Cline and Google API endpoint, and swap out a new key in a round-robin fashion when there’s requests.

TLDR: here’s the Github repo

https://github.com/vnt87/geminiproxy-worker/

This is my first opensource non front-end project.

To be clear, this wasn’t my original idea. I found a project by Chakshu Gautam that implement this proxy server but written in Go. It is pretty cool and is deployable via Docker, and I’m sure a lot of folks over on r/selfhosted are going to love that.

But I already have 50+ containers on my poor mini server at home that also doubles as my wife’s HTPC. So I set out to adapt that Go-based project into JS/TS so they can be deployed as a Worker via Cloudflare’s Edge Computing infrastructure. I recently had to deploy a similar Worker project that acts as a API relay server for Telegram so my n8n bots can continue to operate after our very competent administration decided to ban it out of nowhere.


May 29, 2025

AI doesn’t always help you save time

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : AI Apps

Ever since I learned how to vibe code, I’ve been obsessed with making micro apps/automations to assist with whatever I was doing at the time. Here’s an example: my current workplace uses a very primitive work timesheet logging system (hint: it’s a spreadsheet). They tried to ‘simplify’ it by making a small utility app that resides on the team’s Slack channel. It’s basically a small form that let you input stuffs like Dates, Time Logged, Today’s Plan, Today’s Actually Work, Tomorrow’s Plan, Issues…yadda yadda…Basically it’s a daily meeting in the form of a well, form. It is debatable if this implementation is better than filling out the spreadsheet manually, but there’s some obvious user pain point with this approach:

  • It is very tedious when user have to update multiple dates at once, which is often the case since most people tend to leave the timesheet duty toward the end of the month. Users have to completely the form one by one, once for each working day.
  • Sometimes when you’re trying to update multiple days at once, you sort of forget which date you are getting to, or if you missed any of the previous work days. Basically you need a calendar view.
  • Nobody likes making up content for Today’s Plan, Today’s Actually Work, Tomorrow’s Plan. Most people just want a single field for inputing that single task that they did that day (you know that’s true)

So when my PM reminds me that I have 3 hours left to fill out my missing 20 days of work time, I naturally decided the best course of action is to spend the next 4 hours vibecoding a tool that could potentially achieve the same thing as the Slack tool but slightly different. I know, I’m good at time optimization and decision making.

Features:

  • Light/Dark mode support (this is a must for all my apps), although the color scheme for this one is not yet optimized for usability.
  • AI-assisted content suggestion for filling out the boring stuffs (you only need to enter what you did for today, the Actual Work fields will mirror that automatically, and the Tomorrow’s Plan can be generated with a click)
  • Visual view of the current work month with how many work days have been logged and how many still need logging
  • Export to CSV with the filename being current date & time. So you can use it to populate the Google Sheet if needed.

What I learned while making this project:

  • Firebase Studio is not as useless as I initially thought. I actually started this project with v0, Lovable, bolt like usual but ended up using FS at the end. It didn’t create the best looking initial design but what it did different is auto Genkit integration, which powered the Gemini auto suggestion. In fact my experience with Firebase actually shows it being a little overzealous in inserting Genkit integration into everything, even on apps that required absolutely zero AI.
    It does work with this particular app though, so there’s that
  • How to have persistent data across different browser sessions. Traditionally most of my vibecoded app just relies on localStorage for storing data so everything just works only within the confine of that browser session. This is good for privacy but not very good for usability. Since I often use Cloudflare Pages to host my vibecoded slops, this time I learned how to leverage one of their free Page Functions to hold my data for me. This one holds pretty simple data so KV is a great choice.

You can check it out in all its glory here (there’s no auth at the moment but I will find a way to integrate it soon)


May 29, 2025

Why/how is this even allowed?

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Rants
image 1
Adobe wants you to sign in BEFORE letting you remove any of their crapware

Why on earth should I have to authenticate with ANY party before getting to remove a piece of software on my own personal computer? Why does OSes let this happen to begin with? Adobe is no stranger to these kind of anti-user interactions, but they’re far from the only ones. NVIDIA used to force user to login before letting them interact with their GeForce driver, although this is slightly fixed with their new NVIDIA App (still an awful piece of software but at least you can update drivers without having to sign in now).

Now Adobe does provide an alternative way to uninstall their pieces of crapware, but is it really that easy? Remember this is the POS company that charges you for not wanting to give them money anymore.

image 2
Running the removal tool does nothing, the only thing it gives you is this utterly useless dialog

Honestly, how this company remains one of the biggest design product companies in the world remains an utter mystery to me. This should’ve crashed and burned a long time ago when they betrayed their user base for the first time, and yet we allowed them to not only survive, but continue to thrive up until this point.


May 9, 2025

Vĩnh Biệt Hoạ Sỹ Hùng Lân – Huyền Thoại Của Thế Hệ 8x

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Tributes
image
Vĩnh Biệt Hoạ Sỹ Hùng Lân - Huyền Thoại Của Thế Hệ 8x 10

Hay tin bác mất cảm giác thật khó tả, muốn viết mà không biết viết gì.

Có lẽ ở VN thì bác Hùng Lân là 1 trong những hoạ sỹ có ảnh hưởng lớn nhất trong quá trình lớn lên của thế hệ 8x, 9x nói chung, và bản thân mình nói riêng, đặc biệt trong 1 số lựa chọn đưa mình đến với ngành design.

Thời bé lúc nguệch ngoạc tập vẽ thì quanh đi quẩn lại chỉ có 3 nhân vật mình hay vẽ nhất là Đô Rê Mon, Sôn Gô Ku và Dũng sĩ Hesman. Hồi đó còn chưa hề biết Hesman là truyện của Việt Nam, ko nghĩ ở VN cũng có người biết vẽ truyện tranh, cứ nghĩ nhập từ nước nào về mà sao có cả nhân vật VN như Huy Hùng hay quá. Về sau biết cả trăm tập Hesman năm ấy bác phóng tác chỉ từ 1 lần xem Voltron – Defender of the Universe thì lại càng hâm mộ bác hơn.

Rồi đến giữa những năm 2000s, lúc tập toẹ bắt đầu dùng Photoshop/Corel để lên những “Thiết kế” đầu tiên, muốn dùng text tiếng Việt có dấu thời điểm ấy là cực khó khăn vì font đẹp có hỗ trợ tiếng Việt vào thời điểm ấy cực kỳ khan hiếm, loanh quanh chỉ có mấy font công sở như VnTime, VnArial hoặc fancy hơn thì có font VNI của hải ngoại làm nhưng cách bỏ dấu rất khác. Tự nhiên lúc đấy bộ font chữ HL Thư Pháp và HL Comic dùng bảng mã BK HCM 2 kì dị xuất hiện và được cung cấp free 100% giống như phao cứu sinh cho thế hệ graphic designer đời đầu như mình. Có lẽ đây vẫn là font thư pháp được dùng nhiều nhất trong in ấn quảng cáo ở VN cho đến tận bây giờ.

Video này cũng đã được 7 năm trong lần mình may mắn được gặp bác trong talkshow về Hesman. Được nghe kể về những câu chuyện đằng sau sự hình thành của tác phẩm huyền thoại ấy. Thực lòng mà nói kể từ khi biết Hesman là chuyện của VN mình vẫn tò mò làm thế nào mà đất nước trong thời điểm khó khăn ấy lại có người đi theo 1 nghề tương đối ‘mộng mơ’ như làm truyện tranh, để rồi được biết hoá ra vẽ truyện lại chính là cách để bác và già thoát khỏi cuộc sống gian khó của thời kỳ Kinh Tế Mới. Có nhiều chuyện còn chưa kịp hỏi bác, nhưng có lẽ như vậy cũng là may mắn hơn nhiều người rồi, có nhiều người đến giờ có khi vẫn chưa biết Hesman là truyện của Việt Nam. Bộ truyện tuy bây giờ trưởng thành đọc lại có nhiều phần ngô nghê nhưng ko bao giờ quên nó đã mang đến cho 1 thằng nhóc 10 tuổi năm ấy biết đến những khái niệm khoa học đầu tiên (robot sinh học, tia hồ quang, tia tử ngoại, sóng điện trường, chân không, hố đen etc.)

Fujio Fujiko (Doraemon), Akira Toriyama (7 viên ngọc rồng) và bây giờ là là người cha già của Dũng sĩ Hesman. Lần lượt từng mảnh ký ức của những người con thế hệ 8x mùa hè năm ấy nằm khểnh đọc truyện tranh đã dần trở về với cát bụi.

Yên nghỉ nhé bác.


February 23, 2025

Remastered some old Vietnam photos for fun

  • Posted By : Nam Vũ/
  • 0 comments /
  • Under : Randomness

What’s the point of buying a 4070Ti Super OC if I don’t put it to good use, right?

Read More

‹ Prev12345Next ›Last »
Recent Comment
  • Moke on Cursor stole your ‘code’ command? Here’s how to revert it: “Thanks!” Aug 4, 20:31
  • junior pro on Cursor stole your ‘code’ command? Here’s how to revert it: “Thanks” Jun 9, 21:04
  • User on Cursor stole your ‘code’ command? Here’s how to revert it: “Useful. Thanks” May 8, 21:39
  • Super on Cursor stole your ‘code’ command? Here’s how to revert it: “Thanks” Apr 11, 19:13
  • Hyper on Cursor stole your ‘code’ command? Here’s how to revert it: “Thanks” Mar 12, 15:39
Categories
  • AI Apps
  • AI Art
  • Design
  • Development
  • DIY
  • Freebies
  • GameDev
  • Home Networking
  • Linux
  • Music
  • My Apps
  • Randomness
  • Rants
  • Side Projects
  • Songs I like
  • Tips & Tricks
  • Tributes
  • Uncategorized
  • UX Design