title
Watch Me Build a Finance Startup

description
I've built an app called Artificial Advisor that helps you manage your personal finances. After connecting to your bank account, it automatically categorizes your transactions and helps you allocate a monthly budget. You can ask the app questions about your budget and it will also make automated investment decisions for you in several stocks in the industry of your choosing. In this lecture, i'll explain the code and thought process I used to build it so that you can build your own finance startup. I used Tensorflow + Firebase + Plaid + Dialogflow + Alpaca to build this. Enjoy! Code for this video: https://github.com/llSourcell/Watch-Me-Build-a-Finance-Startup Please Subscribe! And like. And comment. That's what keeps me going. Want more education? Connect with me here: Twitter: https://twitter.com/sirajraval Facebook: https://www.facebook.com/sirajology instagram: https://www.instagram.com/sirajraval I also have an ongoing challenge for any Wizard brave enough to start their own startup. See details + rewards here: https://github.com/llSourcell/Build-an-AI-Startup-with-PyTorch Make Money with Tensorflow 2.0: https://youtu.be/WS9Nckd2kq0 How to Make Money with Tensorflow: https://www.youtube.com/watch?v=HhqhF... 7 Ways to Make Money with Machine Learning: https://www.youtube.com/watch?v=mrRfp... Watch me Build an AI Startup: https://www.youtube.com/watch?v=NzmoP... Intro to Tensorflow: https://www.youtube.com/watch?v=2FmcH... Join us in the Wizards Slack channel: http://wizards.herokuapp.com/ Hit the Join button above to sign up to become a member of my channel for access to exclusive live streams! Join us at the School of AI: https://theschool.ai/ Signup for my newsletter for exciting updates in the field of AI: https://goo.gl/FZzJ5w And please support me on Patreon: https://www.patreon.com/user?u=3191693 Join my AI community: http://chatgptschool.io/ Sign up for my AI Sports betting Bot, WagerGPT! (500 spots available): https://www.wagergpt.co

detail
{'title': 'Watch Me Build a Finance Startup', 'heatmap': [{'end': 254.053, 'start': 193.959, 'weight': 0.868}, {'end': 1083.592, 'start': 1055.132, 'weight': 1}], 'summary': 'Demonstrates building a finance startup by creating the artificial advisor app for personal finance management, developing an ai startup for sentiment analysis on twitter data for stock investment, integrating ai in finance and android activity lifecycle, using alpaca api for stock purchase strategy, implementing plaid link for bank authentication and data visualization, and configuring dialogflow and tensorflow for conversation and sentiment analysis.', 'chapters': [{'end': 174.126, 'segs': [{'end': 106.549, 'src': 'embed', 'start': 65.26, 'weight': 0, 'content': [{'end': 69.603, 'text': "It's going to pull all of my transactions directly from my bank account into my app.", 'start': 65.26, 'duration': 4.343}, {'end': 75.126, 'text': "Then it's going to display the categories of purchases that I've made in the past month.", 'start': 70.064, 'duration': 5.062}, {'end': 80.87, 'text': 'And that could be food, that could be transport, whatever, and it will visualize that as a pie chart, as we see here.', 'start': 75.726, 'duration': 5.144}, {'end': 87.914, 'text': "Then, once it has all of that data, it's going to take a 1% cut of that, and that's gonna be an investment.", 'start': 81.55, 'duration': 6.364}, {'end': 88.755, 'text': "That's what we're gonna do.", 'start': 88.194, 'duration': 0.561}, {'end': 91.797, 'text': "We're gonna take a 1% cut of your monthly budget.", 'start': 88.795, 'duration': 3.002}, {'end': 95.579, 'text': "And once I've done that, I have an artificial advisor that I can talk to.", 'start': 92.337, 'duration': 3.242}, {'end': 96.74, 'text': "I'll go ahead and say hello.", 'start': 95.859, 'duration': 0.881}, {'end': 106.549, 'text': "Now I'm going to ask my artificial advisor, how much is my balance? just to see what it is.", 'start': 97.28, 'duration': 9.269}], 'summary': 'App pulls bank transactions, categorizes spending, takes 1% cut for investment, and provides artificial advisor.', 'duration': 41.289, 'max_score': 65.26, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI65260.jpg'}, {'end': 150.584, 'src': 'embed', 'start': 129.47, 'weight': 2, 'content': [{'end': 139.196, 'text': "Well, based on this budget, can I afford some products? So for example, I'll ask, can I afford a Tesla Model S? So that would go under Transport.", 'start': 129.47, 'duration': 9.726}, {'end': 142.339, 'text': 'It will pull the price of a Tesla from the Google API.', 'start': 139.497, 'duration': 2.842}, {'end': 144.72, 'text': 'It will compare that to how much I have in my budget.', 'start': 142.759, 'duration': 1.961}, {'end': 146.942, 'text': "And it's going to say, not this month.", 'start': 144.74, 'duration': 2.202}, {'end': 150.584, 'text': "It's outside of the range of your budget of $10 in this test case.", 'start': 147.162, 'duration': 3.422}], 'summary': 'Budget analysis using google api shows tesla model s is not affordable within $10 budget.', 'duration': 21.114, 'max_score': 129.47, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI129470.jpg'}], 'start': 0.049, 'title': 'Creating artificial advisor app', 'summary': 'Demonstrates the creation of an app, artificial advisor, for personal finance management. it integrates multiple bank accounts using plaid, visualizes spending categories through pie charts, and provides investment advice with a 1% cut of the monthly budget and stock selection.', 'chapters': [{'end': 174.126, 'start': 0.049, 'title': 'Artificial advisor demo', 'summary': 'Demonstrates the creation of an app, artificial advisor, for personal finance management, integrating multiple bank accounts using plaid, visualizing spending categories through pie charts, and providing investment advice with a 1% cut of the monthly budget and stock selection.', 'duration': 174.077, 'highlights': ['The app integrates multiple bank accounts using Plaid, allowing the visualization of checking and savings account balances and the categorization of purchases into pie charts. The app enables integration of multiple bank accounts via Plaid, which facilitates the visualization of account balances and the categorization of purchases, providing a comprehensive financial overview.', 'The app offers investment advice by taking a 1% cut of the monthly budget and selecting categories of stocks for investment. Artificial Advisor provides investment advice by allocating 1% of the monthly budget and selecting categories of stocks for investment, enhancing financial management and potential growth.', "The app utilizes the Google API to compare the affordability of products like a Tesla Model S based on the user's budget. By leveraging the Google API, the app assesses the affordability of products such as a Tesla Model S based on the user's budget, enabling informed purchase decisions and budget management."]}], 'duration': 174.077, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI49.jpg', 'highlights': ['The app integrates multiple bank accounts using Plaid, allowing the visualization of checking and savings account balances and the categorization of purchases into pie charts.', 'The app offers investment advice by taking a 1% cut of the monthly budget and selecting categories of stocks for investment.', "The app utilizes the Google API to compare the affordability of products like a Tesla Model S based on the user's budget."]}, {'end': 489.389, 'segs': [{'end': 201.064, 'src': 'embed', 'start': 174.566, 'weight': 0, 'content': [{'end': 180.13, 'text': "It's used sentiment analysis on Twitter data to see which stock has a high sentiment for the day.", 'start': 174.566, 'duration': 5.564}, {'end': 184.433, 'text': "And then it's invested in that stock using what's called the Alpaca API.", 'start': 180.47, 'duration': 3.963}, {'end': 185.754, 'text': "I'm going to explain all of that.", 'start': 184.573, 'duration': 1.181}, {'end': 187.495, 'text': 'But that is the demo for this video.', 'start': 186.134, 'duration': 1.361}, {'end': 190.937, 'text': "I'm going to show you how to build this so that you can build something similar.", 'start': 187.555, 'duration': 3.382}, {'end': 193.759, 'text': 'Now is the time to build an AI startup.', 'start': 191.017, 'duration': 2.742}, {'end': 201.064, 'text': 'And if you want to continue to see these kind of educational videos on how to make money with AI, hit the red subscribe button,', 'start': 193.959, 'duration': 7.105}], 'summary': 'Used sentiment analysis on twitter data to invest in stocks with high sentiment, demonstrated using alpaca api.', 'duration': 26.498, 'max_score': 174.566, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI174566.jpg'}, {'end': 343.122, 'src': 'heatmap', 'start': 193.959, 'weight': 1, 'content': [{'end': 201.064, 'text': 'And if you want to continue to see these kind of educational videos on how to make money with AI, hit the red subscribe button,', 'start': 193.959, 'duration': 7.105}, {'end': 203.065, 'text': "because I'm going to keep pushing them out every single week.", 'start': 201.064, 'duration': 2.001}, {'end': 206.168, 'text': "That's what this app does.", 'start': 205.147, 'duration': 1.021}, {'end': 211.133, 'text': "I'm going to show you how I built it, and that includes a lot of tools like Firebase,", 'start': 206.188, 'duration': 4.945}, {'end': 216.699, 'text': "which lets us authenticate our users and gives us a database that's easily accessible in the cloud.", 'start': 211.133, 'duration': 5.566}, {'end': 220.923, 'text': 'Plaid, which allows us to integrate with many, many, many different bank accounts.', 'start': 217.139, 'duration': 3.784}, {'end': 224.907, 'text': 'Any Chart, which lets us visualize the data that we pull from Plaid.', 'start': 221.744, 'duration': 3.163}, {'end': 234.395, 'text': "Dialogflow, which is Google's online tool, which allows us to use NLP that's been pre-trained to create an agent that can converse with our user.", 'start': 225.387, 'duration': 9.008}, {'end': 238.799, 'text': "We'll also use TensorFlow to perform sentiment analysis on Twitter data.", 'start': 234.956, 'duration': 3.843}, {'end': 245.988, 'text': "And then we'll use the Alpaca API to make trades in real time with zero commission, which is awesome.", 'start': 239.64, 'duration': 6.348}, {'end': 251.355, 'text': "So I'm going to show you how I put together all of these tools to build this app in this video.", 'start': 246.669, 'duration': 4.686}, {'end': 254.053, 'text': "Okay, so let's go ahead and get started.", 'start': 252.372, 'duration': 1.681}, {'end': 261.178, 'text': "I have a little short presentation five minutes on what this app is about and how it's using AI, and then we'll get right to the code.", 'start': 254.073, 'duration': 7.105}, {'end': 261.418, 'text': 'all right?', 'start': 261.178, 'duration': 0.24}, {'end': 264.08, 'text': 'So important question how is this AI?', 'start': 261.538, 'duration': 2.542}, {'end': 267.923, 'text': "Well, it's all considered natural language processing, and here's how.", 'start': 264.36, 'duration': 3.563}, {'end': 276.268, 'text': "First of all, the Plaid API is an incredible API, and what it does is it returns bank data once I've authenticated with whatever my bank is.", 'start': 268.423, 'duration': 7.845}, {'end': 281.391, 'text': "And what it's going to do is it's going to return that as a JSON response.", 'start': 277.689, 'duration': 3.702}, {'end': 288.475, 'text': "It's in the JSON format, which is one of the many different formats that data can be sent via the HTTP server client model.", 'start': 281.651, 'duration': 6.824}, {'end': 290.235, 'text': 'And in this case, look at this.', 'start': 288.895, 'duration': 1.34}, {'end': 294.057, 'text': 'The amount is going to be $44.87 in this example.', 'start': 290.556, 'duration': 3.501}, {'end': 296.919, 'text': "And it's also got a category feature.", 'start': 294.458, 'duration': 2.461}, {'end': 299.18, 'text': 'What is that transaction?', 'start': 297.459, 'duration': 1.721}, {'end': 300.02, 'text': 'categorized as?', 'start': 299.18, 'duration': 0.84}, {'end': 300.721, 'text': 'Is it travel??', 'start': 300.08, 'duration': 0.641}, {'end': 302.422, 'text': 'Is it gas station purchases??', 'start': 301.161, 'duration': 1.261}, {'end': 302.882, 'text': 'What is it?', 'start': 302.462, 'duration': 0.42}, {'end': 307.606, 'text': "And the way they do this is they're using some kind of supervised model on their end.", 'start': 303.442, 'duration': 4.164}, {'end': 311.669, 'text': "They've trained it on all of their transaction data, and of course they have a lot of it.", 'start': 307.926, 'duration': 3.743}, {'end': 318.876, 'text': "And because of that, they're able to classify new transactions based just on what the text of that transaction was.", 'start': 312.13, 'duration': 6.746}, {'end': 321.758, 'text': "It's going to know the likelihood of what category it's in.", 'start': 318.976, 'duration': 2.782}, {'end': 324.701, 'text': "So they're taking care of that part of the AI process.", 'start': 321.798, 'duration': 2.903}, {'end': 329.845, 'text': "And it's using some sort of neural network likely to make some kind of multi-class classification.", 'start': 325.181, 'duration': 4.664}, {'end': 336.217, 'text': "Now, how else is it using AI? Well, it's using intent classification, and that's using dialogue flow.", 'start': 330.874, 'duration': 5.343}, {'end': 341.261, 'text': 'So the idea behind intent classification is a user could say different things.', 'start': 336.678, 'duration': 4.583}, {'end': 343.122, 'text': 'They could say what is my budget?', 'start': 341.301, 'duration': 1.821}], 'summary': 'The app uses ai tools like firebase, plaid, tensorflow, dialogflow, and alpaca api to perform various functions, including sentiment analysis and natural language processing for bank data and user conversations.', 'duration': 131.989, 'max_score': 193.959, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI193959.jpg'}, {'end': 416.717, 'src': 'embed', 'start': 386.07, 'weight': 9, 'content': [{'end': 386.65, 'text': 'called BERT.', 'start': 386.07, 'duration': 0.58}, {'end': 388.071, 'text': 'And I have a great video on this.', 'start': 386.75, 'duration': 1.321}, {'end': 390.252, 'text': 'Just search BERT Suraj on YouTube.', 'start': 388.211, 'duration': 2.041}, {'end': 396.636, 'text': "And the other way we're using NLP is through text generation.", 'start': 392.091, 'duration': 4.545}, {'end': 403.965, 'text': 'Our agent is not only able to give out hard-coded responses, but we can have it give some variant of a hard-coded response.', 'start': 397.277, 'duration': 6.688}, {'end': 409.49, 'text': "And how does it give a variant of a hard-coded response? Well, it uses what's called text generation.", 'start': 404.265, 'duration': 5.225}, {'end': 416.717, 'text': 'And the idea, to be mathematical for a second, is to, instead of estimating the probability of Y given X,', 'start': 409.53, 'duration': 7.187}], 'summary': 'Using bert and nlp for text generation and variant responses.', 'duration': 30.647, 'max_score': 386.07, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI386070.jpg'}], 'start': 174.566, 'title': 'Ai in financial transactions', 'summary': "Covers building an ai startup for sentiment analysis on twitter data to invest in stocks, utilizing tools like firebase, plaid, any chart, dialogflow, and tensorflow for nlp. it also explains ai's role in transaction categorization using supervised models, intent classification, and text generation.", 'chapters': [{'end': 276.268, 'start': 174.566, 'title': 'Ai stock sentiment analysis demo', 'summary': 'Discusses building an ai startup that performs sentiment analysis on twitter data to invest in stocks through the alpaca api, utilizing tools like firebase, plaid, any chart, dialogflow, and tensorflow for nlp. the app uses ai for sentiment analysis, integrates with bank accounts via plaid, and makes real-time trades with zero commission through the alpaca api.', 'duration': 101.702, 'highlights': ['The app performs sentiment analysis on Twitter data to invest in stocks through the Alpaca API, demonstrating the use of AI for real-time trading.', 'The app utilizes tools like Firebase for user authentication and database accessibility, Plaid for integrating with multiple bank accounts, and Any Chart for visualizing data from Plaid, highlighting its comprehensive toolset for building the app.', "Dialogflow, powered by Google, is used to create an agent that can converse with users using pre-trained NLP, showcasing the app's conversational AI capabilities.", "The chapter emphasizes the use of TensorFlow for sentiment analysis on Twitter data, underlining the app's utilization of advanced AI techniques for data processing.", "The Plaid API is highlighted for its capability to return bank data post-authentication, portraying its significance in integrating with users' bank accounts for financial data retrieval."]}, {'end': 489.389, 'start': 277.689, 'title': 'Ai in transaction categorization', 'summary': 'Explains how ai is used to categorize transactions, with a focus on supervised model for classifying transactions, intent classification using dialogue flow, and text generation for variant responses.', 'duration': 211.7, 'highlights': ['The amount is going to be $44.87 in this example. The specific amount of the transaction is $44.87, demonstrating the practical application of transaction categorization.', "They've trained it on all of their transaction data, and of course they have a lot of it. Emphasizes the extensive training data available for the supervised model used in transaction categorization.", "It's using intent classification, and that's using dialogue flow. Describes the use of intent classification through dialogue flow for understanding user queries in various forms.", "It's using some kind of supervised model on their end. Indicates the utilization of a supervised model for transaction categorization, demonstrating the technical approach involved.", "And the other way we're using NLP is through text generation. Explains the use of text generation as another application of natural language processing (NLP) for creating variant responses."]}], 'duration': 314.823, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI174566.jpg', 'highlights': ['The app performs sentiment analysis on Twitter data to invest in stocks through the Alpaca API, demonstrating the use of AI for real-time trading.', 'The app utilizes tools like Firebase for user authentication and database accessibility, Plaid for integrating with multiple bank accounts, and Any Chart for visualizing data from Plaid, highlighting its comprehensive toolset for building the app.', "Dialogflow, powered by Google, is used to create an agent that can converse with users using pre-trained NLP, showcasing the app's conversational AI capabilities.", "The chapter emphasizes the use of TensorFlow for sentiment analysis on Twitter data, underlining the app's utilization of advanced AI techniques for data processing.", "The Plaid API is highlighted for its capability to return bank data post-authentication, portraying its significance in integrating with users' bank accounts for financial data retrieval.", 'The specific amount of the transaction is $44.87, demonstrating the practical application of transaction categorization.', 'Emphasizes the extensive training data available for the supervised model used in transaction categorization.', 'Describes the use of intent classification through dialogue flow for understanding user queries in various forms.', 'Indicates the utilization of a supervised model for transaction categorization, demonstrating the technical approach involved.', 'Explains the use of text generation as another application of natural language processing (NLP) for creating variant responses.']}, {'end': 947.416, 'segs': [{'end': 513.073, 'src': 'embed', 'start': 490.049, 'weight': 0, 'content': [{'end': 499.718, 'text': "Lastly, it's using sentiment analysis to categorize each of the tweets that we're pulling for each stock via what's called a text CNN,", 'start': 490.049, 'duration': 9.669}, {'end': 501.78, 'text': 'a text convolutional neural network.', 'start': 499.718, 'duration': 2.062}, {'end': 503.862, 'text': 'And I have a great video on how that works as well.', 'start': 501.82, 'duration': 2.042}, {'end': 505.343, 'text': 'Search text CNN Suraj.', 'start': 503.942, 'duration': 1.401}, {'end': 507.526, 'text': 'Once we have the sentiment for each of those stocks,', 'start': 505.643, 'duration': 1.883}, {'end': 513.073, 'text': "we're gonna make a trade based on what we consider to be the highest scoring sentiment stock for the day.", 'start': 507.526, 'duration': 5.547}], 'summary': 'Utilizing sentiment analysis to trade based on highest scoring sentiment stock.', 'duration': 23.024, 'max_score': 490.049, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI490049.jpg'}, {'end': 615.205, 'src': 'embed', 'start': 583.421, 'weight': 1, 'content': [{'end': 585.283, 'text': 'now, applications of AI in finance.', 'start': 583.421, 'duration': 1.862}, {'end': 589.088, 'text': 'last step, before we get into the code, there are lots of opportunities here.', 'start': 585.283, 'duration': 3.805}, {'end': 594.974, 'text': 'right now is the time to start an AI startup, and that could be in credit scoring, it could be in asset management,', 'start': 589.088, 'duration': 5.886}, {'end': 601.237, 'text': 'And this is just one example of startups and companies that are using AI to solve some really hard problems.', 'start': 595.134, 'duration': 6.103}, {'end': 609.582, 'text': "Basically, any time you can think of something that a human is doing in finance, there's a very, very high chance that an AI can do it just as well.", 'start': 601.277, 'duration': 8.305}, {'end': 615.205, 'text': 'And the problem is that AI is the new electricity, but just like electricity was invented,', 'start': 610.102, 'duration': 5.103}], 'summary': 'Ai offers numerous opportunities in finance, such as in credit scoring and asset management, with potential to match or surpass human performance.', 'duration': 31.784, 'max_score': 583.421, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI583421.jpg'}, {'end': 730.684, 'src': 'embed', 'start': 702.945, 'weight': 2, 'content': [{'end': 705.726, 'text': 'So Android uses the model view controller architecture.', 'start': 702.945, 'duration': 2.781}, {'end': 710.106, 'text': 'And the activity is considered the controller in that step.', 'start': 706.843, 'duration': 3.263}, {'end': 712.769, 'text': "So we have several different activities that we'll use in our app.", 'start': 710.146, 'duration': 2.623}, {'end': 721.818, 'text': 'And the way the Android activity lifecycle works is that whenever an activity starts, a bunch of event listeners like onCreate, onStart,', 'start': 713.249, 'duration': 8.569}, {'end': 724.2, 'text': 'onResume are waiting to be fired.', 'start': 721.818, 'duration': 2.382}, {'end': 726.583, 'text': 'And then they are fired at certain points in the lifecycle.', 'start': 724.24, 'duration': 2.343}, {'end': 730.684, 'text': 'And our goal is to put the logic of our code into these event listeners.', 'start': 727.123, 'duration': 3.561}], 'summary': 'Android uses model view controller architecture with activities and lifecycle events for logic implementation.', 'duration': 27.739, 'max_score': 702.945, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI702945.jpg'}, {'end': 890.796, 'src': 'embed', 'start': 855.084, 'weight': 3, 'content': [{'end': 856.264, 'text': 'We have their transaction data.', 'start': 855.084, 'duration': 1.18}, {'end': 857.745, 'text': 'We have their bank data.', 'start': 856.304, 'duration': 1.441}, {'end': 858.985, 'text': 'We can make purchases with that.', 'start': 857.765, 'duration': 1.22}, {'end': 860.326, 'text': 'We can do whatever with that.', 'start': 859.005, 'duration': 1.321}, {'end': 862.188, 'text': 'The user has given us permission.', 'start': 860.486, 'duration': 1.702}, {'end': 863.85, 'text': "We'll take that Plaid token.", 'start': 862.568, 'duration': 1.282}, {'end': 865.632, 'text': "We'll save that to Firebase as well.", 'start': 863.87, 'duration': 1.762}, {'end': 868.715, 'text': 'So now we have made two requests to Firebase.', 'start': 866.172, 'duration': 2.543}, {'end': 870.617, 'text': 'The first one was to authenticate the user.', 'start': 868.735, 'duration': 1.882}, {'end': 877.445, 'text': "And the second one was to save that Plaid token so that we now know what this user's bank credentials are, at least a token.", 'start': 871.058, 'duration': 6.387}, {'end': 880.768, 'text': 'And then we send that data to the next activity.', 'start': 878.326, 'duration': 2.442}, {'end': 885.592, 'text': "And in the next activity, we're going to show, recall that visualization pie chart.", 'start': 880.908, 'duration': 4.684}, {'end': 888.515, 'text': "We're going to take that Plaid transaction JSON data.", 'start': 885.972, 'duration': 2.543}, {'end': 890.796, 'text': "We're going to parse it with some JSON parser.", 'start': 888.535, 'duration': 2.261}], 'summary': 'Transaction and bank data are saved to firebase for user authentication and visualization through a pie chart.', 'duration': 35.712, 'max_score': 855.084, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI855084.jpg'}, {'end': 931.25, 'src': 'embed', 'start': 909.252, 'weight': 5, 'content': [{'end': 917.959, 'text': "So we're going to pull three different mentions, sets of mentions of both Apple, Google and say Twitter, you know all these different stocks or Apple,", 'start': 909.252, 'duration': 8.707}, {'end': 920.461, 'text': 'Google, Facebook, whatever stock we want to use.', 'start': 917.959, 'duration': 2.502}, {'end': 924.704, 'text': "And once we have those stocks, we're going to pull, let's say, 100 of them each.", 'start': 921.041, 'duration': 3.663}, {'end': 928.107, 'text': "We're going to perform sentiment analysis on the arrays of tweets.", 'start': 925.085, 'duration': 3.022}, {'end': 931.25, 'text': "You know, we're going to classify each of them as positive or negative.", 'start': 928.467, 'duration': 2.783}], 'summary': 'Performing sentiment analysis on 100 tweets each for apple, google, and twitter to classify as positive or negative.', 'duration': 21.998, 'max_score': 909.252, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI909252.jpg'}], 'start': 490.049, 'title': 'Ai in finance and android activity lifecycle', 'summary': 'Covers using sentiment analysis for stock trading, potential of ai in finance startups, and android activity lifecycle, data flow, authentication, storage with firebase, plaid api integration, visualization of transaction data, and sentiment analysis for stock comparison.', 'chapters': [{'end': 702.845, 'start': 490.049, 'title': 'Ai in finance: sentiment analysis and investment model', 'summary': 'Discusses using sentiment analysis to categorize tweets for stocks, making trades based on the highest scoring sentiment stock, and the potential of ai in finance startups.', 'duration': 212.796, 'highlights': ['Using sentiment analysis to categorize tweets for stocks and making trades based on the highest scoring sentiment stock The app utilizes sentiment analysis to categorize tweets for each stock and makes trades based on the stock with the highest sentiment score.', 'Potential of AI in finance startups and its influence on society The chapter emphasizes the potential of AI in finance startups, mentioning opportunities in credit scoring, asset management, and the influence of AI on society.', "Exploring the structure of the app for Android and considering other platforms The discussion covers the app's structure for Android and the possibility of building it for other platforms like Node and iOS."]}, {'end': 947.416, 'start': 702.945, 'title': 'Android activity lifecycle and data flow', 'summary': 'Explains the android activity lifecycle and data flow, including the authentication and data storage processes with firebase, plaid api integration for bank account authentication, visualization of transaction data using a pie chart, and sentiment analysis of tweets for stock comparison.', 'duration': 244.471, 'highlights': ['The Android activity lifecycle involves event listeners like onCreate, onStart, onResume, where logic is placed for actions such as initializing Firebase on activity start and moving to the next activity on button click. The Android activity lifecycle includes event listeners like onCreate, onStart, onResume, where logic is placed, such as initializing Firebase on activity start and moving to the next activity on button click.', 'Authentication and user session management are handled with Firebase, including storing user credentials and Plaid tokens that are sent to Firebase for data storage. Authentication and user session management are handled with Firebase, including storing user credentials and Plaid tokens that are sent to Firebase for data storage.', 'The Plaid API is utilized for authenticating user bank accounts, with the resulting token stored in Firebase, and the visualization of transaction data in a pie chart is achieved by parsing Plaid transaction JSON data. The Plaid API is utilized for authenticating user bank accounts, with the resulting token stored in Firebase, and the visualization of transaction data in a pie chart is achieved by parsing Plaid transaction JSON data.', 'Sentiment analysis is performed on sets of tweets for stocks such as Apple, Google, and Twitter, with a polarity score generated for comparison of sentiment levels, determining the stock with the highest sentiment. Sentiment analysis is performed on sets of tweets for stocks such as Apple, Google, and Twitter, with a polarity score generated for comparison of sentiment levels, determining the stock with the highest sentiment.']}], 'duration': 457.367, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI490049.jpg', 'highlights': ['The app utilizes sentiment analysis to categorize tweets for each stock and makes trades based on the stock with the highest sentiment score.', 'The chapter emphasizes the potential of AI in finance startups, mentioning opportunities in credit scoring, asset management, and the influence of AI on society.', 'The Android activity lifecycle includes event listeners like onCreate, onStart, onResume, where logic is placed, such as initializing Firebase on activity start and moving to the next activity on button click.', 'Authentication and user session management are handled with Firebase, including storing user credentials and Plaid tokens that are sent to Firebase for data storage.', 'The Plaid API is utilized for authenticating user bank accounts, with the resulting token stored in Firebase, and the visualization of transaction data in a pie chart is achieved by parsing Plaid transaction JSON data.', 'Sentiment analysis is performed on sets of tweets for stocks such as Apple, Google, and Twitter, with a polarity score generated for comparison of sentiment levels, determining the stock with the highest sentiment.']}, {'end': 1356.345, 'segs': [{'end': 978.528, 'src': 'embed', 'start': 947.817, 'weight': 1, 'content': [{'end': 954.499, 'text': 'Based on that, we will then make a request with the Alpaca API to make a purchase of the stock with the highest sentiment.', 'start': 947.817, 'duration': 6.682}, {'end': 958.661, 'text': "Now, we're going to take 4% of this person's budget, and we're going to invest 4% of that.", 'start': 955.019, 'duration': 3.642}, {'end': 966.804, 'text': "is for us and we're going to invest in Alpaca's API as well with that 1%.", 'start': 961.582, 'duration': 5.222}, {'end': 967.744, 'text': "And that's how we make money.", 'start': 966.804, 'duration': 0.94}, {'end': 978.528, 'text': "We take a 1% cut of a user's monthly budget and we invest that using our own Alpaca API key that's meant for us and our bank account.", 'start': 967.784, 'duration': 10.744}], 'summary': "Invest 4% of user's budget in highest sentiment stock, gain 1% cut monthly using alpaca api.", 'duration': 30.711, 'max_score': 947.817, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI947817.jpg'}, {'end': 1084.673, 'src': 'heatmap', 'start': 1047.666, 'weight': 4, 'content': [{'end': 1051.869, 'text': 'So the first step for us is to perform user authentication with Firebase.', 'start': 1047.666, 'duration': 4.203}, {'end': 1053.37, 'text': "So let's get started with that.", 'start': 1052.13, 'duration': 1.24}, {'end': 1055.132, 'text': 'So, to start off, I have this build,', 'start': 1053.611, 'duration': 1.521}, {'end': 1065.358, 'text': 'an AI startup repository that I had from a previous video that we can basically just reuse because it had that Firebase functionality that was built in there.', 'start': 1055.132, 'duration': 10.226}, {'end': 1071.102, 'text': 'And what we can do is we can just switch it up so that it works for our code in this video.', 'start': 1065.519, 'duration': 5.583}, {'end': 1073.544, 'text': "So I've downloaded that from that repository.", 'start': 1071.182, 'duration': 2.362}, {'end': 1074.865, 'text': "I'm going to open it up and look at it.", 'start': 1073.564, 'duration': 1.301}, {'end': 1076.166, 'text': "all right, let's get to this.", 'start': 1075.385, 'duration': 0.781}, {'end': 1080.229, 'text': "let's see what's in here, where's the main layout, and let's see the design of it.", 'start': 1076.166, 'duration': 4.063}, {'end': 1082.231, 'text': 'okay, so this is our first login page.', 'start': 1080.229, 'duration': 2.002}, {'end': 1083.592, 'text': 'this is for the, you know, previous app.', 'start': 1082.231, 'duration': 1.361}, {'end': 1084.673, 'text': 'but we can change all this right.', 'start': 1083.592, 'duration': 1.081}], 'summary': 'Using firebase for user authentication by reusing ai startup repository.', 'duration': 37.007, 'max_score': 1047.666, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1047665.jpg'}, {'end': 1298.674, 'src': 'embed', 'start': 1259.538, 'weight': 0, 'content': [{'end': 1265.964, 'text': 'Now, cloud functions are really interesting because this is where server-side, those cron jobs I was talking about, this is where they would go.', 'start': 1259.538, 'duration': 6.426}, {'end': 1267.846, 'text': 'And we build those with JavaScript.', 'start': 1266.484, 'duration': 1.362}, {'end': 1271.804, 'text': "But right now we're going to not do that.", 'start': 1269.763, 'duration': 2.041}, {'end': 1272.744, 'text': "We're going to go back to our app.", 'start': 1271.824, 'duration': 0.92}, {'end': 1277.186, 'text': 'So I did the first part, user authentication with Firebase and database with Firebase.', 'start': 1273.185, 'duration': 4.001}, {'end': 1279.867, 'text': 'Now for bank authentication with Plaid.', 'start': 1277.666, 'duration': 2.201}, {'end': 1280.667, 'text': "So let's go to Plaid.", 'start': 1279.907, 'duration': 0.76}, {'end': 1281.968, 'text': 'Check out the website.', 'start': 1281.228, 'duration': 0.74}, {'end': 1286.65, 'text': 'What is Plaid? So Plaid is the easiest way for users to connect their bank accounts to an app.', 'start': 1282.048, 'duration': 4.602}, {'end': 1290.111, 'text': 'Great I remember when they were just a very small startup in San Francisco.', 'start': 1286.75, 'duration': 3.361}, {'end': 1290.711, 'text': 'Good times.', 'start': 1290.191, 'duration': 0.52}, {'end': 1291.932, 'text': "They've really grown since then.", 'start': 1290.791, 'duration': 1.141}, {'end': 1297.473, 'text': "And so has my buddy Brian's Coinbase thing, which we need to integrate, by the way.", 'start': 1293.248, 'duration': 4.225}, {'end': 1298.674, 'text': 'And so I wanted to mention this.', 'start': 1297.553, 'duration': 1.121}], 'summary': "Discussion about integrating bank authentication with plaid and coinbase's growth", 'duration': 39.136, 'max_score': 1259.538, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1259538.jpg'}], 'start': 947.817, 'title': 'Alpaca api stock purchase strategy and cloud-based dialogue flow integration', 'summary': 'Covers using alpaca api for sentiment-based stock purchase, investing 4% of budget, earning 1% revenue, and integrating cloud-based dialogue flow with firebase authentication, plaid bank authentication, and database setup.', 'chapters': [{'end': 990.951, 'start': 947.817, 'title': 'Alpaca api stock purchase strategy', 'summary': "Discusses using the alpaca api to purchase stocks based on sentiment analysis, investing 4% of a user's budget, and generating revenue through a 1% cut of the budget.", 'duration': 43.134, 'highlights': ['Using the Alpaca API to purchase stocks based on sentiment analysis', "Investing 4% of a user's budget", 'Generating revenue through a 1% cut of the budget']}, {'end': 1356.345, 'start': 990.951, 'title': 'Cloud-based dialogue flow integration', 'summary': 'Discusses the integration of asynchronous pushing and pulling between the dialogue flow agents, user authentication with firebase, database setup, and bank authentication with plaid for global access.', 'duration': 365.394, 'highlights': ['The chapter discusses the integration of asynchronous pushing and pulling between the dialogue flow agents The main activity involves asynchronous communication between dialogue flow agents in the cloud, enabling seamless interaction.', 'User authentication with Firebase is demonstrated, utilizing existing functionality and modifying it for the current project The process involves reusing a repository with Firebase functionality, modifying it for the current project, and implementing user authentication.', "Bank authentication with Plaid is explored, addressing the limitation of only supporting US bank accounts and the potential for global access through Coinbase integration Plaid's limitation to US bank accounts is highlighted, along with the potential global access through Coinbase integration and the emphasis on building for global accessibility."]}], 'duration': 408.528, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI947817.jpg', 'highlights': ['Integrating cloud-based dialogue flow with Firebase authentication and Plaid bank authentication', "Investing 4% of a user's budget in stock purchase", 'Earning 1% revenue through stock purchase', 'Exploring bank authentication with Plaid and potential global access through Coinbase integration', 'Demonstrating user authentication with Firebase']}, {'end': 1754.919, 'segs': [{'end': 1394.28, 'src': 'embed', 'start': 1356.365, 'weight': 1, 'content': [{'end': 1358.946, 'text': 'This is just the easiest way to start for this prototype.', 'start': 1356.365, 'duration': 2.581}, {'end': 1362.389, 'text': 'So once we go in here, we can log in, we can get our API keys.', 'start': 1358.966, 'duration': 3.423}, {'end': 1363.489, 'text': "Let's go to their docs though.", 'start': 1362.409, 'duration': 1.08}, {'end': 1368.975, 'text': 'Inside of their docs, we can see a bunch of their different SDKs.', 'start': 1363.609, 'duration': 5.366}, {'end': 1370.416, 'text': 'So it seems pretty easy.', 'start': 1369.075, 'duration': 1.341}, {'end': 1373.7, 'text': "They've got this quick start right here for Node, which I tried, it was super easy.", 'start': 1370.436, 'duration': 3.264}, {'end': 1381.529, 'text': "But you just download it and then run it and it's gonna pull a bunch of transaction data very easily into an HTML page.", 'start': 1374.04, 'duration': 7.489}, {'end': 1385.454, 'text': 'So what I did is I said plaid link Android.', 'start': 1383.032, 'duration': 2.422}, {'end': 1387.935, 'text': 'And so that took me to this Android page.', 'start': 1386.034, 'duration': 1.901}, {'end': 1391.678, 'text': 'So unfortunately Android is one of their least maintained repositories.', 'start': 1387.975, 'duration': 3.703}, {'end': 1392.959, 'text': 'It was updated two years ago.', 'start': 1391.698, 'duration': 1.261}, {'end': 1394.28, 'text': 'Luckily it works.', 'start': 1393.279, 'duration': 1.001}], 'summary': "Plaid's node sdk offers easy integration, android support less maintained.", 'duration': 37.915, 'max_score': 1356.365, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1356365.jpg'}, {'end': 1493.006, 'src': 'embed', 'start': 1463.081, 'weight': 0, 'content': [{'end': 1465.823, 'text': 'that means if there is a connected response in the JSON,', 'start': 1463.081, 'duration': 2.742}, {'end': 1471.509, 'text': "then show the public token the institution they've connected to and then show all of that data as a JSON response.", 'start': 1465.823, 'duration': 5.686}, {'end': 1476.494, 'text': "and then we'll generate a link based off of that.", 'start': 1473.231, 'duration': 3.263}, {'end': 1483.239, 'text': 'But the point is that what we want is this public token, right? We want that public token to then save to Firebase.', 'start': 1476.514, 'duration': 6.725}, {'end': 1490.084, 'text': "So if we just go over here and copy all of this, so initialize link, we'll copy, copy, copy, copy, copy, copy.", 'start': 1483.699, 'duration': 6.385}, {'end': 1493.006, 'text': 'copy piece, paste, copy pasta.', 'start': 1490.945, 'duration': 2.061}], 'summary': 'The goal is to display connected response in json and generate a link based on public token, which will be saved to firebase.', 'duration': 29.925, 'max_score': 1463.081, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1463081.jpg'}, {'end': 1676.383, 'src': 'embed', 'start': 1641.772, 'weight': 2, 'content': [{'end': 1642.332, 'text': 'Right, just like that.', 'start': 1641.772, 'duration': 0.56}, {'end': 1649.777, 'text': 'And then for the test API, we just have to type in user good and then pass good, and that acts as our test credential for Plaid.', 'start': 1642.553, 'duration': 7.224}, {'end': 1652.479, 'text': "And it's gonna load itself, just like that.", 'start': 1650.558, 'duration': 1.921}, {'end': 1655.16, 'text': 'Send credentials, hopefully it authenticates.', 'start': 1653.559, 'duration': 1.601}, {'end': 1657.502, 'text': 'Authenticated, boom, pulls that data just like that.', 'start': 1655.441, 'duration': 2.061}, {'end': 1663.746, 'text': 'Awesome. so now that we have that bank authentication with Plaid, now we wanna perform that data visualization with AnyChart right?', 'start': 1657.842, 'duration': 5.904}, {'end': 1667.168, 'text': "So once we have that data, let's take a look at what that data looks like.", 'start': 1663.766, 'duration': 3.402}, {'end': 1668.329, 'text': "So we'll go to AnyChart.", 'start': 1667.388, 'duration': 0.941}, {'end': 1672.54, 'text': "Android, and we'll find out how that works.", 'start': 1670.598, 'duration': 1.942}, {'end': 1676.383, 'text': 'But in the meantime, let me make sure I have that string of transactions.', 'start': 1672.56, 'duration': 3.823}], 'summary': 'Test api authenticated with plaid, now aiming for data visualization with anychart.', 'duration': 34.611, 'max_score': 1641.772, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1641772.jpg'}], 'start': 1356.365, 'title': 'Integrating plaid link and data visualization', 'summary': 'Explains implementing plaid link in android, including obtaining api keys, using sdks, and creating a url to pull transaction data. it also covers the integration of plaid for bank authentication and data visualization using anychart, demonstrating the authentication process and creating a pie chart for visualization.', 'chapters': [{'end': 1483.239, 'start': 1356.365, 'title': 'Implementing plaid link in android', 'summary': 'Explains the process of implementing plaid link in android, including obtaining api keys, using sdks, and creating a url to pull transaction data into an html page, with a focus on obtaining the public token to save to firebase.', 'duration': 126.874, 'highlights': ['The process involves obtaining API keys from Plaid, exploring their documentation, and using their SDKs, such as the Node SDK for quick and easy implementation.', 'Implementing Plaid Link in Android involves navigating through the repository and utilizing the available code, despite the repository being less maintained and updated two years ago.', 'The key steps in the Android implementation include creating a hash map with Plaid authentication details, generating a URI to connect to Plaid, and creating a URL without the need for specific Plaid downloads.', 'The Android implementation further includes creating a web view to show the result of the link request, handling the response in the callback by extracting the public token and institution details, and ultimately aiming to save the public token to Firebase.']}, {'end': 1754.919, 'start': 1483.699, 'title': 'Integration with plaid and data visualization', 'summary': "Covers the integration of plaid for bank authentication and data visualization using anychart. it includes copying and pasting code from plaid's example, demonstrating the authentication process, and creating a pie chart for data visualization.", 'duration': 271.22, 'highlights': ["Integration with Plaid for bank authentication The transcript covers the process of integrating with Plaid for bank authentication, demonstrating the use of Plaid's example code, and showcasing the authentication process using test credentials.", 'Data visualization using AnyChart The chapter also discusses the process of data visualization using AnyChart, including obtaining transaction categories, creating a pie chart, and integrating the necessary library.', "Copying and pasting code from Plaid's example The speaker mentions the process of copying and pasting code from Plaid's example for integration, demonstrating the use of Plaid's provided code for authentication."]}], 'duration': 398.554, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1356365.jpg', 'highlights': ['The Android implementation further includes creating a web view to show the result of the link request, handling the response in the callback by extracting the public token and institution details, and ultimately aiming to save the public token to Firebase.', 'The process involves obtaining API keys from Plaid, exploring their documentation, and using their SDKs, such as the Node SDK for quick and easy implementation.', "Integration with Plaid for bank authentication The transcript covers the process of integrating with Plaid for bank authentication, demonstrating the use of Plaid's example code, and showcasing the authentication process using test credentials.", 'Data visualization using AnyChart The chapter also discusses the process of data visualization using AnyChart, including obtaining transaction categories, creating a pie chart, and integrating the necessary library.', 'Implementing Plaid Link in Android involves navigating through the repository and utilizing the available code, despite the repository being less maintained and updated two years ago.']}, {'end': 2459.403, 'segs': [{'end': 1793.843, 'src': 'embed', 'start': 1755.16, 'weight': 0, 'content': [{'end': 1758.543, 'text': 'Now, on to step six, configuring Dialogflow for conversation.', 'start': 1755.16, 'duration': 3.383}, {'end': 1765.709, 'text': "If we go to Dialogflow, and I've created several agents now, so it's been a pretty cool experience working with Dialogflow.", 'start': 1758.603, 'duration': 7.106}, {'end': 1769.712, 'text': "So once we go to Dialogflow, you can see that I've created three intents here.", 'start': 1765.829, 'duration': 3.883}, {'end': 1771.754, 'text': 'So one intent is the budget.', 'start': 1770.053, 'duration': 1.701}, {'end': 1773.115, 'text': 'one intent is the balance.', 'start': 1771.754, 'duration': 1.361}, {'end': 1776.077, 'text': 'one intent is How much can this person afford?', 'start': 1773.115, 'duration': 2.962}, {'end': 1781.019, 'text': 'So all sorts of questions related to can I afford X go under the afford intent?', 'start': 1776.137, 'duration': 4.882}, {'end': 1787.001, 'text': 'All sorts of balance questions go under the balance intent and all sorts of budget questions go under the budget intent.', 'start': 1781.459, 'duration': 5.542}, {'end': 1792.163, 'text': "And there's the investment intent as well which tells us the price of our stock data.", 'start': 1787.021, 'duration': 5.142}, {'end': 1793.843, 'text': 'So in terms of balance.', 'start': 1792.203, 'duration': 1.64}], 'summary': 'Configured dialogflow with 3 intents: budget, balance, and afford.', 'duration': 38.683, 'max_score': 1755.16, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1755160.jpg'}, {'end': 1864.258, 'src': 'embed', 'start': 1836.378, 'weight': 3, 'content': [{'end': 1840.439, 'text': 'Our web service is going to receive a post request from Dialogflow for some data.', 'start': 1836.378, 'duration': 4.061}, {'end': 1842.139, 'text': "So we'll create some web hook.", 'start': 1840.879, 'duration': 1.26}, {'end': 1846.4, 'text': "It's going to then enable, right, just like this.", 'start': 1842.199, 'duration': 4.201}, {'end': 1849.001, 'text': "We're going to create some requests to our Firebase service.", 'start': 1846.42, 'duration': 2.581}, {'end': 1852.522, 'text': "And luckily, Google runs both of these things, so it's easy to integrate both.", 'start': 1849.041, 'duration': 3.481}, {'end': 1856.893, 'text': "and it's gonna say here's, you know, welcome to my agent.", 'start': 1854.431, 'duration': 2.462}, {'end': 1861.837, 'text': "let's get this data from Firebase, from the Firebase cloud function, and then we're gonna display that.", 'start': 1856.893, 'duration': 4.944}, {'end': 1864.258, 'text': 'And so what happens is under intent.', 'start': 1861.897, 'duration': 2.361}], 'summary': 'Web service to receive post request from dialogflow, integrate with firebase, and display data.', 'duration': 27.88, 'max_score': 1836.378, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1836378.jpg'}, {'end': 2024.875, 'src': 'embed', 'start': 1998.54, 'weight': 4, 'content': [{'end': 2003.783, 'text': 'So we train it in the cloud, and then we move it to Android to make that inference request.', 'start': 1998.54, 'duration': 5.243}, {'end': 2012.448, 'text': "So what we're gonna do is we're gonna perform sentiment analysis on a bunch of Twitter data, and then we're gonna use Alpaca for trading.", 'start': 2004.283, 'duration': 8.165}, {'end': 2019.09, 'text': "So what we'll do is we'll say Twitter, Android, example.", 'start': 2012.488, 'duration': 6.602}, {'end': 2020.151, 'text': 'There we go.', 'start': 2019.691, 'duration': 0.46}, {'end': 2024.875, 'text': 'So Twitter has this Twitter kit which we can use to pull a bunch of tweets.', 'start': 2020.171, 'duration': 4.704}], 'summary': 'Training ai in the cloud for sentiment analysis on twitter data, then using alpaca for trading.', 'duration': 26.335, 'max_score': 1998.54, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1998540.jpg'}, {'end': 2331.722, 'src': 'embed', 'start': 2299.268, 'weight': 5, 'content': [{'end': 2302.949, 'text': "And obviously we need to notify the user that we're taking a 1% cut at the beginning.", 'start': 2299.268, 'duration': 3.681}, {'end': 2305.649, 'text': 'But again, this is a prototype, so we do this twice.', 'start': 2303.709, 'duration': 1.94}, {'end': 2318.531, 'text': 'So obviously we cannot paste JavaScript code into our Android app, but if we do android alpaca like that, alpaca, there we go.', 'start': 2305.689, 'duration': 12.842}, {'end': 2323.052, 'text': "And it's using React, great.", 'start': 2318.551, 'duration': 4.501}, {'end': 2331.722, 'text': 'So markets, main application, and then we integrate that right there to make the request.', 'start': 2324.372, 'duration': 7.35}], 'summary': 'Prototype requires notifying users of 1% cut, integrating react into android app.', 'duration': 32.454, 'max_score': 2299.268, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI2299268.jpg'}], 'start': 1755.16, 'title': 'Configuring dialogflow and tensorflow for conversation and sentiment analysis', 'summary': 'Covers the process of configuring dialogflow for conversation, creation of multiple intents, and use of tensorflow for sentiment analysis on twitter data, aiming to improve app conversational ability and user interface enhancements.', 'chapters': [{'end': 1793.843, 'start': 1755.16, 'title': 'Configuring dialogflow for conversation', 'summary': 'Explains the process of configuring dialogflow for conversation, involving the creation of multiple intents for budget, balance, affordability, and investment data retrieval.', 'duration': 38.683, 'highlights': ['Creation of multiple intents for budget, balance, affordability, and investment data retrieval.', 'Demonstrates working with Dialogflow to create agents and intents.', 'Explanation of categorizing questions under specific intents for budget, balance, and affordability.']}, {'end': 2459.403, 'start': 1793.843, 'title': 'Dialogflow and tensorflow for sentiment analysis', 'summary': 'Explains the use of dialogflow for creating training phrases and integrating with firebase for data retrieval, along with using tensorflow for sentiment analysis on twitter data and integrating with alpaca for trading, aiming to improve the app with conversational ability and user interface enhancements.', 'duration': 665.56, 'highlights': ['Dialogflow for creating training phrases and integrating with Firebase for data retrieval Dialogflow allows the creation of various training phrases to trigger specific responses, while also integrating with Firebase to store and retrieve user data.', 'Use of TensorFlow for sentiment analysis on Twitter data Utilizing TensorFlow for performing sentiment analysis on Twitter data, aiming to classify the data as positive or negative, potentially reusing pre-trained models for different textual data.', "Integration with Alpaca for trading and app improvement plans The integration with Alpaca for trading involves using TensorFlow's inference service to make trade decisions, and the plan to improve the app includes enhancing conversational ability, enabling automated investments, and refining the user interface."]}], 'duration': 704.243, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/oeraUtRgsbI/pics/oeraUtRgsbI1755160.jpg', 'highlights': ['Creation of multiple intents for budget, balance, affordability, and investment data retrieval.', 'Demonstrates working with Dialogflow to create agents and intents.', 'Explanation of categorizing questions under specific intents for budget, balance, and affordability.', 'Dialogflow for creating training phrases and integrating with Firebase for data retrieval.', 'Use of TensorFlow for sentiment analysis on Twitter data.', 'Integration with Alpaca for trading and app improvement plans.']}], 'highlights': ['The app integrates multiple bank accounts using Plaid, allowing the visualization of checking and savings account balances and the categorization of purchases into pie charts.', 'The app offers investment advice by taking a 1% cut of the monthly budget and selecting categories of stocks for investment.', "The app utilizes the Google API to compare the affordability of products like a Tesla Model S based on the user's budget.", 'The app performs sentiment analysis on Twitter data to invest in stocks through the Alpaca API, demonstrating the use of AI for real-time trading.', 'The app utilizes tools like Firebase for user authentication and database accessibility, Plaid for integrating with multiple bank accounts, and Any Chart for visualizing data from Plaid, highlighting its comprehensive toolset for building the app.', "Dialogflow, powered by Google, is used to create an agent that can converse with users using pre-trained NLP, showcasing the app's conversational AI capabilities.", "The chapter emphasizes the use of TensorFlow for sentiment analysis on Twitter data, underlining the app's utilization of advanced AI techniques for data processing.", 'The app utilizes sentiment analysis to categorize tweets for each stock and makes trades based on the stock with the highest sentiment score.', 'The Android activity lifecycle includes event listeners like onCreate, onStart, onResume, where logic is placed, such as initializing Firebase on activity start and moving to the next activity on button click.', 'Authentication and user session management are handled with Firebase, including storing user credentials and Plaid tokens that are sent to Firebase for data storage.', 'Integrating cloud-based dialogue flow with Firebase authentication and Plaid bank authentication', "Investing 4% of a user's budget in stock purchase", 'Earning 1% revenue through stock purchase', 'Exploring bank authentication with Plaid and potential global access through Coinbase integration', 'The Android implementation further includes creating a web view to show the result of the link request, handling the response in the callback by extracting the public token and institution details, and ultimately aiming to save the public token to Firebase.', 'The process involves obtaining API keys from Plaid, exploring their documentation, and using their SDKs, such as the Node SDK for quick and easy implementation.', "Integration with Plaid for bank authentication The transcript covers the process of integrating with Plaid for bank authentication, demonstrating the use of Plaid's example code, and showcasing the authentication process using test credentials.", 'Data visualization using AnyChart The chapter also discusses the process of data visualization using AnyChart, including obtaining transaction categories, creating a pie chart, and integrating the necessary library.', 'Creation of multiple intents for budget, balance, affordability, and investment data retrieval.', 'Demonstrates working with Dialogflow to create agents and intents.', 'Explanation of categorizing questions under specific intents for budget, balance, and affordability.', 'Dialogflow for creating training phrases and integrating with Firebase for data retrieval.', 'Use of TensorFlow for sentiment analysis on Twitter data.', 'Integration with Alpaca for trading and app improvement plans.']}