tl;dr

We love our terminals, but wish we could keep all of our attention at the command line. Stackit integrates StackOverflow queries and answers right in your terminal window, and is specifically designed for seamless integration into a software developer's workflow.

Inspiration

Ever since I learned how to use program in terminal, I found my productivity increasing as I could accomplish more tasks just by running commands in bash. I noticed my workflow being disrupted by having to navigate to my browser look up errors or searching up how to do things in StackOverflow and return to my program, hopefully remembering what I had just read, to my terminal. As we brainstormed with whiteboard markers on the windows of the bus from SCU, the prospect of writing a command-line tool that searches StackOverflow was instantly exciting. It streamlines your terminal workflow, transforms a messy copy-past between interfaces into a direct pipe from your error output to StackOverflow's search input, and means that you can access the wealth of knowledge on every programmer's favorite website without ever exiting your terminal.

Stackit doesn't "disrupt" the terminal workflow; we eliminate disruptions.

How stackit works

StackIt is a cross-platform command line tool that allows you to search StackOverflow by keyword and tag. You can also directly pipe in the error message from code you're debugging to look up solutions for your problem!

StackIt is built in Python, using the Py-StackExchange API, which allows access to StackOverflow questions and answers, and the Beautiful Soup library, lending the power to retrieve data from StackOverflow. You run the "stackit" command with flags and arguments that determine what to search, where to get search input from (keyboard or program error messages), and how to display it. From there, you can view information in your console, or choose to launch your browser and explore more.

Challenges

From the start, we wanted users to be able to run a program that generates errors and have those error statements directly input to StackOverflow. Designing a way for error messages to be redirected, formatted and input as a StackOverflow search query in the background was a unique challenge, and crafting a smooth and efficient user experience from the command line presented an interesting problem from a design perspective. The display is somewhat limited, and our goal was to make StackIt blend in with other command-line tools our users employ to make their overall development flow as seamless as possible.

Accomplishments that I'm proud of

This is this team's first first ever publicly distributed (PyPI) Python package. We've already pushed three versions. Creating a tool for everyone to use is uniquely exciting.

We've also never made something this useful before; this is a tool we now use, and hope that other people will use too. We love Oculus games as much as the next team, but stackit is something we'll want to keep on developing tomorrow morning.

What I learned

  • Bash scripting is not good for cross-platform tools.
  • We dig building text-only UIs, but it probably isn't for people who actually like design.
  • Onesies retain heat very well.

What's next for Stackit

  • Incorporation of alternative search algorithms
  • Ability to answer questions//upvote from the terminal
  • Automatic tagging of environment for query detail
  • Stashing searches
  • Continuous improvement of StackOverflow display
  • SPEED
Share this project:
×

Updates