@ Enginy
The problem we solved
The solution
Architecture (to be covered externally)
Future contributions
01
The problem we solved
Before Refresh Service
Conversation Service
(Single Instance)
Every 5 min per conversation
LinkedIn / Email
30+ minutes to loop back
Split Architecture
Conversation Service
Temporal (orchestration only)
Refresh Service
Keeps conversations fresh
LinkedIn / Email
Result: Conversations refresh in near real-time, independent of Conversation Service deployments or issues.
02
The solution
High-performance message fetcher
🍰
Fast JavaScript runtime
💻
ECS instances
⚡
Refresh speed
💬
📧
✉️
☑️
03
Architecture
This section will be covered in a separate technical session with diagrams and code walkthrough.
04
Future contributions
Help us improve Refresh Service
Currently fetching too many tasks. Need to optimize the query to fetch only relevant tasks per conversation.
Impact: Reduce API calls, improve performance
Add support for detecting when LinkedIn messages are edited or deleted, and sync those changes.
Impact: Better data accuracy, fewer stale messages
Better distribution of conversations across instances. Currently some instances may be more loaded than others.
Impact: More even resource utilization
Want to contribute? Reach out to the team to discuss any of these improvements or propose your own ideas!
Refresh Service @ Enginy