{
  "format": "dataset-manifest/1",
  "slug": "ai-powered-personal-blog-writer",
  "version": 4,
  "seed": "ai-powered-personal-blog-writer:1",
  "spec": {
    "format": "dataset/1",
    "slug": "ai-powered-personal-blog-writer",
    "name": "Personal Blog Insights",
    "tagline": "User-generated blog posts, interactions, feedback, and AI outlines from a personal blogging platform.",
    "description": "A personal blog platform enables users to create, manage, and share their own stories, enhanced by AI tools that streamline content generation and optimization. This dataset focuses on blog posts, user interactions, AI-generated outlines, and feedback on content effectiveness, providing insights into how blogs evolve over time. The tables include blog_posts, users, interactions, outlines, feedback, and revisions. Each table captures a different aspect of the blogging experience. The blog_posts table provides details about individual posts, while the users table holds information about the bloggers themselves. The interactions table tracks user engagement with posts, and the outlines table contains AI-generated content structures. Feedback captures user reviews on posts, and revisions detail the history of changes made to each post. This synthetic dataset is ideal for understanding trends in blogging and the role of AI in content creation and optimization, making it useful for both ETL pipelines and teaching purposes.",
    "domain": "media",
    "shape": "slowly-changing",
    "useCases": [
      "etl-pipelines",
      "teaching"
    ],
    "keywords": [
      "blogging",
      "AI",
      "user engagement",
      "content optimization",
      "data insights"
    ],
    "locale": "en",
    "license": "CC0-1.0",
    "version": 1,
    "tables": {
      "blog_posts": {
        "description": "Each row represents a blog post created by a user, linking to the user who authored it. It tracks the post's title, content, creation date, and current status.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each blog post."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "References the user who created the post."
          },
          "title": {
            "kind": "title",
            "description": "The title of the blog post.",
            "pool": [
              "journey",
              "insight",
              "reflections",
              "growth",
              "exploration",
              "adventure",
              "discovery",
              "mindfulness",
              "creativity",
              "wellbeing",
              "perspective",
              "experience",
              "connection",
              "inspiration",
              "transformation",
              "happiness",
              "balance",
              "motivation",
              "purpose",
              "self-care",
              "authenticity",
              "journeying",
              "evolution",
              "serenity",
              "introspection",
              "dreams",
              "passion",
              "challenges",
              "success",
              "vision",
              "mindset",
              "narrative",
              "stories",
              "lessons",
              "wisdom",
              "joy",
              "expression",
              "courage",
              "resilience",
              "growth-mindset",
              "self-discovery",
              "adventure-seeking",
              "life-lessons",
              "personal-growth",
              "wellness",
              "gratitude",
              "self-reflection",
              "journey-of-life",
              "inner-peace",
              "creative-journey",
              "life-exploration",
              "thoughts",
              "insights",
              "new-beginnings",
              "life-adventures",
              "personal-journey"
            ],
            "min": 1,
            "max": 3
          },
          "content": {
            "kind": "paragraph",
            "description": "The full content of the blog post."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date and time when the post was created.",
            "dayProfile": "waking"
          },
          "status": {
            "kind": "enum",
            "values": [
              "draft",
              "published",
              "archived"
            ],
            "description": "Current status of the blog post.",
            "weights": [
              6,
              3,
              1
            ]
          }
        }
      },
      "users": {
        "description": "This table holds information about users who create blog posts, including their names and registration details.",
        "rows": 150,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each user."
          },
          "full_name": {
            "kind": "fullName",
            "description": "The full name of the user."
          },
          "email": {
            "kind": "email",
            "from": "full_name",
            "description": "Email address of the user."
          },
          "registered_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the user registered on the platform.",
            "dayProfile": "waking"
          }
        }
      },
      "interactions": {
        "description": "This table captures user interactions with blog posts, such as likes and comments, linking back to both the post and the user.",
        "rows": 300,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each interaction."
          },
          "post_id": {
            "kind": "fk",
            "ref": "blog_posts.id",
            "description": "References the blog post interacted with."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "References the user who interacted."
          },
          "interaction_type": {
            "kind": "enum",
            "values": [
              "like",
              "comment"
            ],
            "description": "Type of interaction with the blog post.",
            "weights": [
              7,
              2
            ]
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date and time when the interaction occurred.",
            "dayProfile": "waking"
          }
        }
      },
      "outlines": {
        "description": "Each row represents an AI-generated outline for a blog post, linked to the respective post and indicating its utility.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each outline."
          },
          "post_id": {
            "kind": "fk",
            "ref": "blog_posts.id",
            "description": "References the blog post for which the outline was generated."
          },
          "outline": {
            "kind": "paragraph",
            "description": "The AI-generated outline content."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the outline was generated.",
            "dayProfile": "waking"
          }
        }
      },
      "feedback": {
        "description": "This table contains user feedback on blog posts, providing qualitative insights linked back to both the post and the user.",
        "rows": 200,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each feedback entry."
          },
          "post_id": {
            "kind": "fk",
            "ref": "blog_posts.id",
            "description": "References the blog post being reviewed."
          },
          "user_id": {
            "kind": "fk",
            "ref": "users.id",
            "description": "References the user providing feedback."
          },
          "rating": {
            "kind": "int",
            "min": 1,
            "max": 5,
            "description": "Rating given to the blog post.",
            "distribution": "high"
          },
          "comment": {
            "kind": "sentence",
            "nullable": true,
            "description": "User's comment about the blog post."
          },
          "created_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date when the feedback was submitted.",
            "dayProfile": "waking"
          }
        }
      },
      "revisions": {
        "description": "This table tracks changes made to blog posts, capturing the history of edits over time.",
        "rows": 100,
        "columns": {
          "id": {
            "kind": "pk",
            "description": "Unique identifier for each revision."
          },
          "post_id": {
            "kind": "fk",
            "ref": "blog_posts.id",
            "description": "References the blog post that was revised."
          },
          "revision_content": {
            "kind": "paragraph",
            "description": "The content of the blog post after the revision."
          },
          "revised_at": {
            "kind": "datetime",
            "from": "2022-01-01",
            "to": "2023-12-31",
            "description": "Date and time when the revision was made.",
            "dayProfile": "business"
          }
        }
      }
    },
    "structure": "multi-table",
    "traits": [
      "timestamped",
      "nullable",
      "categorical"
    ],
    "analysisQuestions": [
      "How do user interactions vary across different blog posts?",
      "What is the average rating given to blog posts and how does it change over time?",
      "Which types of interactions are most common among users?",
      "How often are AI-generated outlines utilized by users?",
      "What trends can be observed in user feedback over time?"
    ],
    "suggestedQueries": [
      {
        "title": "Join Blog Posts and Users",
        "sql": "SELECT blog_posts.title, users.full_name FROM blog_posts JOIN users ON blog_posts.user_id = users.id;",
        "dialect": "postgres"
      },
      {
        "title": "Count Interactions per Post",
        "sql": "SELECT post_id, COUNT(*) as interaction_count FROM interactions GROUP BY post_id;",
        "dialect": "postgres"
      },
      {
        "title": "Average Feedback Rating per Post",
        "sql": "SELECT post_id, AVG(rating) as average_rating FROM feedback GROUP BY post_id;",
        "dialect": "postgres"
      },
      {
        "title": "Recent Revisions for Each Post",
        "sql": "SELECT post_id, revision_content FROM revisions WHERE revised_at > NOW() - INTERVAL '30 days';",
        "dialect": "postgres"
      },
      {
        "title": "Feedback Trend Over Time",
        "sql": "SELECT DATE_TRUNC('month', created_at) as month, AVG(rating) as average_rating FROM feedback GROUP BY month ORDER BY month;",
        "dialect": "postgres"
      }
    ],
    "usageScenarios": [
      {
        "title": "Content Management Training",
        "body": "Educators can use this dataset to teach students about content management systems and analytics in media. By analyzing the interactions and feedback, students can learn how to improve user engagement and content performance."
      },
      {
        "title": "AI Tool Effectiveness Analysis",
        "body": "Researchers can analyze the effectiveness of AI-generated outlines in blog writing. They can compare the performance of posts with and without AI outlines to determine their impact on user engagement and feedback."
      },
      {
        "title": "User Behavior Studies",
        "body": "Marketers can utilize this dataset to study user behavior on blogging platforms. By exploring interaction patterns and feedback, they can develop strategies to enhance user experience and drive content discovery."
      },
      {
        "title": "Data Pipeline Development",
        "body": "Data engineers can use this dataset to build ETL pipelines that integrate blog data into larger analytics systems. By transforming and loading this data, they can create insightful dashboards for content performance tracking."
      }
    ]
  },
  "counts": {
    "users": 150,
    "blog_posts": 200,
    "feedback": 200,
    "interactions": 300,
    "outlines": 100,
    "revisions": 100
  },
  "stats": {
    "blog_posts": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "user_id": {
          "nulls": 0,
          "distinct": 112,
          "min": 1,
          "max": 150
        },
        "title": {
          "nulls": 0,
          "distinct": 167
        },
        "content": {
          "nulls": 0,
          "distinct": 200
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2022-01-03 12:44:56",
          "max": "2023-12-29 20:53:13"
        },
        "status": {
          "nulls": 0,
          "distinct": 3,
          "min": "archived",
          "max": "published"
        }
      }
    },
    "users": {
      "rows": 150,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 150
        },
        "full_name": {
          "nulls": 0,
          "distinct": 148,
          "min": "Alice Flores",
          "max": "Zoe Nguyen"
        },
        "email": {
          "nulls": 0,
          "distinct": 150
        },
        "registered_at": {
          "nulls": 0,
          "distinct": 150,
          "min": "2022-01-16 09:33:42",
          "max": "2023-12-27 20:53:42"
        }
      }
    },
    "interactions": {
      "rows": 300,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 300,
          "min": 1,
          "max": 300
        },
        "post_id": {
          "nulls": 0,
          "distinct": 150,
          "min": 1,
          "max": 199
        },
        "user_id": {
          "nulls": 0,
          "distinct": 139,
          "min": 1,
          "max": 150
        },
        "interaction_type": {
          "nulls": 0,
          "distinct": 2,
          "min": "comment",
          "max": "like"
        },
        "created_at": {
          "nulls": 0,
          "distinct": 300,
          "min": "2022-01-04 18:23:50",
          "max": "2023-12-29 09:08:01"
        }
      }
    },
    "outlines": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "post_id": {
          "nulls": 0,
          "distinct": 81,
          "min": 1,
          "max": 196
        },
        "outline": {
          "nulls": 0,
          "distinct": 100
        },
        "created_at": {
          "nulls": 0,
          "distinct": 100,
          "min": "2022-01-01 12:29:07",
          "max": "2023-12-31 20:09:03"
        }
      }
    },
    "feedback": {
      "rows": 200,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 200,
          "min": 1,
          "max": 200
        },
        "post_id": {
          "nulls": 0,
          "distinct": 122,
          "min": 1,
          "max": 200
        },
        "user_id": {
          "nulls": 0,
          "distinct": 116,
          "min": 1,
          "max": 150
        },
        "rating": {
          "nulls": 0,
          "distinct": 5,
          "min": 1,
          "max": 5
        },
        "comment": {
          "nulls": 15,
          "distinct": 185
        },
        "created_at": {
          "nulls": 0,
          "distinct": 200,
          "min": "2022-01-01 17:26:48",
          "max": "2023-12-31 19:03:44"
        }
      }
    },
    "revisions": {
      "rows": 100,
      "columns": {
        "id": {
          "nulls": 0,
          "distinct": 100,
          "min": 1,
          "max": 100
        },
        "post_id": {
          "nulls": 0,
          "distinct": 77,
          "min": 2,
          "max": 200
        },
        "revision_content": {
          "nulls": 0,
          "distinct": 100
        },
        "revised_at": {
          "nulls": 0,
          "distinct": 100,
          "min": "2022-01-14 10:43:22",
          "max": "2023-12-29 13:14:24"
        }
      }
    }
  },
  "artifacts": [
    {
      "file": "csv/users.csv",
      "format": "csv",
      "table": "users",
      "key": "datasets/ai-powered-personal-blog-writer/v4/csv/users.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/csv/users.csv",
      "bytes": 9104,
      "sha256": "054823c8683aa6be970e3a0666539751509362246731610dce1b0e0a15f5ff0f",
      "rows": 150,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/blog_posts.csv",
      "format": "csv",
      "table": "blog_posts",
      "key": "datasets/ai-powered-personal-blog-writer/v4/csv/blog_posts.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/csv/blog_posts.csv",
      "bytes": 45266,
      "sha256": "fb2219ac1a71135fcb9ee522c94dee5498a656d5a5dd07aff274411f5f32a93d",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/feedback.csv",
      "format": "csv",
      "table": "feedback",
      "key": "datasets/ai-powered-personal-blog-writer/v4/csv/feedback.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/csv/feedback.csv",
      "bytes": 16980,
      "sha256": "994fa49f118357acc9c7626db1f0935e9912b36fc66cdd94676f17073fe3cd58",
      "rows": 200,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/interactions.csv",
      "format": "csv",
      "table": "interactions",
      "key": "datasets/ai-powered-personal-blog-writer/v4/csv/interactions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/csv/interactions.csv",
      "bytes": 11189,
      "sha256": "206b6cb7b96da90dece701b3e5af50c7142ef077951a0f3f9fb38bf03e5fc627",
      "rows": 300,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/outlines.csv",
      "format": "csv",
      "table": "outlines",
      "key": "datasets/ai-powered-personal-blog-writer/v4/csv/outlines.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/csv/outlines.csv",
      "bytes": 19408,
      "sha256": "ea182c97db604ae1c4259b4d7f3b7f83eb4499abbda1707692b9c82b032c6602",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "csv/revisions.csv",
      "format": "csv",
      "table": "revisions",
      "key": "datasets/ai-powered-personal-blog-writer/v4/csv/revisions.csv",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/csv/revisions.csv",
      "bytes": 19763,
      "sha256": "f55d30a75a1a43cafa4d70d2bdd395593d91190993262eda21e302fb21b0cb66",
      "rows": 100,
      "contentType": "text/csv; charset=utf-8"
    },
    {
      "file": "ai-powered-personal-blog-writer.json",
      "format": "json",
      "table": null,
      "key": "datasets/ai-powered-personal-blog-writer/v4/ai-powered-personal-blog-writer.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/ai-powered-personal-blog-writer.json",
      "bytes": 234580,
      "sha256": "ac14b9dca557b0450ddf972bc3abc2c13abd6efb5cf4081561cc59852cd85b6c",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    },
    {
      "file": "sql/postgres.sql",
      "format": "sql-postgres",
      "table": null,
      "key": "datasets/ai-powered-personal-blog-writer/v4/sql/postgres.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/sql/postgres.sql",
      "bytes": 140564,
      "sha256": "5c59d8731a6e077012bc7edec386b751c10a7b58e50697219414691929ae8ae6",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mysql.sql",
      "format": "sql-mysql",
      "table": null,
      "key": "datasets/ai-powered-personal-blog-writer/v4/sql/mysql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/sql/mysql.sql",
      "bytes": 139879,
      "sha256": "8f0a844656a419131a85cb7081f5a7d77b446d357003b90684605d70e3dbe07e",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/mssql.sql",
      "format": "sql-mssql",
      "table": null,
      "key": "datasets/ai-powered-personal-blog-writer/v4/sql/mssql.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/sql/mssql.sql",
      "bytes": 142935,
      "sha256": "75fd105566faeb1876d0ca773123ff31e959567384e172475884db16ae7c0062",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "sql/sqlite.sql",
      "format": "sql-sqlite",
      "table": null,
      "key": "datasets/ai-powered-personal-blog-writer/v4/sql/sqlite.sql",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/sql/sqlite.sql",
      "bytes": 139599,
      "sha256": "af9c621f716195e9f3987de8c349bf3937d9d03c78cfcc0bce17cda1aafe4596",
      "rows": null,
      "contentType": "application/sql; charset=utf-8"
    },
    {
      "file": "prisma/seed.ts",
      "format": "prisma-seed",
      "table": null,
      "key": "datasets/ai-powered-personal-blog-writer/v4/prisma/seed.ts",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/prisma/seed.ts",
      "bytes": 208919,
      "sha256": "678da877ef6cbc6cdcba52dc37be39f719bb3ba98b4b0f1ff079afef95b59caf",
      "rows": null,
      "contentType": "application/typescript; charset=utf-8"
    },
    {
      "file": "django/fixtures.json",
      "format": "django-fixture",
      "table": null,
      "key": "datasets/ai-powered-personal-blog-writer/v4/django/fixtures.json",
      "url": "https://database-sample-website.s3.eu-north-1.amazonaws.com/datasets/ai-powered-personal-blog-writer/v4/django/fixtures.json",
      "bytes": 278756,
      "sha256": "7676cedc91163b7a51ca7e75caec158a6638309d1d155faa131940735c61c008",
      "rows": null,
      "contentType": "application/json; charset=utf-8"
    }
  ],
  "publishedAt": 1788766999706,
  "updatedAt": 1788797924467
}
