DBC NY Student Project: Thoughtly
Link: thoughtly.io
Built by: Adrian Soghoian, Ian Shuff, Richard Macias, Natalie Baer
What is your app?
Have you ever found an article on a topic of interest, but did not have the time to finish reading or explore the topic in greater detail?
With Thoughtly, users can easily mark topics of interest and return to them later. Thoughtly takes the topic, and searches for relevant information, which is stored in an intuitive and user-friendly interface, allowing users to quickly explore topics in detail.
Why is this app meaningful to your group?
This project introduced us to a wide range of new and interesting technologies, and the final product will be useful to us as we learn about new topics.
What technologies did you use and why?
We used the following APIs:
Google Freebase
Alchemy Concept Tag, Keyword Tag, and Scraping
NYTimes
YouTube
Financial Times (Education version)
Coursera
TED
Wikipedia
Chrome.storage
We used some of these interesting gems to improve our project:
SASS
HTTParty
Google API client
Capybara
Dotenv
We used the following technologies:
Google Chrome Extension
Ruby on Rails
Javascript
Describe the workflow process of your team
We each focused on one area at a time, as delineated in Trello. We set milestones every day and a half, and had standups every 2.5 hours to ensure we were progressing towards completion. Each milestone included a list of features we intended to implement along with ownership.
What struggles and problems did you encounter? (both technological and interpersonal)?
No interpersonal challenges. We had a democratic process. We abided by Holocracy and used Trello.
For areas that required group input we worked together, for new topics we paired. There were some technical challenges but none were insurmountable:
(1) Learning new libraries: Ian focused on learning arbor.js and though it was challenging he was able to make a successfully functioning node graph.
(2) Unexpected API responses: Some of our APIs did not give back information or function as expected. For example, we originally planned to use the Freebase API as the backbone of our project. However, upon further investigation we found that it did not provide the information we expected to see. Rather, we used a library of other informative and curated APIs. To get the names and descriptions to appear, the API information was insufficient and we had to use scraping.
(3) Challenges with authentication: Adrian spent significant time on authorization and authentication, trying to get the Google Chrome extension to play well with the website. Though he ultimately succeeded, the path included installing and uninstalling several potential options.
In hindsight, what might you have done differently?
We originally over-focused on making our app a single page app and explored using Angular JS. Ultimately we decided to prioritize feature development and felt we could achieve a comparable result through simplicity of design and a friendly UX.
What's next? (what features would you like to add, etc)
Further refine the algorithm to increase the accuracy of topics returned from the Alchemy API
Oauth on rails app and Chrome extension
Create more entry points for users to create categories. For example, node interaction with category list or text fields.












