ninja-brain is a Django Ninja-powered microservice that uses a custom-trained NLP model to extract structured data from incoming SMS messages. It is part of the Street Ninja ecosystem, a platform designed to help homeless individuals in Vancouver access critical resources through fast, SMS-based support.
This service performs Named Entity Recognition (NER) to detect:
- ๐ Location โ Where the help is needed (address, intersection, landmark, neighborhood)
- ๐ฝ๏ธ Resource โ What is being requested (food, shelter, toilet, water fountain, wifi, etc.)
- ๐ท๏ธ Qualifiers โ Additional constraints (
women-onlyorpet-friendlyshelters, for example)
Built using:
- ๐ง Machine Learning (spaCy NER)
- ๐ฌ Natural Language Processing (custom annotation pipeline)
- โ๏ธ Django Ninja (high-performance API framework for Django)
- Ninja Brain (you are here) โ NLP microservice for parsing and routing SMS inquiries
- Streetlight API โ Public API for homelessness resources in Greater Vancouver
- Ninja Crawl โ Python-based scraping engine (HTML/PDF โ JSON)
- Street Ninja SMS App โ SMS assistant for accessing resources by text
- Street Ninja Website โ Try out the SMS assistant and explore the project