title
Coding Twitter Integration & I Won A Startup Competition! (VLOG) | Build a Startup #6

description
Here’s my first developer vlog - coding Twitter integration with Python/Django, and winning a startup pitch competition! - Join our Discord server: https://csdojo.io/d - Tutorial for setting up Django for 3rd party authentication: https://wsvincent.com/django-allauth-tutorial/ - My Twitter bot tutorial: https://youtu.be/W0wWwglE1Vc - django-allauth documentation: https://django-allauth.readthedocs.io/en/latest/ Music Credits: Song: Ikson - Outside (Vlog No Copyright Music) Music promoted by Vlog No Copyright Music. Video Link: https://youtu.be/zBbIokFV4Ac Song: Ikson - Skyline (Vlog No Copyright Music) Music promoted by Vlog No Copyright Music. Video Link: https://youtu.be/GLJMavlgr70 Song: Ikson - Harmony (Vlog No Copyright Music) Music promoted by Vlog No Copyright Music. Video Link: https://youtu.be/PwZX5hD2oJM

detail
{'title': 'Coding Twitter Integration & I Won A Startup Competition! (VLOG) | Build a Startup #6', 'heatmap': [{'end': 418.479, 'start': 402.623, 'weight': 0.872}, {'end': 464.283, 'start': 447.377, 'weight': 0.762}, {'end': 509.006, 'start': 479.291, 'weight': 0.731}], 'summary': 'In this vlog, the speaker shares the process of twitter integration and coding, including solving problems, implementing twitter sign-up and automating user follow-back, in addition to winning a startup competition in canada after a 15-minute walk, and covering the implementation of twitter login with django and creating a twitter bot using python and tweepy library.', 'chapters': [{'end': 292.482, 'segs': [{'end': 73.114, 'src': 'embed', 'start': 3.377, 'weight': 0, 'content': [{'end': 21.363, 'text': 'Hi everyone, today I decided to take a break from my regular coding videos to make more of a vlog type video instead.', 'start': 3.377, 'duration': 17.986}, {'end': 27.366, 'text': 'You know, I want to really show you the process of how I go about solving problems usually.', 'start': 22.284, 'duration': 5.082}, {'end': 36.553, 'text': "And then I'm also going to this event later today where people will be pitching their startup ideas and I'll be pitching my startup idea too.", 'start': 28.226, 'duration': 8.327}, {'end': 39.175, 'text': "So hopefully I'll be able to talk about it later today.", 'start': 37.113, 'duration': 2.062}, {'end': 40.777, 'text': "Anyway, let's get started.", 'start': 39.856, 'duration': 0.921}, {'end': 47.963, 'text': "Okay, so first of all, let me just quickly talk about what I've done so far this week to give you some context on what I'm working on.", 'start': 41.477, 'duration': 6.486}, {'end': 53.807, 'text': "Basically, I'm trying to set up Twitter integration for the web app I'm working on called Edit Dojo.", 'start': 48.803, 'duration': 5.004}, {'end': 61.25, 'text': 'I was working on the sign up with Twitter button yesterday and for that I found this tutorial.', 'start': 54.948, 'duration': 6.302}, {'end': 62.691, 'text': 'It turns out to be pretty good.', 'start': 61.25, 'duration': 1.441}, {'end': 67.532, 'text': 'So I basically, you know, followed everything and pretty much copy and pasted everything.', 'start': 62.691, 'duration': 4.841}, {'end': 72.254, 'text': "and then here's the result I have you have the sign up sign in button.", 'start': 67.532, 'duration': 4.722}, {'end': 73.114, 'text': 'when you click it,', 'start': 72.254, 'duration': 0.86}], 'summary': 'Vlog-style update on coding progress and twitter integration for edit dojo app.', 'duration': 69.737, 'max_score': 3.377, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE3377.jpg'}, {'end': 169.152, 'src': 'embed', 'start': 145.111, 'weight': 4, 'content': [{'end': 151.314, 'text': 'so it looks like my Twitter handle is automatically recorded as my username when I sign in.', 'start': 145.111, 'duration': 6.203}, {'end': 158.221, 'text': "so i guess what i'm going to do here is i'm just going to say whenever someone signs up for the first time,", 'start': 152.034, 'duration': 6.187}, {'end': 165.068, 'text': "i'll log into the editdojo twitter account, you know, just like i did in my twitter bot tutorial,", 'start': 158.221, 'duration': 6.847}, {'end': 169.152, 'text': "and then i'll follow that user's account using the username.", 'start': 165.068, 'duration': 4.084}], 'summary': 'Twitter handle used as username for sign-in; plan to follow new user accounts using username.', 'duration': 24.041, 'max_score': 145.111, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE145111.jpg'}, {'end': 210.321, 'src': 'embed', 'start': 184.71, 'weight': 3, 'content': [{'end': 193.754, 'text': "Okay, so I did a little bit of thinking and right now what I'm trying to understand is what happens exactly when I click this sign up sign in button,", 'start': 184.71, 'duration': 9.044}, {'end': 198.296, 'text': 'because all I did is I copied and pasted code from a tutorial.', 'start': 193.754, 'duration': 4.542}, {'end': 203.318, 'text': 'And it looks like this is just applying a link.', 'start': 199.476, 'duration': 3.842}, {'end': 205.219, 'text': 'So let me show you some of the code.', 'start': 203.878, 'duration': 1.341}, {'end': 210.321, 'text': 'The relevant part is just this one, provided a login URL, Twitter.', 'start': 206.679, 'duration': 3.642}], 'summary': 'Investigating the functionality of a sign-up/sign-in button and examining relevant code.', 'duration': 25.611, 'max_score': 184.71, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE184710.jpg'}], 'start': 3.377, 'title': 'Twitter integration and sign-up', 'summary': 'Highlights a vlog on coding process and twitter integration, including the speaker sharing the process of solving coding problems and implementing twitter sign-up on a website, as well as automating user follow-back and exploring redirect url for user authentication.', 'chapters': [{'end': 121.42, 'start': 3.377, 'title': 'Vlog on coding process and twitter integration', 'summary': 'Highlights a vlog where the speaker shares the process of solving coding problems, and discusses integrating twitter into a web app called edit dojo, including finding a tutorial and implementing the sign up with twitter button.', 'duration': 118.043, 'highlights': ['The speaker shares the process of solving coding problems and discusses integrating Twitter into a web app called Edit Dojo. The speaker decides to make a vlog to show the process of solving coding problems and integrating Twitter into the web app Edit Dojo.', 'Discussion about finding a tutorial and implementing the sign up with Twitter button. The speaker found a tutorial for setting up Twitter integration for the web app, followed it, and successfully implemented the sign up with Twitter button.', "The speaker's plan to pitch a startup idea at an event later in the day. The speaker plans to pitch their startup idea at an event where others will also be pitching their startup ideas."]}, {'end': 292.482, 'start': 121.42, 'title': 'Twitter sign-up implementation', 'summary': 'Discusses implementing twitter sign-up on a website, automating user follow-back using twitter handles as usernames, and exploring redirect url for user authentication.', 'duration': 171.062, 'highlights': ['The chapter discusses implementing Twitter sign-up on a website. The author explores the process of integrating Twitter sign-up functionality into a website admin panel and encounters the automatic recording of Twitter handle as the username.', "Automating user follow-back using Twitter handles as usernames. The author plans to automate user follow-back by logging into a separate Twitter account and following the user's account using their username upon sign-up, recognizing potential limitations if the user changes their Twitter handle after signing up.", 'Exploring redirect URL for user authentication. The author delves into understanding the functionality of the sign-up/sign-in button, discovers the code merely applies a link, and contemplates creating a special URL and corresponding view to handle the user authentication process.']}], 'duration': 289.105, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE3377.jpg', 'highlights': ['The speaker shares the process of solving coding problems and integrating Twitter into a web app called Edit Dojo.', 'The speaker found a tutorial for setting up Twitter integration for the web app, followed it, and successfully implemented the sign up with Twitter button.', 'The speaker plans to pitch their startup idea at an event where others will also be pitching their startup ideas.', 'The chapter discusses implementing Twitter sign-up on a website.', "The author plans to automate user follow-back by logging into a separate Twitter account and following the user's account using their username upon sign-up, recognizing potential limitations if the user changes their Twitter handle after signing up.", 'The author delves into understanding the functionality of the sign-up/sign-in button, discovers the code merely applies a link, and contemplates creating a special URL and corresponding view to handle the user authentication process.']}, {'end': 537.585, 'segs': [{'end': 345.013, 'src': 'embed', 'start': 317.932, 'weight': 1, 'content': [{'end': 321.918, 'text': "Apparently, it's an event for Canadian newcomers to pitch their startup ideas.", 'start': 317.932, 'duration': 3.986}, {'end': 324.781, 'text': "And you know, I'm a Canadian newcomer.", 'start': 322.819, 'duration': 1.962}, {'end': 328.326, 'text': "I'm a recent permanent resident in Canada.", 'start': 325.162, 'duration': 3.164}, {'end': 330.628, 'text': 'and I have a startup idea.', 'start': 329.287, 'duration': 1.341}, {'end': 333.088, 'text': 'so I was like you know, why not give it a try?', 'start': 330.628, 'duration': 2.46}, {'end': 342.952, 'text': 'and I wrote this little application explaining what my idea is and apparently I was selected as one of the 10 people to pitch their ideas today.', 'start': 333.088, 'duration': 9.864}, {'end': 345.013, 'text': 'you know, I just got that email earlier.', 'start': 342.952, 'duration': 2.061}], 'summary': 'Canadian newcomer selected to pitch startup idea at event', 'duration': 27.081, 'max_score': 317.932, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE317932.jpg'}, {'end': 423.987, 'src': 'heatmap', 'start': 402.623, 'weight': 0, 'content': [{'end': 404.264, 'text': 'Thank you for your introduction.', 'start': 402.623, 'duration': 1.641}, {'end': 407.247, 'text': "My name is YK and I'm originally from Japan.", 'start': 404.525, 'duration': 2.722}, {'end': 412.973, 'text': 'I came to Canada about five years ago and eventually I became a software developer here.', 'start': 408.148, 'duration': 4.825}, {'end': 418.479, 'text': "So my idea I'm working on is going to be a new language learning app.", 'start': 413.514, 'duration': 4.965}, {'end': 423.987, 'text': 'Okay, so the rest of the pitch was basically the same stuff as what I already explained on this channel.', 'start': 419.144, 'duration': 4.843}], 'summary': 'Yk, a software developer from japan, immigrated to canada 5 years ago and is working on a new language learning app.', 'duration': 47.745, 'max_score': 402.623, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE402623.jpg'}, {'end': 474.39, 'src': 'heatmap', 'start': 447.377, 'weight': 0.762, 'content': [{'end': 452.079, 'text': 'And after all that, the judges went away to decide which five of us are going to win.', 'start': 447.377, 'duration': 4.702}, {'end': 464.283, 'text': 'Okay, and it turned out the first winner was the 360 video guy.', 'start': 461.382, 'duration': 2.901}, {'end': 470.188, 'text': 'Second winner, Ricardo Zelaya.', 'start': 466.607, 'duration': 3.581}, {'end': 474.39, 'text': 'And then he was the second winner, and the third winner turned out to be this guy.', 'start': 470.348, 'duration': 4.042}], 'summary': 'Five winners chosen, 360 video guy, ricardo zelaya among them.', 'duration': 27.013, 'max_score': 447.377, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE447377.jpg'}, {'end': 517.469, 'src': 'heatmap', 'start': 479.291, 'weight': 2, 'content': [{'end': 482.853, 'text': 'What am I going to say to my subscribers? And then this happened.', 'start': 479.291, 'duration': 3.562}, {'end': 491.016, 'text': 'Fourth winner, YK Sergin.', 'start': 483.673, 'duration': 7.343}, {'end': 491.416, 'text': 'Thank you.', 'start': 491.056, 'duration': 0.36}, {'end': 493.316, 'text': 'Thank you.', 'start': 492.516, 'duration': 0.8}, {'end': 494.017, 'text': 'Thank you.', 'start': 493.636, 'duration': 0.381}, {'end': 494.937, 'text': 'Guys, I did it.', 'start': 494.217, 'duration': 0.72}, {'end': 506.025, 'text': "Alright, I'm done for the day.", 'start': 504.264, 'duration': 1.761}, {'end': 509.006, 'text': "I'm super tired, but I'm happy that I won.", 'start': 506.045, 'duration': 2.961}, {'end': 517.469, 'text': "Apparently, there's gonna be like a free week of bootcamp programs, startup bootcamp programs, but I don't know what's gonna happen exactly.", 'start': 510.006, 'duration': 7.463}], 'summary': 'Yk sergin won and gets a free week of bootcamp programs.', 'duration': 38.178, 'max_score': 479.291, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE479291.jpg'}], 'start': 293.7, 'title': 'A successful pitch contest', 'summary': "Discusses the speaker's preparation and success in a canadian newcomer startup pitch contest, where they were selected as one of the 10 people to pitch their ideas and ultimately won a startup competition with a language learning app after a 15-minute walk to the event.", 'chapters': [{'end': 342.952, 'start': 293.7, 'title': 'Startup pitch contest', 'summary': "Discusses the speaker's preparation for a canadian newcomer startup pitch contest, where they were selected as one of the 10 people to pitch their ideas.", 'duration': 49.252, 'highlights': ['The speaker is a recent permanent resident in Canada and has a startup idea.', 'The event is for Canadian newcomers to pitch their startup ideas, and the speaker was selected as one of the 10 people to pitch their ideas today.']}, {'end': 537.585, 'start': 342.952, 'title': 'Entrepreneurial pitch success', 'summary': 'Details a successful entrepreneurial pitch in canada, including a 15-minute walk to the event, pitching a language learning app, and ultimately winning a startup competition.', 'duration': 194.633, 'highlights': ["The narrator successfully pitches a new language learning app and wins a startup competition. The narrator's pitch for a language learning app results in winning the startup competition.", 'The event started with a panel of entrepreneurs discussing successful business strategies in Canada. The event commenced with a panel of entrepreneurs sharing insights on successful business strategies in Canada.', 'The narrator initially doubts winning but eventually emerges as the fourth winner, securing a free week of bootcamp programs. The narrator initially doubts their chances of winning but ultimately secures the fourth position and a free week of bootcamp programs.', "The narrator expresses excitement about the entrepreneurial event and describes the surroundings as 'Canadian'. The narrator expresses excitement about the event and comments on the Canadian atmosphere."]}], 'duration': 243.885, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE293700.jpg', 'highlights': ['The narrator successfully pitches a new language learning app and wins a startup competition.', 'The event is for Canadian newcomers to pitch their startup ideas, and the speaker was selected as one of the 10 people to pitch their ideas today.', 'The narrator initially doubts their chances of winning but ultimately secures the fourth position and a free week of bootcamp programs.', 'The event started with a panel of entrepreneurs discussing successful business strategies in Canada.']}, {'end': 958.576, 'segs': [{'end': 564.237, 'src': 'embed', 'start': 538.246, 'weight': 2, 'content': [{'end': 549.07, 'text': "Okay, so I'm on Twitter's developer website now and I was looking at this section, callback URL, and it looks like it goes to this URL.", 'start': 538.246, 'duration': 10.824}, {'end': 550.691, 'text': "What I'm guessing.", 'start': 550.071, 'duration': 0.62}, {'end': 555.993, 'text': 'what happens is when someone signs in with Twitter,', 'start': 550.691, 'duration': 5.302}, {'end': 564.237, 'text': "Twitter sends us back to that URL and then the library that I'm using for this purpose just handles that request.", 'start': 555.993, 'duration': 8.244}], 'summary': "Twitter's callback url enables seamless user sign-in and redirects to a designated url for handling requests.", 'duration': 25.991, 'max_score': 538.246, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE538246.jpg'}, {'end': 664.263, 'src': 'embed', 'start': 627.174, 'weight': 4, 'content': [{'end': 632.718, 'text': 'And then I found Stack Overflow page and I found this code snippet.', 'start': 627.174, 'duration': 5.544}, {'end': 635.94, 'text': 'It looks like this is a view that takes a request.', 'start': 633.158, 'duration': 2.782}, {'end': 642.906, 'text': 'And then to get the user, it looks like all we need to do say is request.user.', 'start': 636.881, 'duration': 6.025}, {'end': 646.488, 'text': 'And then to get the username, we can do request.user.username.', 'start': 643.686, 'duration': 2.802}, {'end': 649.05, 'text': 'So let me see if that works.', 'start': 647.669, 'duration': 1.381}, {'end': 659.539, 'text': 'So I just got an error here.', 'start': 658.498, 'duration': 1.041}, {'end': 661.44, 'text': 'Let me just read the error here.', 'start': 659.959, 'duration': 1.481}, {'end': 664.263, 'text': 'It says full object is not callable.', 'start': 662.221, 'duration': 2.042}], 'summary': "Discovered code snippet, attempted to retrieve user data, encountered 'full object not callable' error.", 'duration': 37.089, 'max_score': 627.174, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE627174.jpg'}, {'end': 830.558, 'src': 'embed', 'start': 770.591, 'weight': 0, 'content': [{'end': 772.632, 'text': 'we might not need to do that right now.', 'start': 770.591, 'duration': 2.041}, {'end': 785.623, 'text': "so i'll say later, store some info about if we already follow them or not And actually logging into EditDojo and following someone.", 'start': 772.632, 'duration': 12.991}, {'end': 788.207, 'text': 'that should be easy, because I already made a tutorial on that.', 'start': 785.623, 'duration': 2.584}, {'end': 794.85, 'text': "So I'm just going to use my open source code right here for my Twitter bots here.", 'start': 789.648, 'duration': 5.202}, {'end': 799.652, 'text': 'What I did is I logged into edit Dojo and then I tweeted at someone.', 'start': 795.15, 'duration': 4.502}, {'end': 805.995, 'text': "So I think what I'm going to do is I'm going to test this part of the code by tweeting at username.", 'start': 800.332, 'duration': 5.663}, {'end': 811.557, 'text': "And then later I'm going to change that part of the code and, you know, just a little bit to follow them instead.", 'start': 806.555, 'duration': 5.002}, {'end': 813.998, 'text': "Okay So let's get to coding.", 'start': 812.537, 'duration': 1.461}, {'end': 826.272, 'text': 'Okay, so it looks like sending a tweet works here.', 'start': 823.669, 'duration': 2.603}, {'end': 830.558, 'text': 'I just said at, you know, my personal account testing this tweet one.', 'start': 826.753, 'duration': 3.805}], 'summary': 'Developing code to automate following users on editdojo using open source code and testing tweet functionality.', 'duration': 59.967, 'max_score': 770.591, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE770591.jpg'}], 'start': 538.246, 'title': 'Implementing twitter login and coding a twitter bot', 'summary': 'Covers implementing twitter login with django, including callback urls and user authentication, and creating a twitter bot using python and tweepy library, with testing functionality and plans for additional features.', 'chapters': [{'end': 693.441, 'start': 538.246, 'title': 'Implementing twitter login with django', 'summary': "Discusses implementing twitter login with django, including handling callback urls, integrating user authentication, and resolving errors while using django's request.user to retrieve user information.", 'duration': 155.195, 'highlights': ["Handling Twitter callback URL and integrating user authentication The chapter discusses the process of handling Twitter's callback URL for user authentication and integrating it with Django to follow the user if they are signed in.", "Resolving error while using request.user in Django view The chapter provides a solution to the error 'full object is not callable' encountered when attempting to retrieve user information using Django's request.user, by identifying and rectifying the syntax issue in the code snippet.", 'Obtaining user information in Django view The chapter explores obtaining user information in a Django view by utilizing the request.user and request.user.username, found through a code snippet on Stack Overflow.']}, {'end': 958.576, 'start': 694.361, 'title': 'Coding a twitter bot', 'summary': 'Involves creating a script to follow a user on twitter using python and the tweepy library, testing the functionality by sending tweets and following users, and planning to implement additional features while discussing future video content and inviting viewers to join the discord server.', 'duration': 264.215, 'highlights': ['Tested the functionality of retrieving the username and successfully followed a user on Twitter using Python and the Tweepy library.', 'Discussed plans to implement additional features for the script, such as storing information about whether a user is already followed, and mentioned the availability of the code at csdojo.io/edit.', 'Shared the experience of vlogging and coding simultaneously, expressed the intent to focus more on coding in the upcoming weeks, and encouraged viewers to join the Discord server.', 'Explained the process of authenticating and following a user on Twitter, including the use of open-source code for logging into EditDojo and tweeting at someone, and the subsequent modification to follow users instead.']}], 'duration': 420.33, 'thumbnail': 'https://coursnap.oss-ap-southeast-1.aliyuncs.com/video-capture/jDn7kwBYnyE/pics/jDn7kwBYnyE538246.jpg', 'highlights': ['Discussed plans to implement additional features for the script, such as storing information about whether a user is already followed, and mentioned the availability of the code at csdojo.io/edit.', 'Tested the functionality of retrieving the username and successfully followed a user on Twitter using Python and the Tweepy library.', "Handling Twitter callback URL and integrating user authentication The chapter discusses the process of handling Twitter's callback URL for user authentication and integrating it with Django to follow the user if they are signed in.", 'Explained the process of authenticating and following a user on Twitter, including the use of open-source code for logging into EditDojo and tweeting at someone, and the subsequent modification to follow users instead.', "Resolving error while using request.user in Django view The chapter provides a solution to the error 'full object is not callable' encountered when attempting to retrieve user information using Django's request.user, by identifying and rectifying the syntax issue in the code snippet."]}], 'highlights': ['The narrator successfully pitches a new language learning app and wins a startup competition.', 'The speaker shares the process of solving coding problems and integrating Twitter into a web app called Edit Dojo.', 'The speaker found a tutorial for setting up Twitter integration for the web app, followed it, and successfully implemented the sign up with Twitter button.', 'The speaker plans to pitch their startup idea at an event where others will also be pitching their startup ideas.', 'The event is for Canadian newcomers to pitch their startup ideas, and the speaker was selected as one of the 10 people to pitch their ideas today.', "The author plans to automate user follow-back by logging into a separate Twitter account and following the user's account using their username upon sign-up, recognizing potential limitations if the user changes their Twitter handle after signing up.", 'Discussed plans to implement additional features for the script, such as storing information about whether a user is already followed, and mentioned the availability of the code at csdojo.io/edit.', 'Tested the functionality of retrieving the username and successfully followed a user on Twitter using Python and the Tweepy library.', "Handling Twitter callback URL and integrating user authentication The chapter discusses the process of handling Twitter's callback URL for user authentication and integrating it with Django to follow the user if they are signed in.", 'Explained the process of authenticating and following a user on Twitter, including the use of open-source code for logging into EditDojo and tweeting at someone, and the subsequent modification to follow users instead.']}