← All work

Tappezzeria LG — management platform

Personal / Family-business Project · 2025 – present

Problem

My family's upholstery business ran on paper and spreadsheets: customers, appointments, quotes and invoices lived in different places, and Italian electronic invoicing added legal requirements a notebook cannot meet.

Role

Everything — database schema, authentication, web back office, mobile app, e-invoicing integration — designed, built and shipped to production by me alone.

Technical choices

  • Next.js (App Router) + Supabase for the web back office: customers, contacts, appointments, quotes, invoices.
  • PostgreSQL with Row-Level Security designed from scratch, with versioned migrations.
  • Electronic invoicing: XML export to the Italian tax agency (Agenzia delle Entrate) through Fattura24.
  • Flutter companion app for operators in the field, with push notifications.
  • AI-assisted workflow (Claude Code): shipping at the pace of a small team, alone.

Outcome

The platform is in daily use by the business: bookkeeping that used to take evenings now happens at the counter, and invoices reach the tax agency without a third-party accountant tool.

Tappezzeria LG back office: invoice list with search, site and payment filters, per-invoice e-invoicing actions Tappezzeria LG back office in dark mode: invoice list with search, site and payment filters, per-invoice e-invoicing actions
Back office — invoice list with e-invoicing status per row (customer data anonymised)
Tappezzeria LG dashboard: monthly KPIs and six-month charts for quotes and revenue Tappezzeria LG dashboard in dark mode: monthly KPIs and six-month charts for quotes and revenue
Dashboard — KPIs and six-month trends (sample data)
Tappezzeria LG appointment calendar: month view with type filters and upcoming appointments panel Tappezzeria LG appointment calendar in dark mode: month view with type filters and upcoming appointments panel
Appointment calendar with type filters (data anonymised)
Tappezzeria LG Flutter companion app in light mode: navigation drawer, appointment detail with type, duration and assigned workers, and monthly calendar Tappezzeria LG Flutter companion app in dark mode: navigation drawer, appointment detail with type, duration and assigned workers, and monthly calendar
Flutter companion app for field operators — navigation, appointment detail and calendar (customer data anonymised)