Overview
We partnered with AI Jade to harden and accelerate their AI assistant, enforcing strict tenant and permission boundaries while adding plugin navigation, cross-plugin workflow orchestration, AI content generation from images and transcripts, and real-time visual verification. The result is a faster, safer, more capable assistant that users and developers can trust.
Challenges
- AI responses were slow, with no baselines or monitoring to pinpoint where time was being lost or to catch regressions.
- Plugin endpoints were unreachable because their URL configuration was never wired into the main application routing.
- Async views were calling synchronous methods without proper wrapping, creating inconsistent and unstable behavior.
- Raw exceptions and tracebacks were exposed to users instead of safe messages, while internal failures went unlogged.
- Public endpoints accepted unvalidated request payloads, leaving the system open to malformed and unsafe input.
- Project queries and object lookups were unfiltered, risking cross-tenant data exposure between customers.
- Endpoints checked only for authentication, not feature-level permissions, so users could reach actions they should not access.
- Image analysis, draft generation, and visual verification were placeholders that never connected to real services or plugin APIs.
- Expensive AI and image operations had no rate limits, exposing the platform to abuse and runaway costs, and list endpoints returned hardcoded limits with no pagination.
Solution highlights
- Built performance profiling, baseline measurement, and ongoing monitoring of key functions to surface slow paths and track regressions, and added async/sync consistency fixes across views and service calls.
- Added database performance indexes across tenant, status, project, sender, session, interaction, and live-analysis query patterns to speed up frequently filtered and ordered fields.
- Introduced centralized error handling with safe user messages, internal traceback logging, request IDs, retry logic, and circuit-breaker behavior for external services.
- Added input-validation serializers for email analysis, response generation, and other public endpoints, and registered plugin API URLs so endpoints became reachable through the main application.
- Built a permission-aware plugin discovery and navigation system, backed by a navigation map model and management command capturing plugins, features, routes, endpoints, permissions, and available actions.
- Implemented a permission service and decorators enforcing plugin-level and feature-level access across workflow, live analysis, image analysis, and transcript analysis services using the existing membership model.
- Delivered cross-plugin workflow execution that creates projects, moodboards, recipes, and proposals in a single orchestrated flow, with wrapper services, status APIs, upfront permission validation, and step progress tracking.
- Added AI image analysis for color-palette extraction, style analysis, and design-element extraction, plus a transcript-processing workflow that turns meeting transcripts and inspiration images into structured moodboard, floral-recipe, and proposal drafts via Celery async processing.
- Shipped Google Live visual verification sessions and a frontend widget that compares live visuals against stored moodboards, recipes, and proposals with real-time scores, alongside rate limiting, pagination with page metadata, and a test suite covering security, validation, and tenant isolation.
Outcomes
- The assistant responds faster thanks to profiling, indexing, async/sync cleanup, and continuous monitoring that catches regressions before users feel them.
- Customer data stays isolated, with tenant boundaries, plugin access, and feature permissions enforced before any data is returned or any action is executed.
- Users are guided only to features they are permitted to use, and the assistant can discover and navigate accessible areas on their behalf.
- Approved multi-step actions now run as a single orchestrated cross-plugin workflow instead of disconnected, manual plugin operations.
- Meeting transcripts and inspiration images are converted automatically into structured moodboard, recipe, and proposal drafts, with notifications when drafts are ready.
- Design work can be validated in real time by comparing live visuals against stored moodboard, recipe, and proposal data with comparison scores and feedback.
- Failures degrade gracefully through safe error messages, retries, service-unavailable states, and circuit-breaker fallbacks for external services.
- Operations are auditable end to end via request IDs, workflow records, permission-denial logging, and stored analysis records.
- AI and image costs are controlled through rate limits and request limits, while pagination and indexed queries keep large-data handling responsive, and a test suite gives developers confidence in security and isolation.