We found purchasing furniture & home accessories tedious; which is why we built space with the help of Perplexity. The space product allows us to speak via natural language to an ElevenLabs agent which guides us through the tedious process of buying furniture & showcasing how it would look in our room.
In our personal experience we found that:
- It takes a lot of mental effort & time to find what we actually want
- It's hard to envision what the furniture would look like in our personal room
Which is why we built space. Traditional image generation tools can generate images of a given space and modify the product, but the products it generates don't exist in the real world. We solved this problem.
space streamlines the furniture purchasing experience, by:
- Gathering images from the users' room of choice
- Conducting intelligent consultations with users through natural language
- Extracting requirements from the user of their preferences
- Doing a wide scan of the net with the help of Perplexity to scan for URLs of our products
- Extracting data of the products via the use of Jina AI
- Perplexity β searching the web
- Cursor β for rapid prototyping
- Python β backend language
- FastAPI β backend framework
- TypeScript β frontend language
- React β frontend framework
- JinaAI β product extraction
- shadcn/ui β components
We leverage Perplexity's Sonar Pro model with web search capabilities to discover furniture products across multiple UK retailers. The system uses targeted search queries with site-specific filters to find individual product pages, then employs Jina AI Reader to extract clean, structured content from retailer websites using custom CSS selectors. Perplexity's Sonar model then parses this content to extract structured product data (name, price, description, images). Advanced URL filtering ensures only valid product pages are processed, while intelligent parsing handles different retailer page structures. This creates a unified search experience that aggregates real-time product information from multiple sources with high accuracy and comprehensive coverage.
The backend is deployed on Cloud Run, so you only need to run the frontend locally:
cd frontend
npm install
npm run devVisit http://localhost:5173 to use the app.
Only needed if you're developing backend features.
Environment Variables:
Create a .env file in the backend directory:
PERPLEXITY_API_KEY=your-perplexity-key
GCS_BUCKET_NAME=your-bucket-name
GCP_PROJECT_ID=your-project-id
GCS_CREDENTIALS_PATH=path/to/service-account-key.jsonBackend:
cd backend
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python main.pyFrontend:
cd frontend
export VITE_ELEVENLABS_AGENT_ID=your-agent-id
npm i
npm run dev
