Inshorts: short-news app known for its 60 words aggregated content and distribution. It gained a lot of popularity because people love to read stuff quickly. This is what inspired us to create a similar thing for blogs and articles.
What it does
Summit is an article summarizer. We process the entered Medium article and give its summary to our users. We also display a bunch of randomly fetched summarized medium articles for our users to explore.
How we built it
We used ReactJS for the frontend. We created a custom Summarizer API and hosted it on Heroku. We use an NLP based approach to predict the importance of each word of a sentence and accordingly manipulate the results. We use NLTK for the pre-processing of the input text by formatting the stopwords and various other parameters. We deployed our website on Vercel for CI/CD. Most of the technologies we've used are open-sourced.
Challenges we ran into
- API - For some reason, our Summarizer API was giving a
500: Internal Server Erroron its first call but was working perfectly fine in the second call. So, we had to tweak our UI in a way that the user has to click two different buttons to get the summarized text. It turned out to be pretty good for us because now our UI is a bit more intuitive.
- Medium API response text formatting - we took a lot of time to figure out that the quotes(") in our Medium API response text were closing our custom API's literal before than it should. Therefore, we had to remove all the quotes from the text before posting it to our Summarizer API.
- Giving summary length option - the challenge was to make the model regulate the length of the summary by managing the number of topics into which the document gets divided into.
Accomplishments that we're proud of
- We were able to give the option of choosing the length of the summary which not a lot of text summarizers do yet.
- Working on technologies that we've never worked on before.
- We've tried to maintain a good commit history by using emoticons in our commit messages.
- We've maintained a decent README, Github Wiki, Github Project Boards, and extensively used Issues and PRs while working on branches.
Pod Number and Team Member Names
Pod 1.1.3: Sneaky Skylarks Team Members: Rohan Rout, Rachit Gupta, Harsh Bardhan Mishra, AB Satyaprakash.
What we learned
- Rachit - frontend using ReactJS, working with a custom API, and sending get and post requests.
- Rohan - NLP and use of NLTK with python.
What's next for Summit
- We're gonna extend our services to other blogging platforms and not just Medium. For eg, Substack, Hashnode, Dev.to, Quora, etc.
- Automatic article recommendation system based on user's input history.