什麼是 Side Project

Side Project 是指用業餘時間開發的專案,通常是想要解決某個問題或是滿足自己興趣。滿常看到社群討論要做什麼 Side Project,以及有些人會分享他們的作品。本文分享我對 Side Project 的看法,順便介紹我之前做的幾個 Side Project。

Side Project 可以是寫程式、寫書、寫文章、做公益、演講或藝術創作也都算,不過以軟體工程師角度來說,通常 Side Project 就是寫程式開發,可能是瀏覽器外掛、手機 App、Chatbot、網站、桌面軟體等。

工程師擅長自己動手解決問題,Maker 精神可以說是理工人的浪漫,所以科技宅才會有各式各樣的 Side Project。

我目前為止的「程式類型」的 Side Project,分別是氣象喵Vocabulary Titan安琪兒,這三個剛好都是 Chatbot,本文後面會詳細介紹。

其他人做的 Side Project 服務很多我覺得也很不錯,像是有人做了自動幫 YouTube 標記時間的外掛、幫蝦皮果園自動澆水的網站、口罩地圖等等,大家都是投入閒暇時間做了便利大眾的服務。

Side Project 定位

我對 Side Project 定位是好玩的東西,或是做一個自己想用的東西。我想好玩應該是鐵定要的,不然就沒動力做下去了,同時作品的初衷應該是要解決自己的需求,需求可以是當作練功、為了作品集、休閒娛樂、幫自己解決問題。

像是我因為準備英文考試需要大量查單字,發現市面上沒有任何產品符合我預期,所以就開發了 Vocabulary Titan。這個 Chatbot 我用得很開心,幫我省下非常多查單字時間。當作品是我自己想用的東西,它就已經被賦予無與倫比的價值。

而且自己的需求同時可能也是其他人的需求,剛好很多要考英文的同學也需要常常查單字,所以後來 Vocabulary Titian 快速被分享累積不少使用者。一個作品如果可以給他人帶來便利的話,它的價值更是好幾倍。退一步說,就算這個作品推廣不出去,起碼它帶給自己很多好處,這樣就已經足夠了。

如果有野心一點的話,Side Project 也可以專門解決他人的痛點。如果一開始目的是希望自己的作品可以有很多人想用的話,就需要觀察目前市場的缺陷,找到某個產品、服務不夠完受或是根本沒有被生出來,然後替使用者提出一個有效可行的解決方案,這樣的話這個作品就「有機會」是大家的解方。不過以這為出發點的話,難度比較高,因為要讓自己用自己的東西很簡單,但要讓別人會想用你的產品本身就很困難。同時成就感來自作品「有很多人使用」,萬一打入不進市場,那這 Side Project 就變的一無是處,不僅會沒有成就感,還會落得沒人使用連自己也不想用的窘境。

我的 Side Project

Vocabulary Titan

前陣子我在準備英文考試,就發現自己查英文單字時很不方便。我常常需要去查生難闢字,通常大家不外乎就是找主流的英英字典去看意思和例句。

GRE 單字由於過於少見,通常一個字典不一定會有定義或例句,這時候就要查下一個字典,開兩個網站後才找到答案,這個過程實在冗長。

於是我就興起寫一個 Chatbot 來簡化這些繁雜的步驟,之所以選 Chatbot 是因為我不需要華麗介面,我只是想要查意思和例句,那麼 Chatbot 簡潔的文字介面就非常足夠,而且我也可以快速輸入。

那時我完成之後發在台大版,果然如我預期一般,瞬間竄紅,受到台大學生熱烈迴響。想想全世界多少人需要準備英文考試?而我簡單調查一下,卻沒有找到滿足我需要的服務,我有的需求我相信同時也是大家的痛點,因此就做了 Vocabulary Titan 這個 Chatbot。

短短發佈一天,就衝到兩千使用者,後續更是有超過七千名用戶。對於工程師來說,沒有什麼比自己的產品受到歡迎更值得雀躍的事情了。
(我可能每年留學季都宣傳一下,應該可以有更可觀的使用者數量)

這個專案同時也要謝謝我的朋友簡嘉彤幫我畫了這麼可愛的封面和頭貼。

使用畫面如下:
Vocabulary Titan 使用情境

可以參考 Demo 影片:

傳送門:Vocabulary Titan Line 好友連結

氣象喵

氣象喵是當初我在台大大氣時,林博雄教授希望可以替氣象測站寫個簡單的網站或 App 方便即時查看資料,但我認為只是查看資料還要開網頁或是開 App 步驟太繁瑣,Chatbot 簡單的文字介面應該就可以符合需求。

所以就寫了「氣象喵」將幾乎所有氣象資料都串連進去,你可以用他查天氣狀況、看氣象圖、看衛星雲圖、看空氣品質監測圖,還可以直接看氣象站、空氣測站的即時數據。老實說一般民眾其實也不需要知道那麼多細節的數據,但大家可能看到數字就很開心,所以累積用戶也達到五千之多。

這個專案算是以解決他人痛點為出發點,但其實立場也沒那麼強烈,因為現在手機都會內建顯示氣象資訊。但是,氣象喵做到可以讓氣象資訊在群組中直接分享,你可以在群組聊天的過程中很自然讓大家看到氣象資訊,就像下圖:

氣象喵使用情境

當初我因為好玩做了一堆功能,而我自己最常用的功能是查看空氣品質和查氣象站資料,比方說我覺得空污好像很嚴重時,會開氣象喵直接叫出空氣品質圖來看,這個流程我保證是所有方案中最快的。

這個專案我還有寫文章「來寫個氣象機器人吧!」,完整介紹怎麼樣建構出這個 Chatbot。

參考 Demo 影片:

話說當初抓了不少氣象局的資料,最近氣象局改版導致一堆資料抓不到,還好我學妹何宜臻抽空幫我修補,十分感謝她!(雖然服務幾乎停擺快兩個月,原本的忠實用戶大概都跑光了 QQ)。這也讓我意識到,Side Project 仍需要花時間維護,隨著自己越來越忙,專案不見得有心力去更新,這實際上也是很多開源專案面臨的窘境。同時我也取消過去有的一些服務,像是之前有辨識雲照片的功能,模組建構在 AWS 上,但使用率不高又花成本,我就把這功能拿掉了。

傳送門:氣象喵 Line 好友連結

安琪兒

安琪兒是一個娛樂搞笑用的 Chatbot,他的原型來自「阿扁大俠」,也是一個有娛樂效果的 Chatbot,當初我女友找我跟他一起玩阿扁大俠,我用了之後覺得滿不順手,他很多指令設計得很差,而且功能太少,所以我就自己寫了一個。

我的安琪兒可以玩「猜數字」、「五子棋」、「劃圈圈」,後來覺得 4 個數字的猜數字太簡單,還研發出「猜數字強化版」,必須要猜五個數字!安琪兒還可以抽各種圖片,包含正妹、梗圖、星運圖、美食等,那陣子我和女友玩得不亦樂乎,每天都在猜數字,無聊時還可以抽抽圖片。安琪兒的頭貼我依據他搞笑性質,特地將我自己照片「醜化」過後當作他的圖示。

這個專案的動機主要算是滿足自己需求,也就是讓我跟女友聊天的時候多點樂趣。我想別人應該也會覺得有趣才對,不過這專案我沒特別花心力推廣,但也累積五百左右的用戶。

傳送門:安琪兒 Line 好友連結

結論

對我來說 Side Project 必須很好玩,其實做 Side Project 就是一種創作,它甚至可以不帶有目的。舉例來說,我也很喜歡畫畫,很多時候畫出來的作品是沒有道理的,但是我可以替它講一個故事,解釋為啥當時我在畫作上塗上這些顏色、加了這些圖案。

每個藝術家都希望他的藝術被人欣賞,我們也都希望 Side Project 被人看見並使用,所以我提出一開始先做自己想用的東西,因為至少你是你的作品的第一忠實用戶。而若是有幸變紅,那更是無比榮耀和喜悅。

本文也介紹了我之前三個專案的來龍去脈,我覺得我做的東西很酷,所以想介紹給大家使用。我也期待各位有很酷的作品日後分享給我!