【個人開発】アイデアに困った時に見るアイデアまとめを作ろうとしてやめたので供養します

公開日:2018-12-07
最終更新:2018-12-09
※この記事は外部サイト(https://mtfum.work/blog/startuplist/)からのクロス投稿です

こんにちは。

Webサービスではないですが、途中までやってたけどやめた話をします。

どうぞよろしくお願いいたします。


何を紹介するの?

さて、本日公開するものは世界中で個人、またはスタートアップで開発されたサービスをまとめます。

スクレイピングしてまとめのSpreadsheetを作ろうとしていましたが、途中でめんどくさくなりました。ので供養します。

[StratupList | SpreadSheet]

*あくまでも自分用に作っていたのを公開するだけなのでなんの工夫もなくクオリティとかは大したことないです、、でもサービスのプロトタイプの考え方で言えばこれで十分じゃないかとか言い訳してみたり、、ぐぬぬ

なんでつくったの?

「個人開発者になりたい、そんでもって一発当てたい!」と思っているのですが、一人で作ったものが大当たりするなんて相当な何かがないと難しいと思っていて、だったら誰かが成功した道を同じように辿ればいいんじゃない?という考えに至ったのが始まりです。

また、日本人にとって海外のプロダクト・サービスは一切触れる機会がなく、向こうで有名だったとしても、日本語にローカライズされない限りは利用者は増えません。

そこで、日本人のために日本語で作れば、日本のインターネットコミュニティの中でバズることができるのでは?と考え、そのために情報を集め始めたのがきっかけです。

どこから情報を取っているの?

現在では、2つのサイトから取っています。

  1. [ The 24 Hour Startup Challenge ]
  2. [ Breakout List ]

ですが、UIも美しく見やすいので普通にサイトに飛ぶのがオススメですよ。

上記のサイトは開発者も知らないようなサイトです。
結構ニッチなアイデアだったり、とてもインスピレーションが得られそうなものなど、ずっと見ていても自分は飽きないのでたまに見ているのですが、日本人がリーチしないのも勿体無いなと思います。

今後も、定期的に更新できたらいいですし、日本語の注釈やらもつけられたらなと思います。

使っている技術は?

一応AdventCalendarだし技術的な内容も軽く掲載しておきます。

puppeteerを利用してスクレイピングしており、取得した情報をgoogleapisで書き込んでいます。
puppeteerについて詳しくは以下の参考記事をご覧ください。

例えば、The 24 Hour Startup Challengeをスクレイピングするには下記のコードで実現できます。
もっといい書き方があると思います。。

sheetsというのは別モジュールで、SpreadsheetsのAuthや、スクレイピングしてできた配列を実際に書き込む処理をするようになっています。

const sheets = require('./sheets')  
const puppeteer = require('puppeteer')  

const scrape = async () => {  

  const browser = await puppeteer.launch()  
  const page = await browser.newPage()  
  await page.goto('https://24hrstartup.com/voting')  

  let links = await page.$$eval('.product-card__caption > a', async (list) => {  
    return list.map(data => data.href)  
  })  

  let result = []  
  for (link of links) {  
    try {  
      await page.goto(link)  

      let title = await page.$eval('div.header__headlines > h1', item => {  
        return item.textContent  
      })  
      let description = await page.$eval('div.header__headlines > p', item => {  
        return item.textContent  
      })  
      let productLink = await page.$eval('div.row > div > a', item => {  
        return item.href  
      })  

      result.push([  
        title,  
        description,  
        productLink  
      ])  
    } catch (err) {  
      console.log(err)  
      continue  
    }  
  }  

  browser.close()  
  return result  
}  

const main = async () => {  
  try {  
    const array = await scrape()  
    sheets.write(array)  
  } catch (error) {  
    console.log(error)  
  }  
}  

main()  

なんか見栄え悪くない?

ロゴ取ればよかったと反省しています。。
面倒臭さが勝ってしまいました。

というか<div "style="background-image: url(&quot;https://24hrstartup.com/storage/product-images/hoge/image.jpg;);"></div>のようなbackgrround-imageのURLの取り方がわからなかったですw
誰か教えてください笑

なんで挫折したの?

限りある人生の中において、リソースを割くべきものでなく、時間対効果が悪いと判断し戦略的撤退を余儀なくされました。
残念です。

Twitterやってる?

やってます!

[ mtfum | Twitter ]

フォローお願いします!!!
たぶんフォロバします!

最後までお読みいただき、ありがとうございました!!!!

記事が少しでもいいなと思ったらクラップを送ってみよう!
18
+1
@mtfum'の技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする