DojoOps: CRM Custom per
Agenzie Digitali
Come abbiamo costruito un sistema gestionale completo con proposte professionali, analytics avanzati e gestione progetti integrata.
Il Cliente
DojoBytes come Caso Interno
Avevamo bisogno di un sistema gestionale che rispecchiasse il nostro modo di lavorare. I tool esistenti erano troppo generici, costosi o limitanti.
Il Problema
Gestire lead, progetti e proposte commerciali con tool separati causava inefficienze, dati frammentati e tempi di risposta lunghi.
Perche non SaaS?
HubSpot, Salesforce, Pipedrive: costi elevati, personalizzazione limitata, features inutili. Volevamo qualcosa di nostro.
La Soluzione
Un CRM custom costruito sulle nostre esigenze: proposte professionali, analytics granulari e integrazione nativa con il nostro workflow.
Dal Lead alla Firma
Un flusso ottimizzato che trasforma i contatti in clienti soddisfatti
Lead Acquisition
Nuovo contatto inserito con tracking automatico della sorgente e UTM parameters
Proposta Commerciale
Creazione proposta professionale con pricing dinamico e timeline interattiva
Condivisione
Invio via email o link pubblico con tracking visualizzazioni e tempo di lettura
Firma & Progetto
Approvazione con firma digitale integrata e avvio automatico del progetto
Hover sugli step per vedere i dettagli
Funzionalita
6 Moduli Integrati
Clicca su ogni modulo per vedere la funzionalita in azione. Zero silos, massima efficienza.
Core Feature
Sistema Proposte Professionale
Il cuore di DojoOps. Proposte commerciali che si vendono da sole, con tracking analytics e generazione PDF automatica.
Cover Design
Copertina professionale con logo e branding
Executive Summary
Rich text editor con variabili dinamiche
Pricing Calculator
Items, categorie, sconti e milestones
Timeline Builder
Gantt chart con dipendenze tra fasi
PDF Export
Generazione PDF A4 professionale
Public Sharing
Link pubblico con password opzionale
Email Integration
Invio diretto con tracking aperture
Analytics
Views, tempo per sezione, engagement
Vedi il sistema in azione
Lista Proposte
Overview di tutte le proposte con stati, valori e filtri avanzati
Editor Proposta
Rich text editor con variabili dinamiche e preview in tempo reale
Vista Pubblica
Pagina dedicata per il cliente con design professionale
Firma Digitale
Firma elettronica integrata per approvazione immediata
Invio Email
Invio diretto con template personalizzabili e tracking
Automazioni
Generazione Automatica
NDA, roadmap e documenti generati automaticamente con i dati gia presenti nel sistema.
Generazione NDA
NDA automatico con dati cliente pre-compilati
Roadmap Progetto
Timeline interattiva generata automaticamente
Sotto il Cofano
Technical Deep Dive
Architettura moderna, codice pulito e pattern scalabili. Ecco alcuni snippet interessanti dal progetto.
Multi-Database Abstraction
typescriptSupporto trasparente per SQLite (sviluppo) e PostgreSQL (produzione) con la stessa API.
// Unified database interface
export const db = {
async query<T>(sql: string, params?: any[]) {
if (shouldUsePostgres()) {
return postgresQuery<T>(sql, params);
}
return sqliteQuery<T>(sql, params);
}
};
// Usage is identical regardless of database
const clients = await db.query<Client[]>(
'SELECT * FROM clients WHERE status = $1',
['active']
); Timeline Dependencies
typescriptCalcolo automatico delle date basato su firma contratto e dipendenze tra fasi.
function calculatePhaseDate(
step: TimelineStep,
signatureDate: Date
): Date {
if (step.dependency.type === 'signature') {
return addDays(signatureDate, step.dependency.offsetDays);
}
if (step.dependency.type === 'end-of') {
const parentEnd = getPhaseEndDate(step.dependency.stepId);
return addDays(parentEnd, step.dependency.offsetDays);
}
return signatureDate;
} Section Analytics Tracking
typescriptTracking granulare del tempo speso su ogni sezione della proposta.
// Track section view with time spent
await db.query(`
INSERT INTO proposal_section_views
(proposal_id, section_type, time_spent_ms, scroll_depth)
VALUES ($1, $2, $3, $4)
ON CONFLICT (proposal_id, section_id, view_session_id)
DO UPDATE SET
time_spent_ms = time_spent_ms + $3,
last_updated_at = NOW()
`, [proposalId, sectionType, timeSpent, scrollDepth]); Stack
Tecnologie Utilizzate
Risultati
Impatto Misurato
Numeri reali dopo 6 mesi di utilizzo quotidiano.
Insights
Lezioni Apprese
SQLite per dev, PostgreSQL per prod
La stessa codebase funziona ovunque. Zero configurazione locale, massima potenza in cloud.
Proposte che si vendono da sole
Timeline visiva, pricing trasparente e design professionale aumentano il tasso di conversione.
Analytics = insight actionable
Sapere quali sezioni vengono lette di più aiuta a ottimizzare le proposte future.
PDF generation server-side
Puppeteer rende HTML in PDF pixel-perfect. Nessun compromesso sulla qualità.
Vuoi un gestionale su misura?
Ogni azienda ha esigenze uniche. Costruiamo soluzioni custom che si adattano al tuo workflow, non il contrario.