[
  {
    "slug": "hotel-concierge-voice-ai",
    "name": "Hotel Concierge Voice AI",
    "context": "Personal project · real-time AI",
    "summary": "A real-time hotel voice concierge: LiveKit WebRTC, Silero VAD, Deepgram Nova-3, a Groq-hosted LLM and Deepgram Aura-2, streaming at every stage.",
    "stack": [
      "Python",
      "LiveKit",
      "Deepgram",
      "Groq"
    ],
    "outcome": "Built for a sub-650 ms p50 response target",
    "page": "/projects/hotel-concierge-voice-ai",
    "links": {
      "live": "/talk",
      "source": null
    },
    "measured": null
  },
  {
    "slug": "order-management-system",
    "name": "Order Management System",
    "context": "Built at RENAN",
    "summary": "End-to-end ordering for artist workflows at RENAN: order creation, contract acceptance and submissions, built in Django and DRF. Live in production.",
    "stack": [
      "Django",
      "DRF",
      "PostgreSQL"
    ],
    "outcome": "Live in production",
    "page": "/projects/order-management-system",
    "links": {
      "live": null,
      "source": null
    },
    "measured": null
  },
  {
    "slug": "secure-media-delivery",
    "name": "Secure Media Delivery using AWS S3 and CloudFront",
    "context": "Built at RENAN",
    "summary": "Moving media off local servers onto AWS S3 behind CloudFront Signed URLs generated with Boto3, so private assets are reachable only through signed links.",
    "stack": [
      "AWS S3",
      "CloudFront",
      "Boto3"
    ],
    "outcome": "Private assets, signed access",
    "page": "/projects/secure-media-delivery",
    "links": {
      "live": null,
      "source": null
    },
    "measured": null
  },
  {
    "slug": "portfolio",
    "name": "This Portfolio",
    "context": "Personal project",
    "summary": "The site you are on: Next.js and Tailwind, a typed JSON API, a command palette and an AI chat that answers by voice or typing.",
    "stack": [
      "Next.js",
      "Tailwind CSS",
      "TypeScript"
    ],
    "outcome": "Typed JSON API, command palette and AI chat",
    "page": "/projects/portfolio",
    "links": {
      "live": null,
      "source": null
    },
    "measured": null
  },
  {
    "slug": "shoplite",
    "name": "ShopLite",
    "context": "Personal project · full stack",
    "summary": "ShopLite, a small online store: a React frontend, an Express API and a MongoDB database, with search, category filters, product pages and a cart.",
    "stack": [
      "React.js",
      "Node.js",
      "Express.js",
      "MongoDB",
      "Tailwind CSS"
    ],
    "outcome": "194 products in 24 categories, with search, filters and a cart",
    "page": "/projects/shoplite",
    "links": {
      "live": null,
      "source": null
    },
    "measured": null
  }
]