Inspiration
Legends Animated is a non-profit organization with a mission of promoting “the awareness and appreciation of animation as a medium for all forms of storytelling.” Inspired by the guerrilla filmmaking movement, Legends Animated truly helps provide underrepresented, independent animators with a platform to share and develop their stories. Being able to search and sort specific data from the tax return forms of nonprofits around the nation would help them find the right financial partners, ensuring that their apprentices and employees are always fairly compensated for their efforts.
What it does
Nine-90 allows the user to search through the available PDFs from 990 tax returns of nonprofits around the nation with different search options including geographic location, grant application process, the grant application recipient, submission deadlines, restrictions and limitations, and whether or not the foundation accepts unsolicited requests for funds. Apart from this, Nine-90 can also search through data on nonprofit salaries with search options of geographic locations, annual gross revenue, annual net revenue, and employee title, such as those including keywords like director and chief, making it easier for Legends Animated to succeed.
How we built it
Our program was built through three stages: scraping the information from the 990 tax return forms, applying Elasticsearch using Svelte as our framework, and designing the front-end code for the user interface. The program also uses Leaflet to implement the geographical location requirements of the problem.
Challenges we ran into
While Nine-90’s main function is to search through and interpret the IRS data, it was quite difficult to interpret the XML data, which also had a corrupted zip file. Our plan for the API was discarded after a few hours of work due to a lack of necessary data. On the front-end side of our project, working with and integrating Elasticsearch into Svelte was a big challenge, as our team had little to no prior experience working with the engine. In addition to the integration of Elasticsearch and Svelte, our team had a lot of trouble getting the search bar (a primary feature) to work. We also encountered many problems with the actual data from the IRS files as some were corrupted and some were filed incorrectly, causing our program to crash.
Accomplishments that we're proud of
After finally finishing this project, we are extremely proud of all of our technical accomplishments and everything we have learned through this experience! Over the course of the past couple of days, we used multiple APIs, integrated Elasticsearch and Svelte, decoded XML, and processed the data.
What we learned
Working on Nine-90 for Legends Animation taught us that while creating real world applications can be stressful and challenging, but working on them for a worthwhile cause can be extremely fulfilling. It was definitely intimidating when we were first introduced to the problems we needed to solve, but by working together, we were able to achieve our goal!
What's next for Nine-90
If provided with more time to work on Nine-90, there are many improvements and features we hope to include. While we did initially hope to include a map using Leaflet, actually integrating it with our other code was an issue, so our main priority would be including the map for geographical search. We would also hope to include more search terms in general to further filter the tax forms. The XML edge cases were a big issue towards the end of the hackathon so we handled it in a very rushed manner. In the future we would like to spend more time to better handle the edge cases. A final feature we hope to include is a way to have more information about the results with links to external resources as we believe it will be extremely beneficial for Legends Animation.
Built With
- elasticsearch
- fast-xml-parser
- heroku
- javascript
- skeleton
- svelte
Log in or sign up for Devpost to join the conversation.