Inspiration
Ever since I saw the announcement of Github-CoPilot I was mesmerized by the sheer power of the application. The Powerful GPT-3 can write intelligent code as if a human wrote it instead. But I never got an invite so I created this extension and flutter application instead. There are three sides to the VScode Extention and one side to the Flutter Application.
What it does
- So, For the Extention. It does three things (or four depending upon when this readme is read). The first thing is obviously the power of code completion. It differs from the traditional, code snippets extensions because it uses an API call to a server to dynamically look for the code asked. This is best used by experienced hackers to write boilerplate code because of the lack of contextual awareness.
- Second Side to this extension is that it has a to-do list embedded in a sidebar. You can write in your to-dos. Single-click to check/un-check them and double-click to remove them altogether. It also has the functionality to add whatever you have selected to your To-Do-list.
- Third Side to this extension is for everyone. Everyone likes little happy chemicals while coding. So, I added another Sidebar filled with cute dog pictures. It has helped me a lot during this hackathon. I believe everyone who likes dogs or cute pets would love seeing some pictures without ever leaving your Window or causing extra distractions like Instagram or Facebook. The best part is, the moment you map my refresh command (yes, there is another helper command which I made to help me code the extension much faster it isn't intended for everyone but it will surely help many people!) to any hot key of your liking you can just press that key and enjoy refresh lines of cute doggos to look at and feel happy.
- Flutter Side of the things include a Diagflow Bot, which has a python backend (the same backend used by my extension). You can ask questions like What should I make?, or Help me find the next MLH Hackathons? and you can also ask questions like I want to learn JavaScript for the bot to respond accordingly. This section is especially aimed at new hackers and helping them. The responses from the bot should provide a good enough starting point for the new hackers to explore the world of hacking. It also uses Cockroach DB for the database needs.
How I built it
I built the extension using TypeScript (node as my package manager) and Used Svelte as my JavaScipt Framework and I even used flask for the backend. The Application has flutter as the frontend, Flask for the backend and to handle the Webhooks for the Dialogflow Bot.
Challenges I ran into
There were many many challenges I faced during this weekend. First and foremost, this is my first time using TypeScipt and even JavaScript to be very honest. I had little to no idea about how things worked there. So, there were many TypeScript related issues, Dependence issues, JavaScript, and TypeScript related issues that needed to be resolved. Since I had little to no experience with JS I chose to use a framework instead and for that my choice was Svelte. That was again very challenging to understand and get it right. There are so many boilerplates involved in writing extensions and using JS that it was a challenge to understand how and which code is boilerplate and which isn't. It was a frustrating yet fulfilling journey in the end to see everything I wrote worked. The Flutter side of things was also challenging this time. For some reason, web-scraping became unnecessarily hard. I was unable to find the right element to choose or find the correct information to display.
Accomplishments that I am proud of
The Fact that the extension and the application work as intended gives me an immense sense of Accomplishment.
What I learned
This project taught me many things. I will list all my learnings below: TS JS Svelte HTML/CSS API calls API Auth (The whole issue with CORS) Flutter Python Flask Node
What's next for Pilot-Co
Next steps is to improve bot and publish on the marketplace.
Built With
- api
- cockroachdb
- css3
- flutter
- html
- javascript
- node.js
- python
- svelte
- typescript
Log in or sign up for Devpost to join the conversation.