C-FABIT
Where artists meet the industry.

Role
Designed and built the platform’s React 19 and TypeScript front end on Odoo 18’s API: over 30 screens covering the public showcase, opportunities, applications and a dashboard for each user role, in Italian and English, in two themes. Cached with TanStack Query, and served with the API under one address.
In numbers
- screens across four user roles
- 30+
- Odoo endpoints behind one query layer
- 80+
- interface strings in Italian and English
- 500
- talent profile templates, light and dark
- 3
Problem
The Accademia di Belle Arti di Napoli needed a public showcase for audiovisual work and a way to place its talents with accredited organisations, on top of the Odoo back office it already runs.
Constraints
- Odoo 18 stays the system of record, behind its REST API
- Italian and English throughout
- Talents, organisations and operators each need their own signed-in area
Decisions
A React 19 single-page app on Odoo’s REST API, with staff administration left in the Odoo back office.
The public showcase gets its own design and interactions, and staff keep the Odoo back office they already know.
Not chosen:
Building the showcase in Odoo’s own website templates.Same-origin deploy: the API and the back office’s media are proxied under the site’s own address, by Vercel or by Nginx in Docker.
No cross-origin setup, and images placed in back-office content resolve on the site.
Not chosen:
Calling Odoo on its own subdomain, across origins.TanStack Query for reading from the API.
Request caching, loading states and error handling are solved once in one query layer, for public and private areas alike.
Not chosen:
Fetching per screen, with caching written by hand.One browse layout, one detail hero and one editing layout serve every list, profile and dashboard.
Every screen stays consistent, and a fix lands on all of them at once.
Talents pick how their public page looks: three templates, Minimal, Pop and Motion, previewed live with their own photo and headline.
One platform, while each talent’s page still feels like their own.
Outcome
Live for the Accademia di Belle Arti di Napoli: over 30 screens, four user roles, Italian and English, light and dark themes, and three portfolio templates with live preview.
Disciplines
- Design, yes
- Front end, yes
- Back end, no
- Integration, yes
- CMS, no
- Deploy, yes
- Motion, yes
- Sound, no
Stack
Links
Screens
Contact
Open to front-end, full-stack and UI/UX engineer roles.