A Spark of Innovation

Amidst the challenging times of the Covid-19 pandemic, my daily routine underwent a shift. As remote work became the norm, I found myself freed from the usual commute, and an abundance of spare time suddenly lay at my fingertips.

Eager to make the most of this newfound luxury, I embarked on a journey into freelancing. With a penchant for coding and a desire to blend work and enjoyment, I dived into the world of freelance development.

Project after project, I took on an array of tasks, from crafting mobile apps to designing websites. While frontend technologies continuously evolved, I remained resolutely committed to NodeJS for the backend. This choice was not only a technical preference but also fueled by my repository of APIs and code snippets. These treasures expedited my freelance projects, enabling me to deliver results with remarkable speed. However, amidst these accomplishments, a realization dawned upon me: a significant portion of my time was spent on project setup and creating CRUD APIs.

Fast-forward to 2022, where my journey led me to the HacktoberFest. As an active participant and maintainer, I introduced an open-source folder structure template designed to benefit all. While I successfully achieved this milestone, it was the advent of AI in the subsequent year that truly fired my imagination.

My path eventually crossed with this captivating hackathon, introducing me to the realm of YugabyteDB. The synergy between YugabyteDB and my envisioned no-code platform presented an opportunity to revolutionize the development process. Together, they promised to offer the YugabyteDB community an accelerated way to establish base repositories and CRUD modules, bypassing the conventional manual setup.

Introducing AutoPilot

And so, I introduce AutoPilot, a groundbreaking innovation that harnesses the capabilities of YugabyteDB while empowering developers to seamlessly integrate its power into their node backend projects within minutes.

The name "AutoPilot" draws inspiration from the aviation world, where pilots entrust control to a computer system. Similarly, users provide inputs while AutoPilot translates their conceptualizations into tangible outcomes. I meticulously timed the process and can proudly state that you can create your inaugural AutoPilot repository in less than three and a half minutes!

Functionality

AutoPilot's user interface emerged from careful consideration and user feedback. We replicated the intuitive flow of real-world backend project creation, ensuring a smooth and interactive user journey. We prioritized simplicity, trimming away unnecessary complexities to provide a straightforward experience.

In essence, AutoPilot operates through three key steps. Just as you'd initiate a tangible project, AutoPilot commences with the creation of a project. Behind the scenes, a repository takes shape within a shared organization, housing the foundational NodeJS framework intricately connected to YugabyteDB. Following this, you can craft a model, bundling attributes together. AutoPilot swiftly generates CRUD APIs for the model, seamlessly weaving them into the repository. These models effortlessly evolve into YugabyteDB tables, conjured with a mere invocation of the createTable API.

Should your requirements surpass standard CRUD operations, the AI-driven controller feature comes to your aid. User intervention remains an option for fine-tuning, culminating in a seamless integration into the designated project.

Crafting AutoPilot

Our four-person team, comprising adept full-stack and backend developers, worked in tandem with a critical data scientist. Our tech arsenal featured:

  • Backend: NodeJS with Express
  • Frontend: React
  • Deployment: Backend and frontend coexist within a single repository, hosted on Render through a main branch pipeline.
  • AI Integration: Leveraging OpenAI's APIs to power AI functionalities.
  • YugabyteDB as the backend

Overcoming Challenges

Our journey was not without its challenges. Bulk uploading an entire folder to a GitHub repository presented a hurdle, as our focus on speed demanded an efficient solution. Addressing the dynamic initialization of a table using a mongoose object was equally intricate due to YugabyteDB's query-based nature. To bridge this gap, we devised a custom wrapper seamlessly converting Mongoose Objects to SQL, ensuring a smooth transition from MongoDB to YugabyteDB.

Accomplishments to Celebrate

Our accomplishments stand as a testament to our dedication and innovation:

  • The creation of a Mongoose-to-SQL conversion wrapper
  • The development of the AI controller feature
  • Successful execution of complex operations through an elegant UI design
  • Enabling AI-powered code deployment to GitHub repositories

AutoPilot's Future Horizon

AutoPilot's future brims with promise, underpinned by its flexible architecture designed to accommodate future enhancements. Our aspirations encompass a wide array of possibilities:

  • AI-driven test case generation
  • AI-driven controller generation based on specific models
  • Expanded language support, including integration with technologies like SpringBoot
  • Support for multiple databases and migration services
  • Auto-generating templates for commonly used Models and Controllers
  • In-depth analytics for users and projects
  • A native interface for API testing, akin to Swagger or Postman, integrated within AutoPilot

As we gaze into the horizon, we envision a future where AutoPilot becomes an indispensable tool, streamlining developers' lives by automating manual tasks and paving the way for boundless innovation.

Built With

Share this project:

Updates