MindsDB, Plaid, and Me: A Tale of 📊 Data, 🌐 APIs, and Tons of 😂 Fun

MindsDB, Plaid, and Me: A Tale of 📊 Data, 🌐 APIs, and Tons of 😂 Fun

From Bank Statements to Machine Learning: My Contribution to MindsDB with Plaid Handler

Introduction🤖💰

Have you ever tried to make sense of your bank statements? It can be a daunting task, but with the power of machine learning, it can be made easier! And that's where I come in - I've contributed to the open-source machine learning platform, MindsDB, with the Plaid handler.💻💪

Why Plaid?🤔

First, let me introduce you to Plaid. It's a service that connects your bank accounts to third-party applications, like budgeting apps or investment platforms. It's a pretty cool service, but what does it have to do with machine learning and MindsDB?

Well, with the Plaid handler, MindsDB can now access and analyze your bank data to provide insights and predictions. For example, MindsDB could analyze your spending habits and suggest ways to save money or even predict your future spending patterns.💸💡

Contribution Journey🚀

Now, let's talk about my contribution. I worked on implementing the Plaid handler into MindsDB, which wasn't an easy feat. I had to work with multiple API endpoints and ensure that the data was being retrieved and formatted correctly. But, I'm proud to say that I did it!🙌

  1. Get an idea💡: Start by identifying what you want to add to MindsDB. If you're not sure, check out the requested handlers on the MindsDB issues page.

  2. Explore the developer portal🕵️‍♀️🔍: Look for the API or Python SDK and get familiar with the tools you'll be using. Like for me it was plaid-python

  3. Choose endpoints🎯: Decide which endpoints would be worth retrieving to engage MindsDB's machine learning power. I chose balance and transactions endpoints

  4. Understand the API Table🧐: API Table? More like, "API's got your table covered!". Here are the methods:

    • Select: Think of this as choosing which columns you want from the data. Like, "Hey API, give me the names and ages of all the cats in your database."

    • Insert: This is like adding a new row to the data. Like, "Hey API, add a new cat named Fluffy with age 3 to your database?"

    • Update: This is like changing some data in a row. Like, "Hey API, can you update the age of the cat named Fluffy to 4 in your database?"

    • Delete: This is like removing a row from the data. Like, "Hey API, can you remove the cat named Fluffy from your database?"

    • Get columns: This is like asking the API what columns (data categories) are available. Like, "Hey APITable, what columns do you have? Are there columns for cat names and ages?"

  5. Implement the API Handler🛠️👨‍💻: To integrate your system, you'll need to implement five core methods along with init():

    • _register_table(): registers the data resource in memory

    • connect(): connects/authenticates to the system

    • check_connection(): checks if the connection is healthy

    • native_query(): parses any native statement string and acts upon it

    • call_application_api(): calls the application API, maps the data to pandas DataFrame, and handles pagination

  6. Test your handler🧪✅: Make sure everything works smoothly by testing your code. Once you're confident, add a requirements.txt file with all the necessary packages and versions for running your handler.

  7. Create a PR📤💻: Once your handler works as intended, create a pull request in the MindsDB repository. Don't forget to add a README file to show how to use your handler and edit the about.py file accordingly.

And that's it! If you ever feel lost, don't hesitate to consult the MindsDB community and docs. With these steps, you'll be on your way to making valuable contributions to MindsDB in no time!

More on Plaid Handler😁😁

But, my contribution didn't stop there. I also wrote a humorous blog post about it! Yes, this very blog post you're reading right now. I mean, who doesn't love a good pun about machine learning and bank statements? "Training a model to balance your chequebook" or "Banking on machine learning to save you money" - pure gold!

So, if you're interested in trying out MindsDB with the Plaid handler, go ahead and give it a go! And if you run into any issues, just remember that there's a team of developers behind it, including myself, who are always happy to help. Let's collaborate and contribute to open-source projects like MindsDB! 🤝🌟

Thanks to MindsDB X Hashnode🎊✌

A huge shoutout to the awesome folks at MindsDB and Hashnode for organizing the Shape the Future of Machine Learning Hackathon! I had a blast diving into the world of cutting-edge machine learning tech and broadening my skillset. Now, my neural network can even predict what I'll have for breakfast (spoiler alert: it's always coffee). Thanks again for this amazing opportunity! 🚀🙌🏼🤖

Join Slack🎊 and Explore Docs✌✌