AMIRREZAALLAHVERDI
I design and build interface systems. Three production applications and two websites — each shipped with its own visual language. This page is the neutral ground where all five meet.
01 — index
Everything below is one design system wearing five different coats.
Five products, four palettes.
One system underneath.
My own surface stays monochrome on purpose — black, white and grey, set in IBM Plex Mono so the page reads like a codebase. Colour is never decoration here: it is borrowed, one section at a time, from the product being shown. Scroll into a project and the page takes on its palette; scroll out and it returns to neutral.
- 05
- projects shipped
- 03
- applications
- 02
- websites
- 06
- years building
#9B1818#441274#FFFFFF + #16A34A#FFFFFF + #005C9D#44127402 — work
Selected work
(05)
Each band below adopts the palette of the product it presents.
Tabulas
Companion app for the Senato della Repubblica.
Assembly agendas, committee calendars, live sessions and the document archive of the XIX legislature, pulled from open parliamentary data and made readable on a phone. Institutional crimson, a calligraphic mark, and typography that has to survive very long legal text.
- Swift
- Kotlin
- Laravel
- Open data
- base
- accent
- shell
open case study
LaViola.it
Live match centre and news app for Fiorentina supporters.
A real-time second screen for matchday: live commentary, xG and shot maps, formations with player ratings, a fan chat and a home-screen countdown widget. Deep violet throughout, because the club owns that colour — the interface only has to get out of its way.
- React Native
- Swift
- Kotlin
- Laravel API
- base
- accent
- ground
open case study
Gestionale Legale
Case management system for Studio Legale Di Maria Pinò.
Nearly four thousand legal cases in one table: colour-coded workflow states, full-text search across every field, hearings, deadlines, documents and payments. White and green because it is used all day — the colour is reserved for status, so the eye goes straight to what needs chasing.
- Laravel
- React
- MySQL
- Docker
- paper
- accent
- brand
open case study
Lista Pratiche
Gestisci le pratiche legali
RICERCA
STATO
Interface reproduced in full · all client data replaced with placeholders
Marigo Lab
Wholesale catalogue for a medical and laboratory supplier.
Nineteen hundred articles where no two customers see the same price: every account carries its own listino, refreshed daily, layered with offer rules and coupons. The hard part was ordering — so the cart accepts a PDF or Excel straight from the customer's own system and reads the SKUs back out.
- Laravel
- React
- MySQL
- AI order import
- paper
- accent
- offers
open case study
L'aziendaProdotti ConsumabiliStrumentazioniAssistenza TecnicaPubblicazioniContatti⤒ Carica ordineCome funziona
Carica l’ordine dal tuo gestionale. L’IA riconosce codici articolo (SKU) e quantità; i prezzi, le offerte e i coupon vengono applicati dal carrello in base al tuo listino.
- Formati: PDF, XLSX, XLS, CSV
- Limiti: max 30 pagine / 500 righe
- File conservato 30 giorni per verifica ordine
order-import v2026-09-10.13
Codes, names and prices redacted · every account sees its own listino
LaViola.it — Web
The Fiorentina supporters' newsroom the app is built on.
Editorial, rassegna stampa and a live match centre with minute-by-minute commentary and a fan chat that fills up on matchday. Laravel on Google Cloud, sized for the traffic spikes that arrive the moment a goal goes in. Same violet as the app — used as ground here rather than interface.
- Laravel
- Google Cloud
- MySQL
- Redis cache
- base
- light
- ground
open case study
03 — stack
One stack, five products,
front to back.
The design file and the repositories share one token set. Colours, spacing and type below are the same values that ship.
- frontend
- Next.js · React · TypeScript · Tailwind CSS web
- mobile
- React Native · Swift · Kotlin ios + android
- backend
- Laravel (PHP) · Node.js · Python api + services
- data
- SQL (PostgreSQL, MySQL) · NoSQL (MongoDB, Redis) persistence
- infrastructure
- Google Cloud Platform · Docker · CI/CD delivery
- 3d + motion
- react-three-fiber · GSAP ScrollTrigger · Lenis this page
- type
- IBM Plex Mono (ui, body, code) · Bytesized (display) next/font
display — bytesized
ABCDEFG 0123
Hero only. One weight, set enormous, tracked tight.
everything else — ibm plex mono
Aa Bb Cc 0123 {};
Light 300 · Regular 400 · Medium 500 · SemiBold 600
04 — interaction
Six behaviours that
do the talking.
Every effect below has a defined trigger, a duration and a reduced-motion fallback, so the build has no ambiguity to resolve.
Orbit + inertia
The hero wireframe follows the pointer with damped rotation and keeps spinning for ~1.2s after release.
r3f · OrbitControls, damping 0.06
Scroll-linked colour
A single --accent custom property is interpolated between project bands as they enter the viewport.
rAF lerp → CSS var, ~600ms
Magnetic cursor
Buttons and links translate up to 8px toward the pointer inside a 120px radius, then spring back.
pointermove · spring 260/22
Card tilt
Project mocks take a 3D rotation from pointer position — max 6° on each axis, with a moving specular edge.
perspective 1200px · rotate3d
Glyph scramble
Monospace headings shuffle through random glyphs on hover and resolve left to right in 480ms.
requestAnimationFrame · fixed advance
Grain + scanline
Animated film grain and faint horizontal scanlines sit over the whole page at low opacity.
canvas 8fps · blend soft-light
SAY HELLO
Open to product design and design-engineering work — contract or full time. If you have something that needs both halves of the job, I would like to hear about it.
currently available
- next opening
- September 2026
- timezone
- CET · UTC+1
- reply within
- 24 hours
- based in
- Italy · remote
opens a pre-written message — copy it or send from your mail app









