Interactive AntiSpin

Inspiration

As we accelerate further into the digital age, the amount of information we are confronted with increases, and it becomes harder to sort though the noise. As we advance as a civilization, it’s crucial that we get the information issue right - we need to know how to talk to each other honestly and need a system where valuable information rises to the top. AntiSpin aims to fully crowdsource the way individuals receive news and improve the signal-to-noise ratio of internet information flow.

Having participated in two hackathons between the time we registered for nwHacks and today, we spent the time brainstorming and refining our idea. During LHD, we wanted to prove to ourselves that we were capable of working with HTML, CSS and Javascript to design a rough static website. At Litehacks, we spent our time away from coding - instead refining the structure of website (how everything would function in theory) as well as the aesthetics. It was an excellent brainstorming opportunity and guided our design. For nwHacks, being confident in our HTML/CSS/JS/ and design abilities, we decided to a) redesign everything from scratch based on our brainstorming at Litehacks and b) host the website publicly and make it interactive - meaning that users could change data, and the public website would then retrieve that data from local users.

What it does

Able to host all of our website files on a public domain - nwhacks.savsidorov.com - with the functionality of being interactive. A user can go to the website and create new items.

How we built it

Originally, the desired functionality was to have users access the domain, log in through some kind of authentication system, and be able to create topic pages, source pages, and rate a source's coverage of a given topic. In this way, we wanted to set up the bare minimum functionality needed for a bottom-up, crowdsourced sense-making system.

We tried several different approaches over the 24 hours. The front end stayed the most consistent, using HTML, CSS, Javascript with React.js and Node.js. The back end was a lot more varied - we started off with trying to use Standard Library, switched to a Django + mySQL combination before finally settling on a quick Node.js implementation.

Challenges we ran into

The overarching challenge was communicating between the back end and the front end. We couldn't figure out a way to exchange data between a client and the server - due to limited knowledge and rapidly going though different solutions. For the first eight hours we worked with Standard Library, before deciding that Django would be a more long term solution, one with significantly more documentation, and finer control. Most of the rest of the time was spent learning and implementing the Django framework. However, we were not able to implement everything on time, so we ended up switching to Node.js for a quick implementation.

Accomplishments that we're proud of

Although we haven't accomplished all that we had hoped for (not even close), being forced to learn things on the fly in this high stakes environment was certainly a benefit. One of us familiarized himself further with the inner workings of React.js and Node.js for front-end development. And the other one went from zero knowledge of Django framework to some knowledge of Django framework - enough to get a basic website back end up and running (although not hosted publicly). We feel that this newly gained knowledge will help us flesh out both the front and back ends of our project going forward, as well as generally benefit us in the future.

What we learned

It's also fair to say that we got to practice communicating problems to each other. Over the many hours that we worked, keeping a clear mind and communicating exactly what works/ does not/ what the solution could be was crucial.

Additionally, I personally learned that way more advance prep should have been done. We struggled a lot with the back-end - the ability to store and retrieve data that users send out. I'm confident that if I had learned the Django framework far in advance, we would have been able to get the back end set up much more easily and be more successful. I plan on thoroughly researching it in the weeks to come in order to finally achieve our milestones for core website functionality.

What's next for Interactive AntiSpin

More learning, and more doing. We're more aware of the scope of the task before us than we have ever been, and it is much greater than we had anticipated. However, we're confident more than ever that this idea for a croudsourced news website shows promise. Participating in hackathons gave us a stellar start and taught us valuable skills, but most of the road still lies ahead. Despite the setbacks, we plan to keep working on the project in order to reach core functionality in the coming weeks and months, and introduce something that we are both proud of to the UBC community.