Massimiliano Bedana
Il Banco: una console in alluminio anodizzato bordeaux su una base di noce. Sotto il vetro fumé un quadrante con tre voci, Progetti, Aziende e Laboratorio; la lancetta indica Progetti. Spia accesa, il coniglio da 13 pixel inciso sul frontale.

L'essenziale.

Software e design: applicazioni desktop, strumenti per sviluppatori, sistemi per aziende.

NiceDB

Tanti database, un posto solo.

Legno 2026Rust, Tauri, SvelteGPL nicedb.app GitHub

Render: un blocco in alluminio anodizzato grafite con una serratura a chiave. Due posizioni incise, sola lettura e scrittura, la chiave girata su scrittura; sul fronte una targhetta rossa con scritto PRODUZIONE e una spia ciano accesa.

Supporto ai motori più utilizzati e ODBC, con gli strumenti che servono subito a portata di mano.

Meccanismi di conferma per evitare scritture non volute. Il piano di esecuzione è disegnato come un tracciato, e se manca un indice NiceDB lo propone.

Una scrittura in produzione: sblocco, modifica, conferma con il nome della connessione.
Monitor: chi blocca chi, e da quanto.
Il piano come un tracciato, con l'indice che manca.

NiceDB

Tanti database, un posto solo.

Motori
Relazionali, documentali, chiave-valore, colonnari, di ricerca e analitici, più ODBC.
Produzione
Le connessioni di produzione restano in sola lettura finché non le sblocchi. Per applicare una scrittura si digita il nome della connessione, e ogni modifica viene registrata.
Come è fatto
Rust e Tauri, interfaccia in Svelte. Tutte le scritture passano da un solo punto del codice.
Monitor
Connessioni, transazioni aperte e blocchi in una vista.
Stili
Quattro stili presi da oggetti veri: listino prezzi, libro mastro, disegno tecnico, cabina di segnalamento. Ognuno ha tre palette, chiare e scure.
Render animato: una chiavetta USB in alluminio bordeaux appoggiata su un passaporto in pelle bordeaux con lo stemma del coniglio e la scritta NICEVAULT impressi.

NiceVault

Un archivio cifrato in un solo file, da portare in tasca su una chiavetta.

Legno 2026Rust, Tauri, SQLCipherGPL GitHub

NiceVault tiene file e password in un unico file .nvault, cifrato. Lo apri con il file manager che c'è dentro, che decifra in memoria, oppure lo monti come un disco. Una procedura trasforma una chiavetta USB in un dispositivo che si apre su qualsiasi sistema senza installare niente.

Dentro c'è anche un gestore di password con i codici TOTP, e una password di emergenza che distrugge le chiavi. Se stacchi la corrente a metà, il file regge, perché ogni scrittura è una transazione.

NiceVault

Un archivio cifrato in un solo file, da portare in tasca su una chiavetta.

Cifratura
Due copie dell'intestazione, poi un database SQLCipher. La chiave principale è protetta con Argon2id e XChaCha20-Poly1305, quella del database è derivata con HKDF-SHA256.
La chiavetta
La chiavetta preparata ha due partizioni e si apre su Linux, macOS e Windows.
La chiavetta diventa un dispositivo: due partizioni, niente da installare.

Latente

Sviluppa file fotografici in serie con lo stesso stile, con un look da vera camera oscura.

Legno 2026Rust (wgpu), Tauri, Svelte

Quando scatti una serie vuoi lo stesso aspetto su ogni foto, e poterlo rifare uguale anche fra un anno. In Latente l'aspetto è una ricetta salvata in un file leggibile.

Il lavoro pesante lo fa la GPU: fusione HDR, ricette pellicola, riduzione del rumore. L'app e la riga di comando producono file identici byte per byte.

Render: una striscia di negativi su un tavolo luminoso, ogni fotogramma uguale, e una lente d'ingrandimento in alluminio.
La camera oscura: la serie a sinistra, la foto sul portanegativo, esposimetro e testa colore.
Il foglio della serie: tredici su tredici, e la densità di ogni foto in un grafico.

Latente

Sviluppa file fotografici in serie con lo stesso stile, con un look da vera camera oscura.

Sviluppo
Legge i dati grezzi del sensore già bilanciati sul bianco, così i bordi neutri restano puliti. In GPU c'è anche la nitidezza di cattura.
Ricette
I valori di default stanno in un posto solo, nel backend, e app e riga di comando li leggono da lì.
La scheda colore, otto famiglie una per una.
Render: cinque targhette in alluminio unite da anelli, ognuna con un numero progressivo e un hash; ogni targhetta riporta anche l'hash di quella prima. Quella centrale è bordeaux.

Trueris

Gestione della qualità per fabbriche certificate.

Alluminio 2025.NET, PostgreSQL, SvelteKit, Tauri

Trueris raccoglie in un posto solo certificazioni, attrezzature, procedure, audit e manutenzioni, per più aziende e più sedi. È pensato per chi lavora con norme come IATF 16949 e ISO 9001, dove ogni registro deve reggere a un controllo.

Ogni modifica entra in un registro a catena: le scritture forzate fuori dall'applicazione sono segnalate subito.

I modelli della qualità hanno le loro versioni, così si vede sempre cosa è cambiato e quando.

Trueris

Gestione della qualità per fabbriche certificate.

Il registro
Ogni voce porta l'hash di quella prima, come in una catena Merkle. La scrive un interceptor di EF Core a ogni salvataggio.
Controlli
Un analizzatore Roslyn rende errore di compilazione ogni scrittura che salta il registro. Una scrittura in blocco che desincronizzerebbe la catena blocca il tenant.
Architettura
CQRS su .NET, multi-tenant, con un client Tauri.

Bussola

Un gestionale integrato: lotti, bolle e fatture, con la tracciabilità al centro.

Alluminio 2026.NET, PostgreSQLclient/server, multi-tenant

Con la IATF 16949 ogni pezzo deve poter dire da che lotto arriva e dove è finito. In Bussola esce prima il lotto entrato prima, i lotti passano dal controllo qualità prima di essere disponibili, e bolle, fatture ed etichette nascono dagli stessi dati, anche su più sedi.

Client nel terminale, server .NET con PostgreSQL.

Render animato: una bussola tascabile in alluminio con il quadrante verde acqua e l'ago bordeaux, accanto un cartellino: lotto 2026-0412, FIFO 3/7.
Le giacenze di un articolo, per sede, ubicazione e lotto.
La storia di un lotto: arrivo, spostamenti, prelievo, consumo.
Render: una stampante termica grafite da cui esce uno scontrino con un ordine.

ThisOrder

Le comande di un ristorante, sulla rete del locale, dalla sala alla stampante giusta.

Alluminio 2025Tauri, Svelte, .NETrete locale

ThisOrder è un gestionale per ristoranti che gira sulla rete del locale, con un server e i client in sala. Ogni comanda va alla stampante giusta in ESC/POS, il linguaggio delle stampanti termiche, e quello che arriva come PDF diventa una bitmap, che le termiche sanno stampare.

ThisOrder

Le comande di un ristorante, sulla rete del locale, dalla sala alla stampante giusta.

Smistamento
Il server riceve gli ordini dai client in sala e li manda alle stampanti di cucina e bar.
Senza internet
Tutto gira sulla rete del locale: il servizio non dipende dalla connessione.
Render: tre unità rack in alluminio anodizzato, con feritoie, maniglie e spie di stato.

Per le aziende

Software su misura per far parlare tra loro i sistemi di un'azienda e togliere lavoro ripetitivo.

  • Comprensione del contestoPrima del codice capisco come lavora l'azienda e cosa le serve davvero.
  • Architettura di sistemaCome si dividono i servizi, dove stanno i dati, cosa succede quando qualcosa si rompe.
  • Design di interfacce e sitiInterfacce chiare, siti curati, coerenti dal primo schermo all'ultimo.
  • Integrazione tra gestionaliFar dialogare sistemi diversi, con dati coerenti da una parte all'altra.
  • Migrazione di software legacyPortare applicazioni datate su basi moderne, senza fermare chi le usa.
  • Database e prestazioniQuery più veloci, indici giusti, dati in ordine.
  • Sicurezza dei datiCifratura, accessi e backup fatti bene.
  • Sistemi di pagamentoIncassi e flussi di pagamento dentro i processi di tutti i giorni.
  • BlockchainRegistri verificabili, dove un dato non deve poter essere alterato.
  • AutomazioniI processi ripetitivi girano da soli.
  • AIModelli e agenti dentro i flussi di lavoro, con controlli chiari.

Laboratorio

Progetti personali.

VirtuMix

Una soundboard per il computer, disegnata come un mixer vero.

Vetro 2026Tauri, SvelteKit, Rustin corso

Render animato: una striscia di mixer in alluminio grafite con tre canali, manopole zigrinate, fader nelle loro feritoie, uno strumento VU con la lancetta e una spia ambra.

VirtuMix è una soundboard e un mixer per il desktop. L'interfaccia è disegnata come hardware: manopole zigrinate, fader, e strumenti VU che salgono e scendono con l'inerzia di quelli veri.

Il motore audio mescola suoni, microfono e audio delle app e li manda su un cavo virtuale, con un ascolto separato e una catena di effetti come equalizzatore, compressore, gate e riverbero.

Velvet

Lo sfondo del desktop Velvet: il coniglio in pixel bordeaux, renderizzato in 3D.
Render Velvet: il coniglio luminoso in fondo all'abisso, tra creature che si illuminano da sole.
Render: un muro di cubetti, quelli a sinistra già rifatti in alluminio, quelli a destra ancora grezzi.

sh2re

Silent Hill 2 per PC, riscritto in C++ una funzione alla volta.

Vetro 2026C++, SDL3 GPU, FFmpegprivato

La versione PC del 2001 non si vende più e gira su Windows XP e Direct3D 8. Ho riscritto in C++ leggibile tutte le funzioni e le ho infilate una per una nel gioco originale mentre girava, così ognuna era provata nel gioco vero appena scritta.

Poi sono arrivati i port nativi a 64 bit per Linux, Windows, iOS e Android, con render su SDL3.

sh2re

Silent Hill 2 per PC, riscritto in C++ una funzione alla volta.

Metodo
Una piccola DLL caricata nel gioco originale sostituiva una funzione alla volta con la versione riscritta in C++. Il gioco girava con qualunque misto di codice vecchio e nuovo, e ogni funzione si provava in partita appena scritta.
Verifica
Una funzione entrava solo dopo aver passato i controlli. Alcuni leggono direttamente il codice macchina originale, altri riproducono input reali.
Port
Build native a 64 bit per Linux, Windows, iPhone e Android, dallo stesso sorgente. Il Direct3D 8 del gioco è riscritto su SDL3 GPU (Vulkan, Metal, Direct3D 12), l'audio gira su SDL3 e i filmati passano da FFmpeg. I salvataggi restano nel formato originale.
Strumenti
Tutto si compila da Linux, anche i pacchetti per Windows, iPhone e Android. Per i confronti c'è un emulatore x86 che esegue ogni funzione accanto all'originale. Per giocare serve una copia del gioco: sh2re non contiene codice né dati originali.
Render: una campana di vetro su una base in noce, e sotto il coniglio di cubetti grigi.

Metodo

Poche regole, applicate sempre.

  1. PianificazioneOgni lavoro parte da un obiettivo chiaro e da un piano, prima di scrivere codice.

  2. DesignPrima del codice studio l'interfaccia: chi la usa, cosa deve trovare subito, gerarchie e dettagli. Un software deve essere chiaro prima ancora che bello.

  3. SemplicitàLa soluzione è complessa quanto serve al problema, non di più.

  4. VerificaTest unitari e di integrazione con i sistemi collegati: una modifica entra solo quando li passa ed è stata rivista.

  5. PrudenzaPrima di toccare un sistema esistente lo studio in sola lettura: deploy e interventi diventano più rapidi e sicuri.

Render: una macchina fotografica, un quaderno aperto con la matita e un tasto con il coniglio, su un piano bordeaux.

Chi sono

Mi chiamo Massimiliano. Sviluppo software e automatizzo processi; nel tempo libero fotografo e sperimento con quello che mi incuriosisce. Ho studiato grafica e fotografia: l'attenzione per le interfacce viene da lì.

Da quattro anni sviluppo software per le aziende: sistemi interni, integrazioni, migrazioni. Per me costruisco gli strumenti che mi servono, come NiceDB, NiceVault e Latente.

Render: un aeroplano di carta bianco con il coniglio rosso stampato sull'ala, in volo sul fondo scuro.

Contatti

Per un progetto o una domanda.

Uso i tuoi dati solo per risponderti. Privacy

Render: il coniglio di cubetti bianchi accanto alla sua tana, un buco rotondo nel pavimento.

Massimiliano Bedana · IT / EN

Qui niente cookie.

«La semplicità è la massima sofisticazione.»

Leonardo da Vinci

Sezioni