The interesting demo is not the first successful sync. It is what happens when delivery fails halfway through.
Original Role Atlas portfolio exercise
At a glance
- Time to build
- 10-16 focused hours (estimate)
- What you need
- Python or TypeScript, a small database, and basic API testing. Two local mock services are enough.
What to ship
- Two mock APIs, a connector, and a small operations dashboard
- A repeatable failure-injection test suite
- A runbook covering recovery, ownership, and safe replay
The customer brief
An account manager wants support tickets linked to the correct customer account. The fictional CRM and ticketing tool disagree on IDs, records arrive late, and deliveries may repeat. Build a connector that makes the sync explainable.
Add an AI step that suggests a category and summarizes each ticket for a reviewer. The model must not decide identity matches or silently overwrite account data. This is an original portfolio exercise, not a real customer engagement.
Separate the reliable core from the AI suggestion
Give each synthetic event a stable ID. Store whether it has been processed, the target record, and any error. Use deterministic rules for account matching; ambiguous matches belong in a review queue.
Stripe's webhook documentation is a useful real-world reference for duplicate delivery, signature verification, and retry behavior. Your mock integration need not connect to Stripe or process payments.
- Validate incoming events and reject invalid signatures in the test service.
- Simulate duplicate events, rate limits, timeouts, and out-of-order updates.
- Retry transient errors with a bounded policy; surface permanent failures for review.
- Attach the AI summary as a suggestion with the original ticket available for comparison.
Source / Stripe: Webhook delivery and handling (opens in a new tab)
Make recovery part of the demo
Replay the same event twice and show that only one ticket link is created. Interrupt the target service, restore it, and demonstrate safe recovery. Measure delivery lag and the proportion of events needing manual review.
For the AI step, score category accuracy and invented facts on a small labeled set. Include at least one incorrect suggestion and how a reviewer corrects it. Explain why a simpler rule-based baseline might be preferable for some categories.
How to describe it on your resume
Developed a CRM-to-support integration prototype with idempotent processing and audited AI triage; tested [N] replay and failure scenarios, achieving [measured result].
Use only after completing the work. Replace brackets with your own evidence. Label independent, prototype, and synthetic-data work accurately; do not invent customers or business impact.