ILIEN | AI-Powered Textile Coordination with AWS SES, WhatsApp & Bedrock
Inspiration
Textile production exceptions move fast, but their meaning often gets lost while moving between departments.
A material shortage, quality hold, partial dispatch, supplier delay, or production readiness issue can involve Stores, Quality, Planning, Procurement, Production, and the source application that raised the request. The real risk is not only delayed communication. It is a changed quantity, missing unit, lost quarantine condition, assumed approval, or an instruction such as “do not release” disappearing during handoff.
ILIEN was created to make cross-department communication traceable, evidence-bound, and safe without forcing everyone into one new messaging application.
What it does
ILIEN turns a source-system issue into a live coordination case.
- Preserves the original request and its evidence.
- Creates requirements and dependencies instead of using a fixed department-by-department message route.
- Identifies the next responsible participant and the appropriate configured communication channel.
- Uses Amazon SES for two-way email and AWS End User Messaging Social for WhatsApp Business communication.
- Keeps quantities, units, holds, restrictions, deadlines, conditions, uncertainty, and evidence references connected to each handoff.
- Records delivery events, replies, accepted evidence, and source acknowledgement as separate states.
- Keeps blocked or uncertain communication visible instead of falsely showing the issue as complete.
- Returns a scoped coordination outcome to the source application.
ILIEN communicates and coordinates. It does not release inventory, start production, ship goods, or overwrite source-system business data.
How we built it
ILIEN is an event-driven TypeScript application on AWS.
A trusted source request enters through an authenticated API. The original request, case state, evidence references, contacts, dependencies, and outbox intents are stored in Amazon Aurora PostgreSQL. Amazon SQS separates durable intake, coordination, messaging, result publication, and bounded agent work. AWS Lambda workers process each stage independently.
Amazon SES provides outbound email, inbound reply handling, and email delivery events. AWS End User Messaging Social provides WhatsApp Business messaging and provider-event integration. Amazon SNS carries notifications and source-result publication. Amazon S3 retains raw inbound evidence, while AWS Secrets Manager stores managed runtime credentials.
Amazon Bedrock is used for bounded coordination proposals. It can suggest the next safe step: ask for clarification, route a requirement, add a prerequisite, prepare a proposal, relay a decision, or wait. Deterministic policy checks remain responsible for authority, consent, evidence, deadline, revision, and completion validation.
Core AWS services
| Service | Role in ILIEN |
|---|---|
| AWS End User Messaging Social | WhatsApp Business send and provider-event integration |
| Amazon SES | Two-way email send, receive, and delivery events |
| Amazon Bedrock | Bounded coordination proposals from current case evidence |
| AWS Lambda | Intake, coordination, channel, agent, and result workers |
| Amazon SQS | Durable asynchronous work, retry boundaries, and dead-letter queues |
| Amazon Aurora PostgreSQL / RDS Data API | Cases, dependencies, evidence references, delivery state, and audit records |
| Amazon SNS | Channel notifications and source-result publication |
| Amazon S3 | Raw inbound communication evidence |
| AWS Secrets Manager | Managed runtime credentials |
| Terraform | Repeatable AWS infrastructure provisioning |
Cost model
Actual cost depends on AWS Region, message volume, recipient country, WhatsApp category/template use, model tokens, storage, and evidence retention. This is a planning view, not a quote.
| Cost area | Cost driver | How ILIEN controls it |
|---|---|---|
| Amazon SES | Number of sent emails, attachments, and data transfer | Sends only after recipient, policy, and case checks pass; records delivery state to avoid blind duplicate sends. |
| WhatsApp through AWS End User Messaging Social | Inbound/outbound message usage plus applicable Meta charges | Uses WhatsApp only when the participant, consent, service window, and approved-template rules allow it. |
| Amazon Bedrock | Input/output tokens and selected model | Invoked only for bounded coordination work; no continuous polling loop. |
| Lambda and SQS | Requests, execution duration, and queue activity | Uses event-driven workers instead of permanently running services. |
| Aurora, S3, SNS, and CloudWatch | Database capacity, retained evidence, notifications, and observability | Keeps structured case records, paginates operational views, and applies explicit retention controls. |
Pricing references: Amazon SES pricing, AWS End User Messaging pricing, AWS End User Messaging Social billing, and Amazon Bedrock pricing.
Challenges we ran into
The hardest challenge was preserving the core meaning of a message while changing its presentation for different recipients and channels.
A Quality team may need inspection detail and a quarantine restriction. Stores may need only the permitted quantity, deadline, and allocation constraint. A readable WhatsApp message cannot become a simplified version that silently drops “do not release,” a unit, or a conditional approval.
We also had to separate communication states carefully:
- A message prepared for sending is not a delivered message.
- Provider acceptance is not confirmed recipient delivery.
- Delivery is not a business reply.
- A reply is not automatically verified evidence.
- A completed communication case is not a completed factory operation.
WhatsApp adds real operational constraints. Free-form messages depend on the customer-service window. Outside that window, a matching approved utility template is needed. ILIEN keeps those cases visibly blocked or awaiting action instead of pretending that communication succeeded.
Accomplishments that we're proud of
- Built one coordination case model that can preserve source evidence, departmental context, channel events, replies, dependencies, and outcomes together.
- Implemented both qualifying AWS CDS communication paths: Amazon SES and AWS End User Messaging Social for WhatsApp.
- Made the communication route dynamic within the configured responsibility and authority boundaries rather than broadcasting every issue to every department.
- Kept original evidence separate from summaries and extracted facts so later interpretation cannot overwrite the source record.
- Added visible blocked, uncertain, waiting, accepted, verified, paused, and completed states to make the operational reality clear.
- Designed the system so human intervention normally happens through the relevant communication channel, while the application provides visibility, setup, recovery, and audit controls.
- Kept factory actions source-owned: the coordination service reports what was communicated and evidenced, but does not perform operational execution.
What we learned
We learned that trustworthy AI-assisted coordination is not mainly about generating persuasive messages.
It requires durable state, clear responsibility, consent-aware channel selection, version control, evidence provenance, recipient-specific disclosure, and honest uncertainty handling.
We also learned that the safest agentic behaviour is not “send more messages.” It is to identify the minimum next question, contact the responsible person through an authorized channel, preserve the essential facts, and stop when the available evidence is insufficient.
What's next for ILIEN
- Expand the company configuration model so organizations can define more departments, roles, responsibility maps, contacts, communication policies, and channel preferences.
- Add richer issue-to-department routing knowledge for additional textile workflows.
- Complete live WhatsApp Business readiness after the connected account and template/session requirements are available.
- Add more approved recipient profiles for safe field-level disclosure across departments and external suppliers.
- Extend the map with more operational detail for unresolved dependencies, communication status, evidence history, and recovery actions.
- Add organization-specific data-retention, operator identity, alerting, and recovery-validation policies for production rollout.
- Evaluate additional AWS End User Messaging channels such as RCS where they are appropriate for the recipient and region.
Built With
- aurora
- bedrock
- cds
- cognito
- lambda
- node.js
- postgresql
- runtime
- s3
- secrets
- ses
- sns
- sqs
- typescript

Log in or sign up for Devpost to join the conversation.