Data schema #2

Open
opened 2025-03-14 09:11:14 +00:00 by JohnCosta27 · 3 comments
Owner
"Event": {
    "title": "Startup Mixer",
    "dateTime": {
      "start": "2025-06-01T19:00:00+01:00",
      "end": "2025-06-01T23:00:00+01:00"
    },
    "location": "The Kings Arms, 27 Ropemaker St, London EC2Y 9LY",
    "description": "Casual networking event for tech entrepreneurs and investors in London.",
    "organizer": {
      "name": "London Startup Network",
      "email": "events@londonstartupnetwork.co.uk"
    },
    "attendees": ["Alex Smith", "Sofia Rodriguez"],
    "category": "Networking"
  },

  "Contact": {
    "name": "João Silva",
    "phoneNumber": {
      "primary": "+351 912 345 678",
      "secondary": "+351 213 456 789"
    },
    "emailAddress": "joao.silva@example.pt",
    "address": "Rua do Carmo 12, 1200-161 Lisboa, Portugal",
    "organization": "PortoTech Solutions",
    "title": "Marketing Manager",
    "notes": "Met at Web Summit Lisbon 2024"
  },

  "Location": {
    "name": "Hutorets na Dnipri",
    "address": "10A Naberezhno-Khreshchatytska Str., Kyiv, Ukraine",
    "coordinates": {
      "latitude": 50.4500,
      "longitude": 30.5333
    },
    "category": "Restaurant",
    "description": "Restaurant offering modern versions of traditional Ukrainian dishes with beautiful views of the Dnieper River"
  },

  "Document": {
    "title": "Q2 2025 Marketing Strategy",
    "type": "PDF",
    "author": "Marketing Team",
    "keywords": ["strategy", "digital marketing", "Q2", "2025"],
    "summary": "This document outlines our marketing strategy for Q2 2025, focusing on digital expansion and customer engagement.",
    "content": "## Executive Summary\n\nOur Q2 2025 marketing strategy focuses on expanding our digital presence and increasing customer engagement across all platforms. We will leverage AI-driven personalization to enhance user experience and implement a multi-channel approach to reach our target demographics more effectively.\n\n### Key Objectives\n\n1. Increase website traffic by 30% through SEO optimization and content marketing.\n2. Boost social media engagement rates by 25% using interactive campaigns and influencer partnerships.\n3. Implement a new customer loyalty program to improve retention rates by 15%.\n\nBy aligning our marketing efforts with emerging trends and customer preferences, we aim to solidify our market position and drive sustainable growth throughout Q2 and beyond."
  },

  "Website": {
    "url": "https://www.attio.com",
    "title": "Attio",
    "description": "Attio is the AI-native CRM that builds, scales and grows your company to the next level.",
    "category": "SaaS, CRM"
  },

  "FinancialRecord": {
    "transactionDate": "2025-03-12T20:15:30+01:00",
    "amount": 120.00,
    "currency": "GBP",
    "payee": "Tesco Supermarket",
    "category": "Groceries"
  },

  "Product": {
    "productName": "Slim Fit Shirt",
    "price": 49.99,
    "currency": "EUR"
    "category": "Men's Clothing",
    "description": "Classic white slim fit dress shirt made from 100% cotton",
    "shopName": "Zara Online Store"
  },

  "Task": {
    "title": "Prepare Presentation for Madrid Meeting",
    "dueDate": "2025-03-18T17:00:00+01:00",
    "priority": "High",
    "notes": "Include market analysis and sales projections for Q2"
  }
}

An initial schema proposal.

The Plan

  • Events
  • Locations
  • Receipts
  • Websites
  • Random notes (any)

This will reduce our workload, and keep the MVP lean.

```json "Event": { "title": "Startup Mixer", "dateTime": { "start": "2025-06-01T19:00:00+01:00", "end": "2025-06-01T23:00:00+01:00" }, "location": "The Kings Arms, 27 Ropemaker St, London EC2Y 9LY", "description": "Casual networking event for tech entrepreneurs and investors in London.", "organizer": { "name": "London Startup Network", "email": "events@londonstartupnetwork.co.uk" }, "attendees": ["Alex Smith", "Sofia Rodriguez"], "category": "Networking" }, "Contact": { "name": "João Silva", "phoneNumber": { "primary": "+351 912 345 678", "secondary": "+351 213 456 789" }, "emailAddress": "joao.silva@example.pt", "address": "Rua do Carmo 12, 1200-161 Lisboa, Portugal", "organization": "PortoTech Solutions", "title": "Marketing Manager", "notes": "Met at Web Summit Lisbon 2024" }, "Location": { "name": "Hutorets na Dnipri", "address": "10A Naberezhno-Khreshchatytska Str., Kyiv, Ukraine", "coordinates": { "latitude": 50.4500, "longitude": 30.5333 }, "category": "Restaurant", "description": "Restaurant offering modern versions of traditional Ukrainian dishes with beautiful views of the Dnieper River" }, "Document": { "title": "Q2 2025 Marketing Strategy", "type": "PDF", "author": "Marketing Team", "keywords": ["strategy", "digital marketing", "Q2", "2025"], "summary": "This document outlines our marketing strategy for Q2 2025, focusing on digital expansion and customer engagement.", "content": "## Executive Summary\n\nOur Q2 2025 marketing strategy focuses on expanding our digital presence and increasing customer engagement across all platforms. We will leverage AI-driven personalization to enhance user experience and implement a multi-channel approach to reach our target demographics more effectively.\n\n### Key Objectives\n\n1. Increase website traffic by 30% through SEO optimization and content marketing.\n2. Boost social media engagement rates by 25% using interactive campaigns and influencer partnerships.\n3. Implement a new customer loyalty program to improve retention rates by 15%.\n\nBy aligning our marketing efforts with emerging trends and customer preferences, we aim to solidify our market position and drive sustainable growth throughout Q2 and beyond." }, "Website": { "url": "https://www.attio.com", "title": "Attio", "description": "Attio is the AI-native CRM that builds, scales and grows your company to the next level.", "category": "SaaS, CRM" }, "FinancialRecord": { "transactionDate": "2025-03-12T20:15:30+01:00", "amount": 120.00, "currency": "GBP", "payee": "Tesco Supermarket", "category": "Groceries" }, "Product": { "productName": "Slim Fit Shirt", "price": 49.99, "currency": "EUR" "category": "Men's Clothing", "description": "Classic white slim fit dress shirt made from 100% cotton", "shopName": "Zara Online Store" }, "Task": { "title": "Prepare Presentation for Madrid Meeting", "dueDate": "2025-03-18T17:00:00+01:00", "priority": "High", "notes": "Include market analysis and sales projections for Q2" } } ``` An initial schema proposal. ## The Plan - Events - Locations - Receipts - Websites - Random notes (any) This will reduce our workload, and keep the MVP lean.
JohnCosta27 added this to the Haystack project 2025-03-14 09:11:14 +00:00
JohnCosta27 added the
feature
label 2025-03-14 09:11:20 +00:00
JohnCosta27 added this to the MVP milestone 2025-03-14 09:11:21 +00:00
JohnCosta27 self-assigned this 2025-03-14 09:11:24 +00:00
dimuuu was assigned by JohnCosta27 2025-03-14 09:11:24 +00:00
Author
Owner

We should simplify where possible:

  1. Each type should have a common description and title field, making it easier to identify.
  2. Each type should contain a category (these are the current tags).
  3. Interlinking should done where possible.
    • Events.attendes should be a reference to contacts. (Contacts should either be known or unknown)
    • Events.locations should be a reference to locations.
  4. Tasks could be the same as events (or an events contains many tasks?)
  5. FinancialRecord sounds too specific, however I can see this being really useful.
We should simplify where possible: 1. Each type should have a common `description` and `title` field, making it easier to identify. 2. Each type should contain a category (these are the current tags). 3. Interlinking should done where possible. 4. - Events.attendes should be a reference to contacts. (Contacts should either be known or unknown) 5. - Events.locations should be a reference to locations. 6. Tasks could be the same as events (or an events contains many tasks?) 7. FinancialRecord sounds too specific, however I can see this being really useful.
Author
Owner

Alternative to FinancialRecord

"Receipt": {
     "receiptDate": "2025-03-12T20:15:30+01:00",
    "orderNumber": "ORD12345",
    "amount": 49.99,
    "currency": "GBP",
    "vendor": "Zara Online Store",
    "items": [
      {"name": "Slim Fit Dress Shirt", "quantity": 1, "price": 49.99, "currency": "GBP"}
    ],
    "paymentMethod": "Visa",
    "shippingAddress": {
      "name": "Alex Smith",
      "address": "123 High St, London, EC2A 3AZ"
    },
    "category": "Online Shopping"
  },

This could have a link to Location from shipping address, and also a locations from where it was bought or the website it was bought from.

Alternative to `FinancialRecord` ```json "Receipt": { "receiptDate": "2025-03-12T20:15:30+01:00", "orderNumber": "ORD12345", "amount": 49.99, "currency": "GBP", "vendor": "Zara Online Store", "items": [ {"name": "Slim Fit Dress Shirt", "quantity": 1, "price": 49.99, "currency": "GBP"} ], "paymentMethod": "Visa", "shippingAddress": { "name": "Alex Smith", "address": "123 High St, London, EC2A 3AZ" }, "category": "Online Shopping" }, ``` This could have a link to `Location` from shipping address, and also a locations from where it was bought or the website it was bought from.
Author
Owner

We should also have Notes, which is random text from images.

Although this could also just be the regular text that we currently have.

We should also have `Notes`, which is random text from images. Although this could also just be the regular `text` that we currently have.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: JohnCosta27/Haystack#2
No description provided.