Vai al contenuto
megapromotingParliamone

Progetti MEGA

Prodotti che puoi comprendere. Sistemi su cui possiamo costruire.

Esplora le nostre piattaforme e il ruolo di ciascuna. I progetti per le organizzazioni sono presentati tramite funzionalità, nel rispetto della riservatezza.

Agenți vocali AI

Kallina

Sviluppiamo agenti che rispondono e avviano chiamate, usano le informazioni dell'attività e lavorano con i vostri sistemi.

Platformă
Conversații și suport

aichat

Un assistente connesso alle informazioni della vostra attività, nei canali in cui vi scrivono i clienti.

Platformă
Informație și coordonare

Cronberry

Cronberry riunisce fonti autorizzate, conversazioni e relazioni in uno spazio di ricerca e coordinamento.

Dezvoltare & demonstrații
Inteligență geospațială

FlowMind

FlowMind organizza mappe, fonti pubbliche e prodotti Copernicus in uno spazio di analisi.

Implementare specializată
Orașe și modele 3D

Relieva

Sviluppiamo rappresentazioni 3D della città che combinano rilievo, mappe e dati sullo spazio costruito.

Prototip & cercetare
API pentru modele AI

LongDay

Accesso API ai modelli AI tramite un’interfaccia comune.

Platformă
Cercetare vocală

Grai

Grai è la nostra direzione di ricerca per la sintesi vocale e modelli adattati alle lingue usate qui.

Cercetare & dezvoltare
Organizarea muncii

Taskin

Taskin esplora la trasformazione delle discussioni e del contesto di progetto in impegni, priorità e passaggi di lavoro.

Dezvoltare & demonstrații
Platformă civică

sesizari.md

sesizari.md organizza le segnalazioni sullo spazio pubblico: luogo, categoria, descrizione e materiali rilevanti.

Platformă publică
Scanare tehnică & confidențialitate

onGDPR.md

onGDPR.md verifica la superficie pubblica di un sito web: cookie, tracker, moduli e documenti informativi.

Platformă publică
Instrumente în browser

MEGA QR

MEGA QR include un generatore di codici e uno strumento di trasferimento ottico.

Instrument public
Obiceiuri & longevitate

LongeVita

LongeVita è un prototipo per l’organizzazione delle abitudini e delle informazioni personali sulla salute.

Prototip în dezvoltare
Postură & sesiuni de focus

AirPosture

AirPosture, il nostro progetto su postura e focus, esplora l’uso dei sensori di movimento nelle cuffie compatibili.

Prototip în dezvoltare
Formulare conversaționale

Megaforms

Megaforms esplora la raccolta di risposte tramite moduli conversazionali, incluse risposte vocali e trascrizione.

Dezvoltare & demonstrații
Analiză audio & media

Monitor Radio

Uno strumento per la cattura, la trascrizione e l’organizzazione degli spot radiofonici.

Instrument specializat
Instrumente pentru ospitalitate

Menù QR

Costruiamo una piattaforma per menu digitali e operazioni accessibili tramite QR.

Dezvoltare & demonstrații
Producție vocală

Voice Studio

Uno studio per la generazione, l’ascolto e il download di materiali vocali tramite modelli text-to-speech.

Instrument specializat
Interacțiune vizuală & agenți

World Agent

World Agent è un dimostratore per l’interazione in linguaggio naturale con una scena visiva.

Demonstrator de cercetare
Analiză de piață și anunțuri

Index9

Index9 è uno strumento per chi vende su 999.md: analisi per categorie, valutazione degli annunci e preparazione di azioni di pubblicazione o ripubblicazione.

Platformă
Vizualizare orbitală

Orbital Nexus

Mappa 3D degli oggetti in orbita, con dati pubblici CelesTrak ed effemeridi degli operatori delle costellazioni.

Instrument public
Vânzări și operare internă

MEGA CRM

Il CRM interno di MEGA: organizzazioni, contatti, campagne email e SMS, chiamate degli agenti vocali che spostano autonomamente il lead lungo la pipeline.

Sistem intern
Roboți și utilaje

MEGA CP-CUBE-1

CP-CUBE-1 è una cellula chiusa che deposita malta strato dopo strato, per oggetti non portanti fino a un metro cubo.

Proiectare completă, fără exemplar construit
Simulare robotică

Humanoid Sim

Due robot Unitree — G1 umanoide e Go2 quadrupede — sulla Terra, sulla Luna e su Marte, nel browser.

Demonstrator public, cu poartă de calificare închisă

Lavori consegnati

Siti e piattaforme che sono in funzione oggi, per i clienti.

Ogni indirizzo qui sotto è stato verificato il 6 settembre 2026. Mostriamo cosa abbiamo costruito e con cosa; i dati di business dei clienti restano loro.

Centrul de Sănătate Constructorul — sito e pannello di amministrazione

Sănătate — centru medical / sanatoriu, Republica Moldova2026

Verificat 2026-09-06HTTP 200 · 13 rute publice

Cosa c’era da risolvere

Un centro medico con un nomenclatore di centinaia di servizi tariffati aveva bisogno che ogni servizio fosse una propria pagina, reperibile nella ricerca, con prezzo e unità di misura — non un PDF con l’elenco dei prezzi. Inoltre, i prezzi e il personale cambiano, quindi la clinica doveva poterli modificare autonomamente, e le prenotazioni dovevano arrivare subito alla reception, non in una casella e-mail.

Cosa abbiamo costruito

Next.js 14.2.35 (App Router) con React 18, TypeScript e Tailwind. Ogni voce del nomenclatore medico è diventata una propria route statica: 521 file `page.tsx` in `src/app`, di cui 481 sotto `/servicii` — 184 fisioterapia, 122 servizi consultivi, 61 esami medici periodici, 27 ginecologia, 26 ozonoterapia, 23 pacchetti di trattamento, 18 medicina alternativa, 12 diagnostica, il resto per sezioni. La sitemap in produzione elenca 890 indirizzi. Il sito è bilingue ro/ru. I contenuti modificabili (medici, pacchetti, trattamenti, articoli, impostazioni, immagini) sono in un database SQLite locale tramite `better-sqlite3`, con journal WAL e chiavi esterne attive, gestito da `/admin` tramite 20 route API; l’autenticazione usa `jose` per la sessione e `bcryptjs` per la password, e la modifica della password invalida le sessioni esistenti. I moduli di prenotazione e contatto sono validati con `zod` + `react-hook-form` e inviano il messaggio formattato direttamente su Telegram, tramite Bot API. Esiste anche un calcolatore di prezzo su `calculator`.

Cosa si può verificare dall’esterno
  • 890 indirizzi nella sitemap di produzione: `curl -s https:/`sitemap.xml` | grep -c '<loc>'` → 890 (2026-09-06).
  • Attribuzione pubblica: il footer di `https://constructorul.md/` contiene «MegaPromoting» con link a `megapromoting.com` (2026-09-06); in storico, il commit `Add MegaPromoting link to footer` (2026-01-27).

ICON Night Club — menu digitale

HoReCa — club / bar, Chișinău2026

Verificat 2026-09-06HTTP 200

Cosa c’era da risolvere

Il menu di un club cambia spesso, ha prezzi e volumi che devono essere esatti, ed è letto da un telefono, al buio, da persone che parlano tre lingue. Un PDF scansionato su un codice QR non risolve nulla di tutto questo: non si può cercare, non si traduce, non si aggiorna senza ristampare il codice.

Cosa abbiamo costruito

Un menu digitale senza framework e senza pacchetti: le fonti reali sono quattro file JSON, e un generatore Python di 402 righe ne scrive un unico `index.html`. 119 prodotti in 21 categorie, ognuno con prezzo, volume, composizione e fotografia; 119 testi brevi di presentazione, uno per prodotto; 119 set di raccomandazioni di abbinamento («con cosa va»), che il visitatore vede su ogni scheda. Il menu ha tre lingue: il romeno è la base, e il russo e l’inglese coprono non solo l’interfaccia, ma anche le categorie, i volumi, le composizioni, le 82 etichette di gusto e tutti i 119 testi di presentazione. Carrello, lista dei preferiti e divisione del conto funzionano nel browser, senza account e senza server. I font sono ospitati sullo stesso dominio, non su Google. Prima di ogni pubblicazione, uno script di 233 righe esegue 16 verifiche — che non si sia introdotto alcun tracker, che non si richieda nulla da un dominio terzo, che il JSON sia valido e che ogni immagine esista, che il menu sia completo in tutte e tre le lingue, che i prezzi siano ordinati in ogni categoria e che i dati strutturati della pagina siano validi. La pubblicazione avviene automaticamente da GitHub Actions alla fusione in `main`, dopo che il workflow crea una copia completa della produzione e la conserva per 30 giorni.

Cosa si può verificare dall’esterno
  • La politica di sicurezza dei contenuti in produzione consente esattamente un solo dominio esterno — il proprio chatbot: `content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' https://bubble.aichat.md https://aichat.md; ...` (curl -sI https://icon.md/, 2026-09-06).
  • Nessun cookie impostato dal sito: `curl -sI https://icon.md/ | grep -c set-cookie` → 0 (2026-09-06). Gli unici collegamenti esterni nella pagina sono verso Facebook, Instagram e TikTok.
  • Attribuzione pubblica, in tre lingue, nella politica sulla privacy del cliente: `https:/`confidentialitate.html` — «Il sito è ospitato e tecnicamente mantenuto da MEGA PROMOTING S.R.L., che agisce in qualità di responsabile del trattamento per nostro conto»; lo stesso testo in inglese e russo (2026-09-06).

Primăria Comunei Japca — sito ufficiale

Administrație publică locală (APL), raionul Florești2026

Verificat 2026-09-06HTTP 200 · 11 rute publice

Cosa c’era da risolvere

Un municipio di comune deve avere un sito web ufficiale conforme alla HG 728/2023 — con sezioni fisse (trasparenza decisionale, progetti e decisioni, annunci, documenti, contatti, bilancio) — e deve poterlo aggiornare autonomamente, senza uno sviluppatore per ogni annuncio. Senza questo, l’informazione di interesse pubblico resta su carta o in un gruppo Facebook.

Cosa abbiamo costruito

Applicazione Laravel 12 su PHP 8.2 con MySQL 8, front-end Vite + Tailwind, impacchettata in due container Docker (`japca_app` = nginx + PHP-FPM, `japca_db` = MySQL). L’architettura separa intenzionalmente due tipi di contenuto: quello editoriale che cambia raramente (geografia, storia, istituzioni, contatti, bilancio) sta in un unico file di configurazione PHP di 1613 righe che i template Blade leggono direttamente, mentre quello che cambia spesso (annunci, galleria foto, progetti e decisioni, documenti, impostazioni di trasparenza) sta in MySQL ed è modificato dal pannello `/admin`. 40 template Blade, 32 route, 10 migrazioni di database. L’autenticazione dal pannello è limitata a 5 richieste al minuto dallo stesso indirizzo — la sesta riceve 429 — e ogni azione di amministrazione entra in una tabella di audit. Le intestazioni di sicurezza e la sitemap sono coperte da test automatici che girano in CI.

Cosa si può verificare dall’esterno
  • Le intestazioni di sicurezza sono presenti in produzione (curl -sI https://primariajapca.md/, 2026-09-06): `x-frame-options: DENY`, `x-content-type-options: nosniff`, `referrer-policy: strict-origin-when-cross-origin`, `strict-transport-security: max-age=31536000; includeSubDomains`, `permissions-policy: geolocation=(), microphone=(), camera=()`, oltre a un CSP esplicito.
  • `https:/`sitemap.xml` — 15 indirizzi (2026-09-06). La pagina iniziale pubblica dati strutturati `GovernmentOrganization` + `PostalAddress` (grep sull’HTML live, 2026-09-06).
  • Attribuzione pubblica: il footer di `https://primariajapca.md/` contiene il testo „MegaPromoting” e un link a `megapromoting.com` (2026-09-06). Nel repo: `README.md`, ultima riga — „Codice sviluppato e amministrato da MEGA PROMOTING S.R.L.”

Studio Club — menu digitale

HoReCa — restaurant și cocktail bar, Chișinău2026

Verificat 2026-09-06HTTP 200

Cosa c’era da risolvere

La stessa cosa di qualsiasi menu con codice QR: deve essere veloce sul telefono, corretto nel prezzo, leggibile in tre lingue e modificabile in cinque minuti quando la cucina toglie un piatto. Inoltre, il ristorante non ha bisogno di alcun tipo di tracciamento dei clienti — e allora la vera domanda è se qualcuno costruisca davvero un sito che non raccolga nulla, o se lo scriva soltanto nella politica sulla riservatezza.

Cosa abbiamo costruito

Un solo `index.html` generato da uno script Python di 377 righe a partire da file JSON: 146 prodotti in 31 categorie, 143 testi brevi di presentazione, oltre alle traduzioni in russo e inglese per categorie, nomi, volumi, composizioni, etichette e testi. Carrello, lista dei preferiti e divisione del conto funzionano nel browser. Il sito è servito direttamente da Caddy 2, con HTTPS automatico. La parte interessante è che la non individuazione dell’utente non è una promessa, ma una regola imposta dall’integrazione continua: a ogni richiesta di fusione, CI rigenera `index.html` dalle sorgenti e respinge la PR se il risultato differisce dal file nel repo (quindi la pagina pubblicata corrisponde sempre alle sorgenti), poi esegue 14 controlli — nessun tracciatore, nessuna risorsa caricata automaticamente da un dominio terzo, font ospitati localmente, nessun file di backup finito nel repo, politica sulla riservatezza presente e collegata dal piè di pagina, menu completo in tre lingue, prezzi in ordine decrescente in ogni categoria, dati strutturati validi — e verifica anche che dalla configurazione del server non siano scomparse le intestazioni di sicurezza e il mascheramento dell’indirizzo IP nei log. Tutte le azioni GitHub usate sono fissate sull’hash di commit, e il workflow parte con `permissions: {}`.

Cosa si può verificare dall’esterno
  • La politica di sicurezza dei contenuti in produzione non lascia assolutamente nulla dall’esterno: `content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'self'; base-uri 'self'; form-action 'self'; object-src 'none'` (curl -sI https://studioclub.md/, 2026-09-06).
  • Nessun cookie: `curl -sI https://studioclub.md/ | grep -c set-cookie` → 0 (2026-09-06). Gli unici indirizzi esterni nell’HTML sono i link a Facebook, Instagram e TikTok — che il visitatore apre, non che la pagina richiama.
  • Attribuzione pubblica, in tre lingue, nella politica sulla riservatezza del cliente: `https:/`confidentialitate.html` nomina „MEGA PROMOTING S.R.L. (întreținere)” e Microsoft Azure come fornitori tecnici (2026-09-06).

AntiColect.md — sito di servizi legali anti-riscossione abusiva

Servizi legali — assistenza contro le pratiche abusive di recupero crediti, Repubblica Moldova

Verificat 2026-09-06HTTP 200 · 4 rute publice

Cosa c’era da risolvere

non verificato — non abbiamo le sorgenti, quindi non posso descrivere il problema di lavoro senza inventarlo.

Cosa abbiamo costruito

Applicazione React compilata con Vite, servita staticamente da nginx, con versione in russo su `/ru/`. 181 indirizzi nella sitemap di produzione. Questo è quanto si può affermare dall’esterno: le sorgenti non sono su questa macchina, quindi non posso nominare le librerie, la struttura o le integrazioni.

Cosa si può verificare dall’esterno
  • `https://anticolect.md/` → 200, `server: nginx/1.24.0 (Ubuntu)` (2026-09-06).
  • 181 indirizzi nella sitemap: `curl -s https:/`sitemap.xml` | grep -c '<loc>'` → 181 (2026-09-06).
  • Versione russa: `https:/`ru`/` → 200 (2026-09-06).

Centro Stomatologico Distrettuale Cimișlia — sito e pannello di contenuti

Sanità — centro stomatologico distrettuale (istituzione medico-sanitaria pubblica), Cimișlia

Verificat 2026-09-06HTTP 200 · 8 rute publice

Cosa c’era da risolvere

Un centro stomatologico distrettuale aveva bisogno di un elenco pubblico di servizi con i prezzi, marcatura chiara di quelli coperti dall’assicurazione obbligatoria, team, orario delle urgenze e pagine di trasparenza — modificabili dal personale, non dal programmatore. Quando abbiamo preso in carico il progetto, il pannello di amministrazione aveva un problema grave: la password admin veniva confrontata nel browser e finiva nel pacchetto JavaScript pubblico, mentre le richieste di scrittura sull’API potevano essere fatte da chiunque su internet.

Cosa abbiamo costruito

Applicazione React 18 + TypeScript su Vite 6, con routing `react-router-dom` — 22 schermate, dai servizi e prezzi fino a urgenze, ortodonzia, impianti, pedodonzia, trasparenza e feedback. Sul backend, un API Express 4 avviato sotto PM2; nginx serve i file compilati e inoltra solo `/api`. I dati pubblici (servizi, team) stanno in file JSON letti sia dall’API, sia direttamente dal front-end. La parte che abbiamo portato noi è la sicurezza: la password non lascia più il server — `POST `login` la verifica lì e restituisce un token firmato HMAC-SHA256 valido 12 ore, con limite di 8 tentativi ogni 15 minuti per indirizzo IP e confronti in tempo costante; le scritture su `services` e `team` richiedono ora il token; il segreto di firma viene generato autonomamente in un file con permessi 0600, tenuto fuori dal repo; l’API ascolta solo su 127.0.0.1, quindi nginx è l’unica via pubblica; CORS è limitato ai domini propri, e il corpo JSON è limitato a 1 MB. Sopra questo abbiamo aggiunto CI che compila, verifica i tipi e rifiuta il pacchetto se vi trova un segreto, più Dependabot con ritmo settimanale per npm.

Cosa si può verificare dall’esterno
  • Dati pubblici in produzione (2026-09-06): `https:/`services.json` — 89 servizi, ciascuno con `id`, `category`, `subcategory`, `name`, `price`, `unit` e un indicatore `cnamEligible`; `https:/`team.json` — 6 persone.

imprumut.md — piattaforma di credito

Servizi finanziari — organizzazione di credito non bancaria, Repubblica Moldova

Verificat 2026-09-06HTTP 200 · 9 rute publice

Cosa c’era da risolvere

Un’azienda di credito ha bisogno di più di un sito: la richiesta deve entrare online, passare attraverso un flusso di decisione, produrre un contratto PDF, generare un piano di pagamenti e lasciare traccia nell’audit — e tutto deve reggere alle domande che pone un cliente che chiede indietro i propri dati personali. La parte pubblica (calcolatori, articoli, pagine per tipo di credito) deve allo stesso tempo portare persone dalla ricerca.

Cosa abbiamo costruito

Due metà nello stesso repository. La parte pubblica è un’app Vite + React Router compilata staticamente — 50 schermate, tra cui quattro calcolatori (credito, idoneità, rifinanziamento, piano di pagamenti), pagine separate per tipo di credito, blog, pagine di informazione precontrattuale e di conformità. Le route rumene restano senza prefisso, mentre quelle russe vanno su `/ru/…`, con etichette canoniche e alternative generate dalla lingua della route attiva. La parte business è un backend Express modulare in TypeScript, con Prisma sopra PostgreSQL: 16 moduli — autenticazione, diritti per ruolo, flusso delle richieste, documenti, pagamenti, notifiche, attività pianificate, blog, SEO, GDPR, clienti, lead, contatti, calcolatore, Google Ads, salute — e 18 tabelle nello schema Prisma, tra cui `Contract`, `Payment`, `AuditLog`, `GdprRequest`, `UploadedDocument`, `DailyKpiSnapshot` e `CronJobRun`. Gira sotto PM2, con script separati per migrazioni in produzione, controlli prima del rilascio, generazione dei segreti, backup e ripristino del database.

Cosa si può verificare dall’esterno
  • Il routing per lingue è documentato e verificabile in produzione: README.md:56-58; `https:/`calculator-credit` → 200 e `https:/`calculator-credit` → 200 (2026-09-06).
  • 227 indirizzi nella sitemap di produzione (`curl -s https:/`sitemap.xml` | grep -c '<loc>'`, 2026-09-06).
  • Attribuzione pubblica: la pagina iniziale su `https://imprumut.md/` contiene „Mega Promoting SRL” e un link verso `megapromoting.com` (2026-09-06).

Verificat 2026-09-06301 pe apex, 200 după redirect

Cosa c’era da risolvere

Un service auto è cercato in combinazioni molto specifiche — marca più operazione più quartiere („reparație cutie automată BMW Botanica”). Una sola pagina „Servicii” non può rispondere a nulla di tutto questo. Il problema tecnico è che il sito è un'app React a pagina singola, quindi ciò che vede il motore di ricerca è un `<div>` vuoto se non si fa qualcosa di specifico.

Cosa abbiamo costruito

Applicazione React 19 + TypeScript su Vite 6, con React Router, ma prerenderizzata alla compilazione: ogni route esce dal build come file HTML proprio, quindi il motore di ricerca riceve contenuto, non una pagina vuota. La struttura degli indirizzi è stata estesa in fasi verificabili nella cronologia — da 206 pagine indicizzabili, a 316 tramite l'aggiunta delle combinazioni marca × categoria di lavoro, degli articoli e delle pagine per settore di Chișinău. Le route hanno versioni per lingua, una sitemap delle immagini separata, immagini Open Graph e il pacchetto JavaScript suddiviso per un caricamento più rapido. L'ultimo commit ha corretto un dettaglio che rovina silenziosamente l'indicizzazione: l'indirizzo canonico, `hreflang` e gli indirizzi nella sitemap emettono ora tutti la stessa forma con barra finale.

Cosa si può verificare dall’esterno
  • 316 indirizzi nella sitemap di produzione: `curl -s https:/`sitemap.xml` | grep -c '<loc>'` → 316 (2026-09-06).
  • La produzione serve il nostro build: l'HTML su `https://tamotorgrupsrl.md/` fa riferimento a `assets/index-…` (la firma Vite), 90.199 byte (2026-09-06).

Oltre un singolo prodotto.

Possiamo progettare applicazioni, infrastrutture e controlli di accesso intorno ai processi della tua organizzazione.

Cosa vorresti che funzionasse meglio?

Raccontaci il tuo processo. Insieme stabiliamo cosa vale la pena costruire, cosa possiamo collegare e come verifichiamo il risultato.

Parliamone