{
  "id": "1952240382820449928",
  "hourlyBudgetMin": null,
  "hourlyBudgetMax": null,
  "ciphertext": "~021952240382820449928",
  "title": "Building Emotional Chat MVP: Webflow → Bubble with GPT-4o Memory",
  "description": "Hello, I hope you’re well. I’m building an emotionally intelligent chat product using Bubble and OpenAI GPT-4o, with a Webflow landing page already designed. I’m looking for someone who can help connect the front-end flow with the Bubble experience while keeping the emotional tone and user journey consistent.\n\nHere’s what I’m trying to build:\n\nFirst, I need the Webflow CTA to lead smoothly into the Bubble app. The flow should start with login or signup, then take the user into the chat. I’d like the transition to feel clean and natural, not like two separate tools stitched together.\n\nSecond, I want to use OpenAI’s Assistants API. There will be one Assistant for the app, and one Thread per user. This is where we’ll store memory and emotional context. You should be comfortable managing threads, storing metadata, and retrieving past conversations. I don’t want to use OpenAI’s built-in memory system — I want something structured that we can control inside Bubble.\n\nThird, I’ll be giving you emotional tone prompts and fallback logic. These should live in Bubble’s database so I can edit them later without needing development help. That includes the main system prompt, soft re-engagement messages, and tone cues.\n\nFourth, I’ll need a basic admin view where I can see active users, premium status, and message count. If we can include optional message logs or summaries later, great.\n\nI also want to set a daily message cap. Free users get ten messages total. After that, the input should be disabled and a soft message should prompt them to upgrade. Stripe integration will come later.\n\nLastly, I want this to be future-friendly. Later I might want to add voice messages, emotional tagging, or re-engagement flows for inactive users. So I’m hoping to build this with scalability in mind, even if we keep the MVP light.\n\nIf this sounds like something you can take on, I’d love to hear your thoughts and how you’d approach it. Let me know what you’d need from me to get started, whether you’ve worked with OpenAI Assistants and Bubble before, and a rough time or cost estimate.",
  "createdDateTime": "2025-08-04T05:29:13+0000",
  "duration": "WEEK",
  "durationLabel": "Less than 1 month",
  "engagement": "Less than 30 hrs/week",
  "amount": {
    "rawValue": "0.0",
    "currency": "USD",
    "displayValue": "0.0"
  },
  "recordNumber": "1021068504",
  "experienceLevel": "INTERMEDIATE",
  "category": "web_mobile_software_dev",
  "subcategory": "web_development",
  "freelancersToHire": 0,
  "relevance": {
    "id": "0",
    "effectiveCandidates": 0,
    "recommendedEffectiveCandidates": 0,
    "uniqueImpressions": 0,
    "publishTime": null,
    "hoursInactive": 0
  },
  "enterprise": false,
  "relevanceEncoded": "{\"position\":\"738\"}",
  "totalApplicants": 9,
  "preferredFreelancerLocation": null,
  "preferredFreelancerLocationMandatory": false,
  "premium": false,
  "clientNotSureFields": null,
  "clientPrivateFields": null,
  "applied": false,
  "publishedDateTime": "2025-08-04T05:29:14+0000",
  "renewedDateTime": null,
  "occupations": {
    "category": {
      "id": "531770282580668418",
      "prefLabel": "Web, Mobile & Software Dev"
    },
    "subCategories": null,
    "occupationService": null
  },
  "job": {
    "id": "1952240382820449928",
    "workFlowState": {
      "closeResult": null,
      "status": "ACTIVE"
    },
    "activityStat": {
      "applicationsBidStats": {
        "avgRateBid": {
          "rawValue": "25.0",
          "currency": "USD",
          "displayValue": "25.0"
        },
        "minRateBid": {
          "rawValue": "15.0",
          "currency": "USD",
          "displayValue": "15.0"
        },
        "maxRateBid": {
          "rawValue": "45.0",
          "currency": "USD",
          "displayValue": "45.0"
        },
        "avgInterviewedRateBid": {
          "rawValue": "22.5",
          "currency": "USD",
          "displayValue": "22.5"
        }
      },
      "jobActivity": {
        "lastClientActivity": "2025-08-04T07:43:03.851Z",
        "totalRecommended": 0,
        "invitesSent": 11,
        "totalInvitedToInterview": 6,
        "totalHired": 0,
        "totalUnansweredInvites": 4,
        "totalOffered": 0
      }
    },
    "classification": {
      "category": {
        "id": "531770282580668418",
        "ontologyId": "upworkOccupation:webmobileandsoftwaredev",
        "type": [
          "OCCUPATION"
        ],
        "entityStatus": "ACTIVE",
        "preferredLabel": "Web, Mobile & Software Dev",
        "definition": null,
        "createdDateTime": "2018-08-20T19:39:33+0000",
        "modifiedDateTime": "2023-12-19T19:18:21+0000"
      },
      "subCategory": {
        "id": "531770282584862733",
        "ontologyId": "upworkOccupation:webdevelopmentsubcategory",
        "type": [
          "OCCUPATION"
        ],
        "entityStatus": "ACTIVE",
        "preferredLabel": "Web Development",
        "definition": null,
        "createdDateTime": "2018-09-24T11:14:40+0000",
        "modifiedDateTime": "2023-07-10T17:01:25+0000"
      }
    }
  },
  "client": {
    "memberSinceDateTime": null,
    "totalHires": 0,
    "totalPostedJobs": 3,
    "totalSpent": null,
    "verificationStatus": null,
    "location": {
      "city": null,
      "country": "Taiwan",
      "timezone": "America/New_York",
      "state": null,
      "offsetToUTC": "Asia"
    },
    "totalReviews": 0,
    "totalFeedback": 0.0,
    "companyRid": "0",
    "companyName": null,
    "edcUserId": "0",
    "lastContractPlatform": null,
    "lastContractRid": "0",
    "lastContractTitle": null,
    "hasFinancialPrivacy": false
  },
  "activityStat": {
    "jobActivity": {
      "lastClientActivity": "2025-08-04T07:43:03.851Z",
      "invitesSent": 11,
      "totalInvitedToInterview": 6,
      "totalHired": 0,
      "totalUnansweredInvites": 4,
      "totalOffered": 0,
      "totalRecommended": 0
    }
  }
}