Back to Projects
A
AI/ML

ArSphere

Full-Stack & AI Engineer

React NativeNestJSFastAPIOpenAIAnthropicGroqSocket.io

About the Project

ArSphère is a luxury concierge platform where members interact with 'Elisa', an AI concierge that arranges premium experiences in Paris — restaurants, shopping, hotels, chauffeurs, clefs d'or, and art and culture. The system spans three services: a React Native mobile app, a NestJS API, and a Python FastAPI AI service that runs the agent, speech, and emotion layers. Membership is tiered, and the design brief was specific: Elisa is not a search box. She must grasp a request about style, proportion and occasion, ask at most one clarifying question, and offer at most two options.

Key Highlights

  • Architected a 3-service system: React Native mobile app, NestJS API, and a Python FastAPI AI service
  • Built the concierge as a tool-calling agent behind a provider abstraction — OpenAI, Anthropic, and Groq sit behind one interface with a factory, so the model can be swapped without touching agent logic
  • Implemented an emotion parser so responses carry affect, and a viseme service that drives avatar lip-sync from synthesized speech
  • Added full voice interaction with speech-to-text and synthesis, alongside real-time Socket.io messaging
  • Designed tier gating where a pending member sees the full value of a request but is elegantly blocked before any real booking — no 'confirmed' language is ever shown to an unverified account

Technical Challenges

The constraint that shaped the product was conversational restraint. A luxury concierge that interrogates you feels like a form, so the agent is capped at one clarifying question and two options — which means the retrieval and tool selection have to be right the first time, with far less room to recover through follow-up than a normal assistant has. Coordinating three runtimes (Node, Python, React Native) around shared auth and real-time state also required strict API contracts, and the provider factory existed so an outage at one LLM vendor degrades the concierge rather than taking it offline.