嘿,開發者社群! 👋

好了,事情是這樣的☕——我最近贏得了實時 AI 代理挑戰賽(五彩紙屑🎉),和所有有自尊心的開發者一樣,我的第一反應是想和全世界分享這史詩般的勝利。然而,現實卻比 JavaScript undefined錯誤更殘酷…

{% 連結 https://dev.to/devteam/congrats-to-the-winners-of-the-real-time-ai-agents-challenge-powered-by-n8n-and-bright-data-104c %}

問題:分享勝利不該這麼難! 😤

想像一下:你贏得了一項挑戰,欣喜若狂,想要在數位平台上大聲宣告。但你會分享什麼呢?一個普通的獲獎公告連結?這就像在黑暗模式下看著油漆變乾一樣令人興奮。

我嘗試過分享這個連結,但說實話——社交媒體上的連結就像生日派對上的蔬菜一樣。技術上來說對你來說不錯,但沒人會為此感到興奮。我真正想要的是視覺上的東西,一種不用尖叫就能讓人尖叫「看我,我做了一件大事!」的東西。

「啊哈!」時刻:如果你想把事情做好…🛠️

就在那時,我突然想到──為什麼不做一個工具,把枯燥乏味的得獎公告頁面變成精美可分享的卡片呢?因為顯然,我解決所有問題的方案都是「做一個應用」。 😅

進入DEV 挑戰賽獲勝者展示- 這是比三份濃縮咖啡更額外但同樣必要的工具!

這個壞男孩做了什麼🚀

神奇公式:

  1. 輸入兩個 DEV.to URL → 應用程式會顯示「幫我拿咖啡」☕
  • 得獎者公告: https://dev.to/devteam/congrats-to-the-winners-<challenge-name>

  • 原始挑戰頁面: https://dev.to/challenges/<challenge-name>

開發挑戰賽獲勝者

  1. 人工智慧解析→ Gemini AI 會像閱讀最新八卦一樣閱讀這兩頁

解析

  1. 精美的卡片生成→可分享的傑作誕生

卡片生成

  1. 客製化豐富→ 因為沒有統一尺寸

客製化

讓您驚嘆不已的功能!

  • 智慧獲勝者偵測:向其提供任何 DEV.to 獲勝者的公告,它將比您說「npm install」更快提取所有獲勝者

  • 徽章狩獵:自動尋找並獲取官方獲勝者徽章(因為徽章基本上是數位獎盃)

  • 主題多樣性:由於情緒變化,有四個主題:

  • 現代:當你想在 LinkedIn 上顯得專業時

現代的

  • 復古:為了最大限度地懷舊(配有像素字體!)

復古的

  • 垂直:非常適合 Instagram 故事(因為垂直代表未來)

垂直的

  • 極簡主義:少即是多(多即是多)

極簡主義者

技術棧:稍微靈活一點💪

  • React + TypeScript :因為我喜歡我的程式碼就像我喜歡我的咖啡一樣——強型

  • Google Gemini API :AI 承擔所有繁重工作,而我則獲得榮譽

  • Tailwind CSS :當你想快速設計樣式並讓它看起來美觀時

  • html-to-image :將 DOM 轉換為 PNG 的無名英雄

真正的 MVP:重要的細節✨

雙子座整合

最酷的部分?我正在使用 Gemini 解析獲獎者貼文和挑戰頁面中的非結構化 HTML,以提取以下內容:

  • 🏆 得獎者詳情請見公告帖

  • 🎖️ 挑戰頁面的官方徽章圖片

這就像擁有一個超級聰明的實習生,他從不抱怨早餐時閱讀混亂的 HTML,並且可以像數位偵探一樣追捕徽章。

// Simplified version of the magic happening
const winnersData = await gemini.parseWinnersPost(winnersUrl);
const badgeUrl = await gemini.findChallengeBadge(challengeUrl);
// *chef's kiss* - structured JSON + badge URL comes back

自訂模式

這個東西比 Subway 三明治更可客製化:

  • 開啟/關閉任何元素

  • 像鮑伯羅斯一樣挑選顏色

  • 像室內裝潢一樣調整尺寸

  • 上傳自訂徽章,因為品牌很重要

我為什麼要建造這個(真實的談話)💭

聽著,我可以說這是為了 DEV 社區的更大利益(部分如此),但讓我們保留它💯——我想要一種更酷的方式來分享我的勝利,顯然,我無法用簡單的方式做任何事情。

但事情是這樣的──它竟然如此實用!現在任何人都可以將他們在 DEV 挑戰賽中的勝利轉化為值得在 Instagram 上分享的內容。它就像一個發光濾鏡,只不過是為了成就而生的。

結果:獲勝者卡實際上被分享了🎨

您無需分享比條款和條件滾動得更快的平淡連結,而是獲得一張精美的個性化卡片,讓人們停下來並問“等等,這是什麼?”

這就是說「我贏得了一件東西」和展示一個華麗的視覺效果說「我贏得了一件東西並且我有設計技能來證明這一點」之間的區別。

試試看! (求求你了)🙏

快去devchallengewinners.varshithvhegde.in試試吧!我甚至附上了演示網址,這樣你不用先贏得挑戰就能體驗(雖然贏得挑戰也挺有意思的)。

下一步是什麼? 🔮

我正在考慮加入更多主題,或許加入一些動畫,或許支持其他平台……或者我可能只是用它來慶祝生活中的每一個小胜利。 「我第一次嘗試就成功編譯了」的卡片,有人要嗎?

故事的寓意📖

有時,最好的工具往往源自於最個人的挫折。我想更好地分享我的勝利,所以我開發了一個完整的應用程式。這要么是專注,要么是略微痴迷——你自己決定! 😄

不過,嘿,現在我們都有辦法讓我們的開發成果看起來和感覺一樣棒了。說實話,這不就是開發的真諦嗎?解決問題,一次一個地提出一個過度設計的解決方案。


附註:如果你最後用這個工具分享了自己的成果,記得標記我吧!我就是喜歡這種認可。另外,如果你發現 bug,請溫柔地報告——我的感覺比沒有 flexbox 的 CSS 佈局還要脆弱。 🥺

PPS:是的,我意識到我開發了一整個應用程式只是為了讓分享連結更美觀。不,我並不後悔。是的,這完全是開發者的正常行為。 😎


你開發過什麼最酷的工具來解決「第一世界開發者難題」?請在留言處留言——我喜歡看到用創意解決各種奇葩問題!


原文出處:https://dev.to/varshithvhegde/i-won-a-dev-challenge-then-built-an-app-to-flex-about-it-properly-48pn


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝12   💬6   ❤️5
510
🥈
我愛JS
📝1   💬7   ❤️4
103
🥉
AppleLily
📝1   💬4   ❤️1
58
#4
💬1  
5
#5
xxuan
💬1  
3
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次