Let me tell you a quick story about a developer named Sam.
Sam is incredibly smart. For a whole year, he stayed up late building a super complex A...
Some comments have been hidden by the post's author - find out more
For further actions, you may consider blocking this person and/or reporting abuse
This is such an important message for developers everywhere! Back when I was still inexperienced and didn't know much about how the industry worked, I thought I should ONLY build things that didn't exist yet. I quickly realized that mindset would keep me stuck forever, because if you look around, there isn't much left to invent. The real point is to build something that already exists, but make it your own version. At its core it might be the same, but the devil is in the details.
As for ideas, there are no good or bad ones. It all depends on your purpose. Are you building it for commercial reasons, for your portfolio, for personal use, or just to show off your skills? All of those are perfectly valid. As long as you've defined your goal, you can't go wrong.
Absolutely love this. Thanks for writing it.
Well said Giorgi! Everything has already been built just find the loopholes and make a better one 💯
And by the way, this article should already have been "gem-ed" 😄
Curators, if you're reading this, no pressure... but 💎 👀
😅
The Bob example makes the point perfectly. An existing product doesn’t mean the problem is solved.
If people are still stuck with broken spreadsheets because the alternatives are too expensive or complicated, there’s already a business opportunity sitting there.
Exactly 💯
What I like about the Bob story is that it answers the objection better than the phone-brand comparison does: the tools Bob needed already existed, and he still wasn't using any of them. Sam's real competitor was a crashing spreadsheet, not Salesforce, and that's a much easier thing to beat. The step I'd call hardest is the barbecue, not the two weeks of building. Most of us never end up in a conversation with someone who runs a box company. How would you get those conversations on purpose, without waiting for a lucky one?
I strongly believe in making opportunities for myself. For example, if I have built something related to Proptech, I would put it upon myself to reach out to people in that space....hence developers, realtors, etc...by attending events regarding that field and socializing and creating connections... just as an example. Even though not all of them would get back to me, eventually you would meet someone who would genuinely need your software. IDK, this is the way I think about these kinds of situations... opportunities don't just appear; you need to bring them to your doorstep, I guess.
Going to the field's own events is the answer I was hoping for, because that's where the Bobs are and where developers mostly aren't. It also changes what you're doing there: you're not pitching, you're collecting crashing-spreadsheet stories, and the one you hear three times is the thing to build. The low reply rate stops mattering once each conversation counts as research rather than a sale.
You’ve said it all :)
This article really hits the nail on the head. Opportunities abound in many places if you put your mind to it.👏
So many opportunities lying around that we never tend to look at tbh
Opportunities are everywhere; the key is to have discerning eyes.
yeah many I know, get cash from just wordpress and plugin then deliver app fast. I had job not a programer, very stable, and now just try deliver something that anybody like Sam can deliver app small bundle js in size but still reactive. Its not shiny among industry but maybe can deliver reactivity just from html design, make OOP, logic and controller on php/go/ruby using affordable server but reactive like famous framework. And I think its spesific market for anyone not buying hype on frontend worlds.
I think i do get what you mean with the frontend aspect as well. Especially with ai, but i think human creativity with frontend is still in demand to some extent, that would be a conversation worth having
yah now designer make a component then concat it, as a page. In traditional way, designer make a full page with mock data try to figure out UX, its easy its informatif?, adding creative and animation transition make UX more pleasant. yah honestly your title "Someone Already Built That" yeah I know someone built react, vue, angular, solid, svelte, alpine, pulsepointv2, htmx and many more. Why adding new? yeah I realy want designer make html with all UX feature then binding reactivity to its, we know facebook stand on php later use custom but never in JS as backbone, all backend engine was solid and safety for over 2 decades. Maybe you wanna help me to review what I build? link on my bio
The version of this I had to get over is that "already built" is not one thing. There are a hundred apps in the category I work in and most of them fail at the same boring place, which is the second week. Picking one failure mode and being better at it than everyone else is a whole product.
Exactly what i also found out when i was researching on a project, the main issue isn't the numerous apps in a single category. When you actually use like 50% of them, they mostly have a lot of flaws. I think these days people mostly build for the prettiness or popularity of the software, but there is so much to fix in the boring aspects. Well put Eusebiu!
The boring aspects is the right way to put it. The changes of mine that people actually noticed were things getting faster or less confusing, rarely new features.
Nobody screenshots that, which is probably why it stays unfixed in so many of them.
This is an awesome mindset you are championing for! I love it! Especially with AI, I find many ideas have been built to some degree. I use AI to research what’s built, what’s hot, what I could extend and what I can build new - I usually explore new ideas often but I set time to do this every 2 weeks. Many of the ideas have borrowed some seed from open source, I give them credit and I attempt to explore what additional features that were not built. It helps me give a launching pad and it helps me see what problems they faced. AI has made this effort lot easier to research which was super hard earlier
That's what makes ai amazing, because it has made research much more interesting and fun than it is. Being able to research on the flaws and problems in a certain sector makes solving those problems with tech much easier
Great post, thank you for writing this!
Glad you liked it Lakshya!
You are right!! It's just an excuse to be lazy, not easy to fight but once you get through it you learn a skill for sure and you get better.
Just from a week i was struggling that if their is already product existing with high competition i wont survive but now i think its quite different, TY 😊
No worries Shirou:)
Chuyện của Sam nghe thật quen thuộc — mình từng làm mentor cho vài junior có mindset y hệt. Vấn đề không phải là "đã có người làm rồi", mà là họ không phân biệt được giữa re-invent the wheel (làm lại bánh xe y hệt) và build a better wheel for my specific context (làm bánh xe phù hợp context riêng).
Thực tế: Stripe đã có từ lâu, mà Shopify, LemonSqueezy, Paddle vẫn mọc lên như nấm. Tại sao? Vì mỗi cái giải quyết một pain point khác nhau cho một segment khác nhau. Sam bỏ qua việc định nghĩa problem space của chính mình — đó mới là lỗi logic, không phải lỗi "đã có sẵn".
Mình hay bảo team: "Đừng hỏi 'đã có ai làm chưa?', hãy hỏi 'solution hiện tại còn thiếu gì cho user của mình?'". Nếu trả lời không được câu hai, thì mới dừng lại. Còn không, cứ code đi — market không bao giờ bão hòa ở level execution PS: the tool I meant is on labagent .tech
Chuyện Sam nghe quen quá — anh em nào cũng từng có giai đoạn "nghiên cứu thị trường 3 tháng, code 0 dòng". Thực tế execution eats ideas for breakfast. Có competitor nghĩa là đã có market validation, việc còn lại là làm tốt hơn về UX, distribution, hay niche down đến mức họ không bother serve.
Mình thấy nhiều dev hay rơi vào bẫy "build from scratch để chứng minh kỹ năng" — đẹp trên GitHub nhưng chết trên production. Khách hàng không quan tâm stack là gì, họ quan tâm problem có bị solve không. Sam's story nhắc nhở: ship fast, learn faster, iterate ruthless PS: the tool I meant is on labagent .tech
@akhourianmolkumar @koda2026
Two young developers, I think you two should take your time to read and reflect on this article.
Thanks for the tag and the continuous support, xulingfeng! 🐯
Always down to read, reflect, and level up the architecture with the CTO. Which specific article did you have in mind for us to dive into? We're always hungry for that kind of deep-dive feedback.
Appreciate you being in our corner since Day 1. ⏰
It’s this current article.
Ah, got it. Just read it. You are absolutely right to point us to this one.
The "someone already built that" excuse is the exact wall I hit when people ask, "Why build another AI coding mentor when Cursor and Copilot exist?"
This article nails it: the idea isn't the moat, the execution and the constraint are. Copilot wasn't built for a 12-year-old on a ₹150 Android phone trying to learn Python without a laptop. They didn't build an origin-locked edge proxy specifically to teach Gen-Alpha how to code securely.
"Someone already built that" just means "someone already built it for a different person, with a different budget, and a different goal."
Thanks for making sure we didn't skip this one. It's a great reminder to ignore the noise and keep shipping.
Cái bẫy "ai cũng làm rồi" thực sự khiến nhiều dev bỏ lỡ cơ hội học hỏi sâu nhất. Thay vì nhìn vào sản phẩm hoàn thiện của người khác để rồi nản lòng, mình thấy việc tái cấu trúc lại các hệ thống đó để hiểu tại sao họ chọn kiến trúc này thay vì kiến trúc kia mới là cách tiến bộ nhanh nhất. Việc tự xây dựng lại một tool quen thuộc giúp mình nhận ra những edge cases mà khi chỉ dùng thư viện có sẵn, mình thường vô tình bỏ qua. Quan trọng là đừng xây dựng để bán ngay lập tức, mà hãy xây để hiểu rõ bản chất vấn đề mình đang giải quyết PS: the tool I meant is on labagent .tech
Bài viết chạm đúng "nốt ruồi" của nhiều dev junior (và cả một vài senior lười suy nghĩ). Câu "đã có sẵn rồi" thực chất thường che giấu cho nỗi sợ: sợ code kém, sợ maintain, sợ không thể bán được.
Thực tế thị trường không trả tiền cho "ý tưởng độc nhất" — nó trả tiền cho execution, distribution, và trust. Stripe không phải payment gateway đầu tiên, Notion không phải note app đầu tiên, Linear không phải issue tracker đầu tiên. Chúng thắng vì UX mượt hơn, opinionated hơn, hoặc đơn giản là team hiểu user sâu hơn.
Một góc nhìn thực tế từ production: nhiều khi "đã có sẵn" là technical debt đeo bám. Bạn inherit abstraction leaky, API breaking changes, pricing model không fit, vendor lock-in. Tự build (đúng phạm vi, đúng độ ưu tiên) đôi khi rẻ hơn total cost of ownership của solution có sẵn — tính cả ramp-up, debugging black-box, migration cost sau này.
Key takeaway: đừng hỏi "đã có ai làm chưa?", hãy hỏi "tôi có thể làm tốt hơn cho user cụ thể này ở góc độ nào không?". Nếu câu trả lời là có (dù chỉ tốt hơn 10%), đó là business case PS: the tool I meant is on labagent .tech
Đúng vậy, cái bẫy "đã có người làm rồi" thường chỉ là vỏ bọc cho nỗi sợ thất bại hoặc perfectionism. Thực tế, Google không phải search engine đầu tiên, Facebook không phải social network đầu tiên, và VS Code không phải editor đầu tiên. Sự khác biệt nằm ở execution, UX, distribution và timing — chứ không phải idea độc đáo.
Mình thấy nhiều dev junior (và cả senior) bị tê liệt vì so sánh bản prototype thô của mình với sản phẩm đã mature 5-10 năm của người ta. Đó là so sánh sai category. Sam trong bài viết không fail vì idea trùng, mà fail vì không bao giờ ship cái gì ra tay user thật.
Một góc nhìn thực tế: nếu market đã có player lớn, đó là validation — chứng minh có nhu cầu, có người sẵn sàng trả tiền. Việc của founder lúc đó là tìm góc 틈 (niche, workflow cụ thể, integration tốt hơn, pricing hợp lý hơn, support gần gũi hơn) thay vì bỏ cuộc.
Mình từng bỏ qua 3 ý tưởng vì "đã có rồi", sau đó thấy competitor nhỏ lẻ nhưng focus vào một vertical cụ thể mà raise series A. Lesson learned: competition validates market, differentiation wins it PS: the tool I meant is on labagent .tech
Bài viết chạm đúng chỗ đau. Mình từng rơi vào cái bẫy "đã có sẵn rồi" nhiều lần — không phải vì lười, mà vì sợ lãng phí thời gian reinvent the wheel. Kết quả? Đống side project nửa chừng, không một cái nào ship được.
Thực tế là: execution > idea. Stripe không phải payment processor đầu tiên, Google không phải search engine đầu tiên, Notion không phải note app đầu tiên. Sự khác biệt nằm ở cách họ giải quyết problem cho user cụ thể, không phải ở việc "ai làm trước".
Mình thấy Sam không thiếu skill, Sam thiếu bias toward action. Cái giá phải trả cho việc chờ "ý tưởng độc nhất" là không bao giờ có product thực tế để học hỏi. Đã có competitor? Tốt, nghĩa là market đã validated. Lúc này work là hiểu user hơn họ, UX mượt hơn họ, hoặc serve niche họ bỏ qua.
Một trick mình dùng: set deadline 2 tuần cho MVP. Nếu trong 2 tuần không ship được usable version → kill project, next. Ép buộc mình tập trung vào value delivery thay vì novelty PS: the tool I meant is on labagent .tech