Giter Club home page Giter Club logo

cycle-saviors's Introduction

๐Ÿšด CycleSaviors

Inaugural Pinecone hackathon submission.

Click to see our deployed submission!!!!

Identified Problem

It's estimated that in North America bike theft results in more than $500 million in losses each year. It's also estimated that a bike is stolen every 30 seconds and impacts nearly 2 million cyclists1. Bikes, unlike other forms of transportation, don't require a registration number, and as such are easy to re-sell in on-line marketplaces such as eBay, Craigslist, Kijiji, and Facebook1.

The best tools to combat bike theft are proactive, these include locks, alarms, keeping your bike inside, anything that can be done to prevent the theft from happening. Once a bike is stolen, there are several reactive tools and services that exist to help locate and recover the bike. These include bike registries, such as project529 and BikeIndex where stolen bikes can be cross-listed with found bikes, hidden gps trackers, and law enforcement.

None of the current reactive solutions provide a way to more efficiently locate a stolen bike across the wide array of on-line marketplaces. As such, the process of finding a stolen bike relies heavily on manual search and online bike forums, where users can ask other users to "keep an eye out".

1https://project529.com/garage/org_faq/en/fighting%20bike%20theft/background-on-bike-theft/

Proposed Solution

We want to help fill the gap in stolen bike searchability by creating a bike theft assistant that will help a victim search for their bike across multiple on-line marketplaces using an image of their bike and textual metadata. If the bike is found, the assistant will provide guidance on actions to take, such as alerting the online marketplace that this is a stolen bike or contacting the lister.

This tool differs from current search solutions in that we use vector embeddings of images along with textual metadata to filter and find similar ads listed in online marketplaces based on vector similarity. This is a much more efficient way to find a stolen bike versus keyword search.

Proposed Architecture

image info

Getting Started

Dependency management and environment are handled in devcontainer

  1. Clone this repository
  2. Ideally open the codebase in VS Code
  3. Rename configs/.env-example to configs/.env and fill in the secrets
  4. In VS Code run ctrl+shift+p to open the command pallete, type Dev Containers: Rebuild and Reopen in Container - you are now developing in custom container.
    • All packages will be installed container wide from requirements.txt pinned to Python 3.10
    • All functions under src will be installed as an editable package and available for import anywhere in repo
    • Keys defined in configs/.env will be available container wide from os.getenv() - no need to loaddotenv() in python
  5. You can pip install directly in the container. When adding new packages before making a commit run pip list --format=freeze > requirements.txt --exclude-editable

File Structure

Overview of repository codebase

โ”œโ”€โ”€ .devcontainer           # Containerized environment management
โ”œโ”€โ”€ app                     # Frontend application files
โ”œโ”€โ”€ configs                 # Secrets
โ”œโ”€โ”€ data                    # Output of batch pipelines
โ”œโ”€โ”€ pipelines               # Batch pipelines
โ”‚   โ”œโ”€โ”€ data                # Get data
โ”‚   โ””โ”€โ”€ index               # Create Pinecone index and upsert
โ”œโ”€โ”€ src                     # Source files installed in editable mode
โ”œโ”€โ”€ .gitignore
โ”œโ”€โ”€ pyproject.toml
โ”œโ”€โ”€ requirements.txt
โ”œโ”€โ”€ setup.cfg
โ””โ”€โ”€ README.md

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.