Rapidly spin up MySQL databases for prototyping, hackathons, or experimentation with Python models. Get a full-featured database environment with APIs, Pydantic schemas, and SQLAlchemy models in seconds without configuration overhead. Perfect for developers who need to move fast and iterate quickly.
How it works
GibsonAI provides instant database provisioning with zero configuration. Simply describe what you need in natural language, and get a fully functional MySQL database with RESTful APIs, Pydantic schemas, SQLAlchemy models, and hosting ready to use immediately.
Instant provisioning
Get a fully functional database with APIs in seconds
Python models
Automatic Pydantic schemas and SQLAlchemy models generation
Zero configuration
No setup, no config files, no infrastructure management
Text-to-SQL
Query your data using natural language with Gibson Studio
Key Features
Instant Database Creation
- Zero Setup: No configuration files or infrastructure setup required
- MySQL Database: Fully managed MySQL database with autoscaling
- RESTful APIs: Complete CRUD operations automatically generated
- Immediate Availability: Database and APIs available instantly
Python Development Ready
- Pydantic Schemas: Type-safe validation schemas for all tables
- SQLAlchemy Models: ORM models for database operations
- Code Generation: Automatically generated Python code for integration
- Framework Support: Compatible with FastAPI, Flask, Django, and more
Text-to-SQL Analysis
- Natural Language Queries: Ask questions about your data
- Gibson Studio: Run generated SQL queries in the intuitive data management UI
- Rapid Prototyping: Test data structures and queries quickly
- Real-time Insights: Get immediate feedback on your data models
Step-by-step guide
1. Create your database with natural language
# Create a simple app database
gibson modify "Create a simple todo app with users and tasks. Users can create multiple tasks with title, description, due date, and completion status"
2. Generate Python models
# Generate Pydantic schemas for validation
gibson code schemas
# Generate SQLAlchemy models for database operations
gibson code models
# Generate all Python code
gibson code base
3. Start building immediately
Your database is ready with:
- RESTful APIs: Base URL
https://api.gibsonai.com
- SQL queries:
/v1/-/query
- Table operations:
/v1/-/[table-name-in-kebab-case]
- SQL queries:
- OpenAPI Spec: Available in your project settings
- Direct Connection: Connection string available in the UI
- API Documentation: Available in the data API section
4. Explore with text-to-SQL
Use Gibson Studio to test your ideas:
- "Show me all completed tasks"
- "Which users have the most tasks?"
- "Find overdue tasks"
- "Show task completion rates by user"
Example rapid development workflow
Quick prototype creation
# Create a social media prototype
gibson modify "Create a social media prototype with users, posts, likes, and follows. Users can create posts, like posts, and follow other users"
Generated database schema
-- Users table
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(255) UNIQUE NOT NULL,
display_name VARCHAR(100),
bio TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Posts table
CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
content TEXT NOT NULL,
image_url VARCHAR(500),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
);
-- Likes table
CREATE TABLE likes (
id INT AUTO_INCREMENT PRIMARY KEY,
user_id INT NOT NULL,
post_id INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (post_id) REFERENCES posts(id),
UNIQUE KEY unique_user_post (user_id, post_id)
);
-- Follows table
CREATE TABLE follows (
id INT AUTO_INCREMENT PRIMARY KEY,
follower_id INT NOT NULL,
following_id INT NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (follower_id) REFERENCES users(id),
FOREIGN KEY (following_id) REFERENCES users(id),
UNIQUE KEY unique_follow (follower_id, following_id)
);
Generated Pydantic schemas
from pydantic import BaseModel, EmailStr
from datetime import datetime
from typing import Optional
class User(BaseModel):
id: Optional[int] = None
username: str
email: EmailStr
display_name: Optional[str] = None
bio: Optional[str] = None
created_at: Optional[datetime] = None
class Post(BaseModel):
id: Optional[int] = None
user_id: int
content: str
image_url: Optional[str] = None
created_at: Optional[datetime] = None
class Like(BaseModel):
id: Optional[int] = None
user_id: int
post_id: int
created_at: Optional[datetime] = None
class Follow(BaseModel):
id: Optional[int] = None
follower_id: int
following_id: int
created_at: Optional[datetime] = None
Generated SQLAlchemy models
from sqlalchemy import Column, Integer, String, Text, DateTime, ForeignKey, UniqueConstraint
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship
from datetime import datetime
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True, autoincrement=True)
username = Column(String(50), unique=True, nullable=False)
email = Column(String(255), unique=True, nullable=False)
display_name = Column(String(100))
bio = Column(Text)
created_at = Column(DateTime, default=datetime.utcnow)
posts = relationship("Post", back_populates="user")
likes = relationship("Like", back_populates="user")
followers = relationship("Follow", foreign_keys="Follow.following_id", back_populates="following")
following = relationship("Follow", foreign_keys="Follow.follower_id", back_populates="follower")
class Post(Base):
__tablename__ = 'posts'
id = Column(Integer, primary_key=True, autoincrement=True)
user_id = Column(Integer, ForeignKey('users.id'), nullable=False)
content = Column(Text, nullable=False)
image_url = Column(String(500))
created_at = Column(DateTime, default=datetime.utcnow)
user = relationship("User", back_populates="posts")
likes = relationship("Like", back_populates="post")
class Like(Base):
__tablename__ = 'likes'
id = Column(Integer, primary_key=True, autoincrement=True)
user_id = Column(Integer, ForeignKey('users.id'), nullable=False)
post_id = Column(Integer, ForeignKey('posts.id'), nullable=False)
created_at = Column(DateTime, default=datetime.utcnow)
__table_args__ = (UniqueConstraint('user_id', 'post_id', name='unique_user_post'),)
user = relationship("User", back_populates="likes")
post = relationship("Post", back_populates="likes")
class Follow(Base):
__tablename__ = 'follows'
id = Column(Integer, primary_key=True, autoincrement=True)
follower_id = Column(Integer, ForeignKey('users.id'), nullable=False)
following_id = Column(Integer, ForeignKey('users.id'), nullable=False)
created_at = Column(DateTime, default=datetime.utcnow)
__table_args__ = (UniqueConstraint('follower_id', 'following_id', name='unique_follow'),)
follower = relationship("User", foreign_keys=[follower_id], back_populates="following")
following = relationship("User", foreign_keys=[following_id], back_populates="followers")
Rapid development examples
Start coding immediately
import requests
# Create a user
user_data = {
"username": "developer123",
"email": "dev@example.com",
"display_name": "Developer",
"bio": "Building awesome stuff!"
}
response = requests.post("https://api.gibsonai.com/v1/-/users", json=user_data)
new_user = response.json()
# Create a post
post_data = {
"user_id": new_user["id"],
"content": "Just provisioned a database in seconds with GibsonAI!",
"image_url": "https://example.com/screenshot.png"
}
response = requests.post("https://api.gibsonai.com/v1/-/posts", json=post_data)
new_post = response.json()
# Like the post
like_data = {
"user_id": new_user["id"],
"post_id": new_post["id"]
}
response = requests.post("https://api.gibsonai.com/v1/-/likes", json=like_data)
Using SQLAlchemy for complex operations
from sqlalchemy import create_engine, func
from sqlalchemy.orm import sessionmaker
# Use connection string from GibsonAI UI
engine = create_engine("your-connection-string-from-ui")
Session = sessionmaker(bind=engine)
session = Session()
# Get popular posts
popular_posts = session.query(
Post.content,
User.username,
func.count(Like.id).label('like_count')
).join(User).outerjoin(Like).group_by(
Post.id
).order_by(
func.count(Like.id).desc()
).limit(10).all()
# Get user feed with followed users' posts
user_id = 1
feed = session.query(Post).join(
Follow, Post.user_id == Follow.following_id
).filter(
Follow.follower_id == user_id
).order_by(Post.created_at.desc()).limit(20).all()
Text-to-SQL for rapid analysis
# Use text-to-SQL for quick insights
query = """
SELECT u.username, COUNT(p.id) as post_count, COUNT(l.id) as total_likes
FROM users u
LEFT JOIN posts p ON u.id = p.user_id
LEFT JOIN likes l ON p.id = l.post_id
GROUP BY u.id, u.username
ORDER BY total_likes DESC
LIMIT 10
"""
response = requests.post("https://api.gibsonai.com/v1/-/query", json={"query": query})
top_users = response.json()
Common use cases
Hackathon projects
# Create a voting app for hackathons
gibson modify "Create a voting app with users, proposals, and votes. Users can submit proposals and vote on them. Each user can only vote once per proposal"
MVP development
# Create an e-commerce MVP
gibson modify "Create an e-commerce MVP with products, users, orders, and reviews. Users can browse products, place orders, and leave reviews"
Learning projects
# Create a learning management system
gibson modify "Create a learning platform with students, courses, lessons, and progress tracking. Students can enroll in courses and track their progress"
Performance and scalability
Instant scaling
- Autoscaling: Database automatically scales with your application
- Zero downtime: No interruptions as your app grows
- Global availability: Hosted on scalable cloud infrastructure
- Performance monitoring: Built-in performance tracking
Development to production
- Environment promotion: Easily move from development to production
- Zero configuration: No infrastructure changes needed
- Continuous deployment: Deploy changes instantly
- Backup and recovery: Automatic backups and point-in-time recovery
Use cases
AI-driven schema generation
Generate schemas and Python models with natural language
Unified API layer
Create consistent data access with automatically generated APIs
Feature development
Manage schema changes alongside feature development
What's next?
Try it on GibsonAI!
GibsonAI is an AI-powered developer platform that lets you design, build, and deploy production-grade serverless databases in minutes — using just natural language prompts.