Developing AI apps, Interning at RBC, Building on Twitter, and more!
Vinaya Sharma | July Newsletter 👩💼🍉
Hey! If you’re new here, I’m Vinaya and welcome to Bits and Bytes! I'm a 17 y/o tech nerd from Toronto that’s always building. 👩💻
In this monthly newsletter, I share Bits and Bytes of my learnings to help you grow from my key insights! 🌱 Stay tuned for bits of self-improvement techniques, and bytes of groundbreaking tech innovations.
I got a lot done this month while also getting loads of summer fun in, it’s been great but the summers still racing away far too fast. Check it out!👇
Testing out my app at the IFT Conference 📱
At the end of June, I finished a 2-month long project I was working on with the Institute of Food Technologists. My app was being used to help spark conversation and bring people together by leveraging NLP techniques and LLMs. In the second week of July, the much-anticipated conference my app would be used at took place and the Connection Companion got user testing, some great validation, and feedback.
I learnt a lot during this project - from designing clean user interfaces to optimizing the user experience through automation and simplicity, to building software compatible with various devices. After continuously improving this app it was great to see the impact and potential of this project.
The capabilities of AI right now today are so fascinating and it’s just crazy how it can be applied to every and any problem or opportunity available. But, the AI today is still not perfect - through this project I learnt that there are times when a model may begin hallucinating, repeating itself, making up information and more. Although it’s quite simple to get set up with Open AI these days and access GPT models, it’s only through robust prompt engineering, fine-tuning and leveraging external services like Langchain with which you can unlock even more value from AI and get production-level professional apps built.
Building Feedback Friend with Leaderley 🤖
Now onto the second contract project I’ve taken on this summer; helping families, leaders, executives - anyone really, uncover their blind spots with the help of AI.
Whether we like to admit it or not no one’s perfect. We all have positive qualities and potential areas of improvement that vary in different areas of our life. Be it in our professional, or personal lives, physical or mental health, a lot of us have habits and behaviour that impact ourselves and those around us.
When you are a leader, manager or executive your habits can really make a major impact on your fellow employees, coworkers and even companies success as a whole. Finding these areas of improvement and working with executives to embark on change has been Leaderley International’s mission; specifically working with these executives to source feedback and relay it in an effective manner to ensure transparency and minimal bias.
This works by aggregating feedback data points so that specific individuals can not be traced back to as the ones to have provided feedback. Leaderley had been doing great at providing these feedback reports to executives one by one, but what if everyone had access to such services? The ability to collect feedback without fear of hurting one another and receive feedback without the bias of only implementing feedback from those you want to.
For the past little bit now I’ve been working to build out this system - replicating Leaderley’s current workflow… but automated end-to-end with AI.
In order to do so, we’ve begun building FeedbackFriend.AI - a 2-week-long program to request feedback from those whose opinions matter to you, a system that automatically aggregates data and gets you a summarized report with actionable steps to propel your self-growth right in your inbox. All made possible by yours truly; AI.
Building the V1 for this system has been a blast. I’ve spent the past little bit navigating the current tech stack being used and identifying how to integrate with it to build new functionality. After loads of working on this project, I’m happy to announce that FeedbackFriend.AI will be launched alongside the Blind Spots book in October!
FeedbackFriend.AI will be free for everyone to use and you’ll have the option to purchase a pro report with even more analysis and action items. I’m now working on crafting this detailed report and exploring if we can integrate an AI-led interview chat as well, to help further uncover blind spots!
Weekly Twitter Builds 👩💻
This summer I made it my goal to explore a lot. Tech is huge, AI is huge, software is huge and although I love building, problem solving and just figuring things out (through the process of reading lots of documentation lol) I often find myself going down mass research rabbit holes, learning a bunch about a tech but never actually building anything with it, and missing out from getting the real learnings of understanding how and why to use certain tools and of course miss out on debugging (the most educational part of the entire experience of course)!
So this month I had a bias towards action and built something, anything that caught my interest.
Project Category #1 - Reinforcement Learning
I started off with reinforcement learning. As a kid who didn’t love robots, the idea of robot servants, robot vacuums, robot chefs?👨🍳 All of this is only made possible with RL not to mention even the LLM’s everyone is talking about and AGI everyone’s building towards. It’s RL that’s enabled amazing outputs from today’s models.
So I began by learning more about the field. RL is a sub-field of machine learning that leverages an incentivized agent interacting with an environment, learning through rewards and punishments.
I was curious to see how RL varied from the typical deep neural networks I’ve been working with in my Computer Vision and NLP projects.
Turns out although Deep Learning models are designed for supervised learning tasks with static data and focus on mapping inputs to outputs, Deep Reinforcement Learning models are tailored for sequential decision-making tasks, learning from interactions with an environment to maximize cumulative rewards over time. However, the actual implementation and optimization techniques are nearly identical.
In order to get started with RL I began by cartpole balancing in the OpenAI Gym - basically, a simulated environment provided for you out of the box to train RL agents. Through this, I learnt about the algorithms and theory (specifically Deep Q-Network) and then I eventually levelled up to the Dino game! 🦖
Building an AI to play the Dino game was much harder because I needed to first analyze the frame, decide on a move, and then evoke that move. I actually ended up spending more time finding a way to capture my screen, performing optical character recognition and programmatically moving the Dino character than the AI itself - which after talking with a lot of developers I now realize is the case in most jobs.
The hard part today quite frankly isn’t implementing the algorithms. It’s about understanding which algorithms should be used, where and how to integrate them into a larger ongoing project and vision.
Checkout the Twitter thread to learn more about this project.
Project Category #2 - Playing around with Social Media Giants API’s
Ok Twitter, X, Facebook, Meta, Threads; June was obviously a hot month for these 2 social media giants, they had a lot of changes and a lot of mixed emotions from the public surrounding these.
Metas Threads were released on July 5th and right away I noticed many of the people I followed on Twitter that posted frequently, wanted to capitalize on Threads and share their content on it - since Threads and Twitter are almost one and the same platform. I thought it was dumb to have to post the same thing twice, so while I had a couple of free hours to myself on the weekend I decide why not try to automate this - seemed pretty simple… whenever x person posts something on Twitter extract the tweet text and post it onto Threads and vice versa.
Hahaha a couple of hours later, after trying to build this I realized Twitter’s API changes from a couple months back were as bad as people were saying and I had no hope in getting to read or write to Twitter without unnecessary fees. I eventually decided to let this project go.
I did find some solid unofficial Threads API’s which was cool and I wrote a script that theoretically performs all the functionality I described above - but 453 and 401 errors had some other plans for me on this project.
Key takeaway: build fast and break things. I wanted to build this automation and although it didn’t work I learnt a ton about the Twitter API and Twitter bots as well as creating a mock API in general. This idea had been in my head for a week before I gave it a try so it was nice to just have a bias towards action, give this project a try and make some friends in the threads while complaining about Twitter API changes. Now if someone figures out how to build this (without cheating with Zapier) please hmu!!
I played around with a couple more builds this month. Feel free to scroll through my Twitter if you want to see more :)
Interning at the Royal Bank of Canada 💼
Now for what I’ve been up to for the bulk of my summer. On the DevOps Engineering & Developer Advocacy team over this past month, I’ve worked on 3 main projects.
Improving the Dev Bootcamp course on Learning Labs (RBC’s internal Coursera or Udemy). This involved a mixture of understanding developers’ needs and wants, breaking down different user personas and finding ways to optimize the developer onboarding experience. I went through the courses following along labs and readings as a full-time developer would and at the end removed and/or added content to be more concise, and clear.
I then worked with React, Redux and UmiJS to add improvements to the Learning Labs platform itself. This included the addition of multiple UI changes.
Leveraging SQL and Grafana reporting to build effective dashboards that lab authors would want to see.
I know I still have two weeks to go but I feel like showing some appreciation. Huge shoutout to the Open source Program Office team specifically Elane, Arun, Noelle, Jerry, Niomi, Esha, Abinaya, Michael and everyone else that made daily standup amazing. Of course Jess, Alex, Brodie all my fellow STL friends and more - thank you for making this such a fun experience. Finally, Rhea, Anan, Luke and Lucas you guys are the best, couldn’t have asked for a better pod. Five Musketeers >>>
I came in seeing RBC as Canada’s largest bank but I’ll be leaving it knowing you are really a tech company. The initiatives being led with AI, Blockchain, AR/VR and more are phenomenal, combined with the push for Agile development and keeping up with the latest trends I think RBC’s innovations are really setting them up for success.
Working with BenchSci to Improve Employee Productivity 📈
As a forcing function to continue building technical depth, I decided to participate in the 2023 BenchSci x TKS Challenge! The objective of this challenge is to develop innovative (ML and AI using LLMs/GPT) solutions that can improve productivity at BenchSci, creating a safer, healthier, and more supportive environment for all employees.
Having seen all of the issues and time wasted during onboarding at RBC; improving the onboarding experience at BenchSci was the first thing on my mind. By speaking with mentors and more employees at BenchSci, it turns out that they’ve got their own set of issues with the onboarding process.
Right now BenchSci stores all onboarding documents, resources that need to be handed off to the new employee and account information in a google drive. Managers have to go through all of this documentation with employees during the first week and get them up to speed.
This is leading to loss of time and money and lower knowledge retention as employees suffer from information overload, lack of organization, and a time-consuming experience.
That’s why my team and I decided to focus in on boosting productivity at BenchSci by making onboarding simpler. We are preventing loss of information and communication when new recruits are onboarded onto accounts at Benchsci by using AI-assisted information compiling in google drive to generate key insights, questions to ask coworkers, and interview outlines for the account.
I’ll share more about the actual build and solution next month, but as for a sneak peek behind the scenes, it involved loads of Python scripting, Langchain workflows, Vector Databases and fun Streamlit UIs.
Closing thoughts and what’s next? 💭
Asides from all of that, I did a hackathon in the middle of the month building a full-stack app with React and Django. I have not worked with Python for web dev much so this was a huge learning experience.
My family and I went out hiking each weekend to trails, and waterfalls and I realized Ontario is even more beautiful than I thought. However, Canada’s progress in FIFA this year is something to talk about - it was painful to watch. After Canada got knocked out I was rooting for Japan. Their coordination, formations and passing were insane, but they just lost to Sweden so now my money is on them. 🇸🇪
As for my plans for the next little bit:
Attending the Explore Fellowship (a summer camp for nerds, focused on effective altruism) from August 13th - 19th in Connecticut
Continuing to build and improve Feedback Friend for the launch
Finishing up my internship at RBC
Participating in Buildspace S4!! Building MoodSpace in S3 was an incredible experience and I can’t wait to do it again with something new
Attending Hack the North; Canada’s largest hackathon in Waterloo in September!
That’s it for now, see you next month!
Cool piece. Do you have the code for the Dino Game? Would love to try it out.
Let's go, Vinaya! Working on location at RBC's corporate hq is so sick. 🔥 ps. I'd love to hangout before the academic year starts back up again in September.