full stack

Funco Furniture Platform

Immersive furniture e-commerce powered by ChatGPT conversational discovery, AR spatial visualization, and CNN visual search.
Funco AI AR E-Commerce logo
RoleFull-Stack & AI Integration Engineer
Timeline2025
Categoryfull stack
Stack10 technologies
Next.jsDjangoDjango REST FrameworkChatGPT APITensorFlowThree.jsPostgreSQLRedisCeleryTailwind CSS
Overview

Project Overview

Funco is a modern e-commerce platform created as a graduation project to redefine online furniture shopping. Built on Django REST Framework and Next.js, it addresses traditional spatial and search constraints by incorporating natural language query processing via ChatGPT, computer vision image matching via ResNet, and real-time room visualization using Three.js and AR technology.


Capabilities

Key Features

  • ChatGPT Conversational Search

    Leverages OpenAI's ChatGPT model to parse natural language queries, extracting key entities like product type, material, style, and budget to query PostgreSQL dynamically.

  • Visual Search by Image

    Extracts feature vectors from user-uploaded furniture photos using a pre-trained ResNet CNN, executing cosine similarity matching against the product catalog.

  • AR & 3D Spatial Rendering

    Renders web-optimized 3D product models with Three.js and overlays them onto physical rooms using ARCore and ARKit for real-time scale and placement testing.

  • Pre-Designed Room Curations

    Presents pre-configured room layouts tailored to various interior design styles, enabling users to preview and purchase cohesive furniture bundles effortlessly.


Engineering

Technical Architecture

  1. Next.js frontend utilizing SSR/SSG for rapid load performance, paired with Redux Toolkit for centralized state management and Tailwind CSS for styling.
  2. Django REST Framework API handling authentication, business logic, relational data with PostgreSQL, and asset management via AWS S3.
  3. Asynchronous task queue driven by Celery and Redis to handle intensive tasks such as image preprocessing with OpenCV and feature extraction without blocking API threads.
  4. Integrated Three.js scene engine for cross-device 3D model rendering anchored in real-world spaces through ARCore and ARKit protocols.

AI Engineering

Conversational & Visual Discovery

Traditional search bars fail when users describe subjective aesthetics or complex criteria. Funco replaces rigid filters with two intelligent discovery pipelines: natural language understanding powered by ChatGPT and deep-learning image matching.

ChatGPT NLP Entity Extraction

When a user asks for 'modern oak dining tables under $300', the request is processed through the ChatGPT API. The response extracts structured entities ({Product: 'dining table', Material: 'oak', Style: 'modern', MaxPrice: 300}), which are directly mapped into DRF database queries.
Uploaded images pass through OpenCV normalization before reaching a ResNet convolutional neural network. The extracted visual feature vector is compared against pre-indexed catalog embeddings using cosine distance to return visually identical furniture items.

Spatial Computing

Augmented Reality Integration

To eliminate buyer hesitation around product sizing and style harmony, 3D models stored on AWS S3 are rendered dynamically on the web client.

Three.js & Native AR Bridges

Three.js manages WebGL 3D rendering in-browser, while ARCore/ARKit handles environmental plane detection and real-time surface anchoring, allowing users to rotate, scale, and evaluate furniture in their own physical rooms.

Results

Impact & Outcomes

  • ~95%Search Accuracy
  • 3Core AI/AR Systems
  • <1.2 sAR Load Time
  • A+Project Grade

Takeaways

Lessons Learned

  • LLMs excel at natural language intent extraction, turning loose queries into structured database filters far better than traditional keyword regex.
  • Decoupled asynchronous worker queues (Celery + Redis) are mandatory when performing computer vision matrix operations in web backend environments.
  • Optimizing 3D asset geometry in Blender prior to deployment is essential for maintaining smooth 60fps AR frame rates on consumer mobile hardware.