Back

Fovea

An innovative platform for jewelers, combining a TypeScript backend, AI and image scanning to simplify stock management and in-store sales.

TypeScript
Express.js
NextJS
Shadcn
Prisma
MySQL
Docker
AI

The Fovea project is a digital platform designed to modernize the customer experience in Pandora stores. Built by a team of four during our studies at Epitech, it aimed to let jewelers scan a piece of jewelry to instantly retrieve its reference, while offering modern, smooth stock management on a tablet.

The idea: reduce waiting times in store and make browsing the catalog as simple as a scan. A great opportunity to combine AI, a solid backend and frontend ergonomics!

Platform concept

Fovea fits a concrete context: Pandora stores, where looking up references could be long and tedious, especially during busy periods. The platform brings several solutions:

  • Smart jewelry scanning: thanks to image-recognition AI, a simple item scan identifies the reference and displays its product sheet.
  • Digital catalog: quick browsing of items, detailed sheets and management of new collections.
  • Stock management: viewing stock levels, inventory history and jewelry movements.
  • Ecological optimization: a goal of reducing paper use for in-store inventory and catalogs.

The solution runs on in-store tablets, connected to a local server.

Key features

  • AI image recognition: instant identification of references for scanned jewelry.
  • Dynamic catalog: quick display of product sheets and assisted search powered by Meilisearch.
  • Stock management:
    • Real-time tracking of quantities
    • Stock movement history
    • Integration of new collections
  • Modern, responsive interface: built with NextJS and Shadcn for a smooth user experience.
  • Robust infrastructure:
    • Backend in Express.js and TypeScript
    • MySQL database with Prisma
    • Containerization via Docker for simplified deployment.

My role in the project

On this project, I served as Tech Lead and took charge of all backend development, while supporting my teammates on their respective parts. Concretely, I:

  • Designed and developed the Express.js API, in TypeScript, to handle every interaction between the tablet and the database.
  • Set up the MySQL database, optimized to handle up to several thousand product references.
  • Used Prisma to ease queries and maintenance of the database schema.
  • Dockerized the entire backend, to ensure reliable and reproducible deployment in stores.
  • Contributed to the frontend, notably on some interfaces in NextJS and Shadcn, to optimize navigation and the integration of backend data.
  • Coordinated the team on technical architecture and technology choices.

Challenges

  • Handling data volume: with more than 7,000 references to manipulate, we had to design a performant and efficient database.
  • Optimizing AI scan speed, so that image recognition wouldn't slow down the in-store experience.
  • Securing access to the local server while keeping it simple to use on a tablet.
  • Maintaining data consistency between the AI scan, the database and the user interface.

Areas for improvement

Several developments could enrich the project:

  • Improve AI analysis speed, notably by optimizing model size and inference times.
  • Integrate voice to complete the user experience (voice search in the catalog, for example).
  • Connect the platform to Pandora's e-commerce system to synchronize stock in real time between store and website.
  • Add smart notifications (low-stock alerts, restocking suggestions).
  • Develop an offline mode, to let the tablet keep working even during an internal network outage.

What I took away

Fovea was an excellent opportunity to work on a complete project, combining AI, backend and UX. Building the backend architecture from scratch and ensuring smooth communication between all components was particularly formative. This project let me consolidate my skills in TypeScript, Express.js, and deployment via Docker, while touching on modern frontend with NextJS.

It's also a project I was passionate about, because it answers a real business problem: making life easier for salespeople and customers in a demanding retail world. A great technical and human adventure!

Image of Fovea

Completed on

Sunday 30 June 2024

Time spent

200 hours

Get in touch

Want to talk about a project, an opportunity or my profile? Send me a message.

Built with ❤️ (and also with NextJS and TypeScript) © 2025-2026 Quentin ROBERT. All rights reserved.