AI WhatsApp Message Parser
Budget / Salary₹37,500–75,000
TypeFreelance project
LocationRemote
Posted2 hours ago
My existing scraper is already funneling every post from more than 500 WhatsApp groups into a single “raw_messages” table. Each row carries the full text, a group-id, timestamp, and sender phone, but that is where the structure ends.
I now need a new script that will read each incoming row, pass the text to an AI model (OpenAI GPT-4 or a comparable LLM), and pull out three kinds of information: product details, customer inquiries, and any sales data mentioned. The extracted pieces must then be normalised and inserted into a well-designed relational schema, separate from the raw table, so that I can query products, track enquiries, and generate sales reports without wading through free-form chat logs.
Key points
• High throughput: the flow can spike to thousands of messages per hour; the solution needs batching or async processing so the backlog never grows.
• Accuracy matters more than sentiment; mis-classified fields should remain traceable to the original message id for quick correction.
• Use standard tech—Python with SQLAlchemy, Node + Prisma, or anything equally maintainable—and keep prompts, parsing rules, and DB migrations in the repo.
Deliverables
1. Clean, documented source code that consumes the “raw_messages” table, performs AI-driven information extraction, and writes to the new relational schema.
2. DDL for the target tables (products, enquiries, sales, plus a mapping to the raw message id).
3. A short README showing environment variables (API keys, DB creds), setup steps, and a CLI or cron sample command.
4. Test run on a sample dataset proving that product names, quantities, prices, enquiry text, and sales figures are captured correctly.
Acceptance criteria: on a provided batch of 1,000 real messages the script should populate the new tables with at least 90 % field-level accuracy and process the batch in under five minutes on a mid-tier VPS.
Once everything works end-to-end I’ll point it at the live stream and take over maintenance myself, so clarity and simplicity of the code are crucial.
I now need a new script that will read each incoming row, pass the text to an AI model (OpenAI GPT-4 or a comparable LLM), and pull out three kinds of information: product details, customer inquiries, and any sales data mentioned. The extracted pieces must then be normalised and inserted into a well-designed relational schema, separate from the raw table, so that I can query products, track enquiries, and generate sales reports without wading through free-form chat logs.
Key points
• High throughput: the flow can spike to thousands of messages per hour; the solution needs batching or async processing so the backlog never grows.
• Accuracy matters more than sentiment; mis-classified fields should remain traceable to the original message id for quick correction.
• Use standard tech—Python with SQLAlchemy, Node + Prisma, or anything equally maintainable—and keep prompts, parsing rules, and DB migrations in the repo.
Deliverables
1. Clean, documented source code that consumes the “raw_messages” table, performs AI-driven information extraction, and writes to the new relational schema.
2. DDL for the target tables (products, enquiries, sales, plus a mapping to the raw message id).
3. A short README showing environment variables (API keys, DB creds), setup steps, and a CLI or cron sample command.
4. Test run on a sample dataset proving that product names, quantities, prices, enquiry text, and sales figures are captured correctly.
Acceptance criteria: on a provided batch of 1,000 real messages the script should populate the new tables with at least 90 % field-level accuracy and process the batch in under five minutes on a mid-tier VPS.
Once everything works end-to-end I’ll point it at the live stream and take over maintenance myself, so clarity and simplicity of the code are crucial.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.