Our primary source of inspiration was Clippy and a little bit of sleep deprivation. We also wanted to explore making VSCode extensions.

What it does

Tacky is a Visual Studio Code Extension that 'helps' you code. Help might be a strong word. Tacky sits in his own webview tab and interacts with your workspace. Tacky has a number of features, including the commands: Awaken Tacky - Wakes up the eldritch beast (activates the extension). Help Me - Tacky will identify and highlight problems with your code (it highlights all your code and then 'accidentally' replaces it) Add Number - Let's you take the functionality of this extension to the next level a.k.a. Your Phone. (Tacky will text you a threat if you leave for 15 minutes and call you after 30 minutes) *Change Theme *- Struggling with your current IDE theme? Fear not, Tacky has suggestions. (Tacky will ask for a yes or no for his help. On a yes he'll helpfully set your workspace to light mode, on a no, he becomes very angry)

Outside of commands, we have: Random Events - As a supportive assistant, Tacky will take the initiative to provide support when needed. (This includes replacing text you've selected, adding random characters, and changing your theme). Debugger Assistant - Sometimes we all need a little help so why not let Tacky assist you! (When you enter debug mode, Tacky immediately removes all your breakpoints because breakpoints are for cowards.) Motivation Tool - Tacky is designed to promote creation. (i.e. Tacky is appeased by adding files, and angered by removing files because good devs are always making more code). Abandonment Issues - Tacky becomes very sad if you leave him for too long.

You can roll the dice on Tacky's mood by selecting "Tacky <3" at the bottom of your workspace, a feature lovingly nicknamed Chaos Mode. If Tacky's 'mood' gets worse, more random events occur, and the inverse happens if you manage to appease Tacky. There's a 50/50 chance of either.

Chaos Mode

As a bonus, we also set up a rubber ducky to auto-install the Tacky Extension, to make your life easier!

How we built it

No sleep, no hesitation. We also used Visual Studio Code as an IDE, with Javascript as the main language. We also made use of the Twilio API for the text and phone features, using SMS and ProgrammableVoice. We created an Azure function in C# to create the voice responses for the Programmable voice. We also made significant use of GitHub as our primary collaboration tool.

Challenges we ran into

One of the main challenges throughout was figuring out how to modify the contents of an individual's editor, i.e. updating and highlighting. Javascript is not a language any of the team is particularly familiar with either. Figuring out how to use the Twilio API in the way we wanted to, and integrate it into the application was also very challenging, but it was rewarding to learn a new tool. We also struggled at points with GitHub, where we ran into issues merging commits. This forced us to adapt and communicate better so we could continue to work simultaneously.

Accomplishments that we're proud of

This entire project was comprised of tools and languages that were, for the most part, pretty new to us. Particularly, we're really proud of the Twilio features. Going into it we were intending on exploring making a VSCode extension but ended up doing a lot more than we expected. We're also very happy visual design that we ended up with, our consistency with the idea of Tacky as a nuisance, and the fun we had coming up with ideas.

What we learned

Make regular Git commits. We also learned how to make a VSCode extension, how to work with Twilio, as well as API's in general. We learned more about how to work in JavaScript, and JSON files. Finally, we learned it's not about the horrors you create, but the friends you make along the way.

What's next for Tacky the Thumbtack

World Domination. Also, We would like to make Tacky's mood shifts more dynamic based on cumulative events. As well as adding more debugging 'tools'.

Share this project: