Data modeling with GibsonAI

Aug 1, 2024

GibsonAI data modeler will take instructions in natural language and converts them into executable python code. This will instantly reduce development time from days or weeks to minutes. Unlike your typical LLM passthroughs or co-pilots, GibsonAI's pair programmer gives developers the control to write very specific code that works for their use case.

Example: Building the Parenthood App

I’m currently working on a new project called Parenthood. To start, I have a GitHub repository with no existing code and a MySQL database that is completely empty. Before we dive in, I’ve set up a single entity, “parent,” using Gibson’s pair programmer, without any manual coding. This serves as a foundation for what we’ll build next.

The Gibson pair programmer is incredibly versatile. Whether you’re starting a new project, integrating Gibson into an existing codebase, or using it on a project Gibson has fully developed, it adapts to your needs. As a command-line enthusiast, I love using Gibson through the terminal for its speed and efficiency. However, we are also developing VS Code plugins and other interfaces to fit into whatever environment you prefer.

To showcase Gibson’s capabilities, let’s create a new entity, “child,” using simple natural language commands:

  1. Code Entity Child: When you tell Gibson to “code entity child,” it initializes by analyzing the current database context, which presently includes only the parent table. You can then start data modeling using natural language.

  2. Add Attributes: You can specify attributes like first name and last name, marking them as required. Gibson handles both SQL and Python simultaneously, ensuring everything is up to standard.

  3. Foreign Key Creation: Simply saying “FK parent” prompts Gibson to recognize the parent table, identify its primary key, and create an indexed foreign key automatically. This automation saves time and effort.

  4. Add Unique Constraints: Need a unique key over parent ID, first name, and last name? Gibson can quickly implement this to ensure data integrity across your application.

Reviewing and Merging the Table

After building the “child” entity, you can easily review the table structure, which includes the parent ID, first name, last name, date of birth, and the relevant keys. Once satisfied, a quick “Gibson merge” command integrates the table into your project.

Deploying to the Database

With the entities in place, you can instruct Gibson to load them into your MySQL database, complete with SQL indexes and foreign keys. Following this, commands like “write base code,” “write models,” “write schemas,” and “write tests” allow Gibson to generate everything from SQL Alchemy models to unit tests in a matter of minutes.

GibsonAI compresses what would typically take hours, days, or even weeks of manual coding into a few minutes. With rapid data modeling and code generation, you’re quickly equipped with SQL, SQL Alchemy models, Pydantic schemas, and FastAPI routes, ready to launch your app.

Looking Ahead

We’re continuously enhancing Gibson AI with features like circular dependency detection and customizable data dictionaries. These updates will further empower developers to build and innovate more effectively.

Thank you for joining me on this journey with Gibson AI. Stay tuned for more updates and enhancements that will make your development process even more seamless. Happy coding!

© 2024 GibsonAI, Inc.

© 2024 GibsonAI, Inc.

© 2024 GibsonAI, Inc.