[RAILS] A story about three and a half months inexperienced programming who created an "engineer checker" and eradicated influencers

Don't you think you've lost sight of influencers?

An influencer who made the engineer area so exciting. I'm a little sick lately.

Actually, this is the influence of the service ** "Engineer Checker" **.

Many inexperienced have awakened

The basic function of Engineer Checker is to detect ** "influencer with engineer's skin" **. There are influencers who pretend to be excellent engineers and send out to inexperienced people. It is the job of this service to relabel ** "influencers" ** to those people.

Thankfully, it has been used by more than 10,000 people in just ** 3 days since its release in July 2020.

Some of them may have been inexperienced in mistaking influencers as engineers. There may have been some inexperienced influencer apprentices who are working hard to disseminate information. Perhaps the influencer himself was also there.

Many of them were converted by using Engineer Checker. The inexperienced belief in influencers has disappeared, the inexperienced aiming for influencers has disappeared, and finally the influencers have disappeared.

Technology used

After a big introduction (fishing), I would like to write about the technology used in Engineer Checker. As the title says, it's a technology I've used for a few months since I started programming. I hope that it will be of some help to the fledgling engineers who will create a personal service portfolio in the future, in that the content of the services provided has been enhanced to some extent even if the technical skills are low.

Language / FW

Ruby 2.6.4 Ruby on Rails 5.2.4.3

This was the only language I had touched, so I wrote it. I'm not using ActiveRecord and it didn't have to be Rails. I also write CSS raw.

External API

Twitter API I used the API provided by Twitter to get tweets, names, profiles, followers, followers, etc. of the account to be diagnosed. Actually, I use a gem called twitter to hit the API. Please note that there is a request limit for each endpoint. For example, an endpoint that says "get a list of followers" can only send requests up to 15 times in 15 minutes. Reference: Rate limits — Twitter Developers

Since it is not necessary to prepare content from scratch, I think it is easy to create and use a service portfolio that brings Twitter information with an API and processes it.

Amazon Rekognition Amazon Rekognition (High-precision image / video analysis service) | AWS It is an AWS service that performs ** image analysis **. It analyzes the estimated age and gender of human facial photographs (face analysis) and analyzes what creatures and objects are in the image (label analysis). At the time of release, techniques such as using a beautiful woman as an icon to pretend to be a fledgling engineer, gathering followers, soliciting schools, and selling information products were suddenly popular, so I used it to detect it. It is also partially used to judge "cat engineer" and "muscle engineer".

The accuracy of the image analysis was almost satisfactory. Regarding face analysis, it reads the age and gender almost correctly for real human face photographs, but for many 2D icons, it recognizes the gender as Female (illustration). It's not surprising because it's not supposed to be analyzed). Also, regarding label analysis, there were cases where foxes were recognized as cats, but on the contrary, I think that cats drawn in the illustrations were often recognized as "this is a cat".

Amazon Comprehend Amazon Comprehend (Detects Text Insights and Relationships) | AWS It is an AWS service that analyzes various sentences. This time, I used only the ** sentiment analysis ** function. It analyzes which of the four types of emotions Neutral, Positive, Negative, and Mixed is closer to each in% display.

The purpose of sentiment analysis is ** "preventing misjudgment of influencers" **. Diagnosis results vary depending on the number of "influencer-like tweets" and "influencer-related tweets", but before the introduction of Comprehend, ** "tweets that criticize influencers" ** There were many cases where influencer-related tweets were evaluated as influencers, and an anti-influencer-like account was diagnosed as an influencer **, which was a serious situation as a diagnostic service **.

Therefore, by introducing Comprehend and recording only ** tweets that are emotionally positive to influencers ** as influence tweets, the number of misjudgments of influencers is overwhelmingly reduced, which is quite close to the actual situation. You can now make a diagnosis.

Since the use of Comprehend is charged on a pay-as-you-go basis, I also tried the stray gem of sentiment analysis for a while, but there was still a considerable difference in the accuracy of the analysis, and as a result I chose Comprehend.

infrastructure

Heroku (hobby plan)

With the free plan, I couldn't set my own domain other than the subdomain, so I pay 7 $ a month to make it a hobby plan.

At the end

Since the release was almost half a year ago, I think it's a topic that has completely expired, but I wrote it because I will participate in the RUNTEQ Advent calendar.

RUNTEQ of the programming school I graduated from https://runteq.jp/

Now that we've eradicated influencers, we're uncovering the darkness of real estate at a company called Collabbit! https://github.com/collabit-inc/job-offer-engineer

Recommended Posts

A story about three and a half months inexperienced programming who created an "engineer checker" and eradicated influencers
27-year-old story of becoming a development engineer from inexperienced programming
Approximately three and a half months after joining the company, an output article to feed on the reviews
A story about a major SIer engineer who can't write code properly created a blockbuster Android app with 600,000 downloads
What was good for a fledgling engineer who started programming for a year and a half, and what I thought I should have done