Case Study Interno

DojoOps: CRM Custom per
Agenzie Digitali

Come abbiamo costruito un sistema gestionale completo con proposte professionali, analytics avanzati e gestione progetti integrata.

0 +
Proposte Generate
- 0 %
Tempo Risparmiato
0 %
Tasso Conversione
0 K€
Valore Gestito

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

STEP 01

Lead Acquisition

Nuovo contatto inserito con tracking automatico della sorgente e UTM parameters

STEP 02

Proposta Commerciale

Creazione proposta professionale con pricing dinamico e timeline interattiva

STEP 03

Condivisione

Invio via email o link pubblico con tracking visualizzazioni e tempo di lettura

STEP 04

Firma & Progetto

Approvazione con firma digitale integrata e avvio automatico del progetto

Hover sugli step per vedere i dettagli

6 Moduli Integrati

Clicca su ogni modulo per vedere la funzionalita in azione. Zero silos, massima efficienza.

dojoops.dojobytes.com
DojoOps Dashboard

Sistema Proposte Professionale

Il cuore di DojoOps. Proposte commerciali che si vendono da sole, con tracking analytics e generazione PDF automatica.

01

Cover Design

Copertina professionale con logo e branding

02

Executive Summary

Rich text editor con variabili dinamiche

03

Pricing Calculator

Items, categorie, sconti e milestones

04

Timeline Builder

Gantt chart con dipendenze tra fasi

05

PDF Export

Generazione PDF A4 professionale

06

Public Sharing

Link pubblico con password opzionale

07

Email Integration

Invio diretto con tracking aperture

08

Analytics

Views, tempo per sezione, engagement

Generazione Automatica

NDA, roadmap e documenti generati automaticamente con i dati gia presenti nel sistema.

Generazione NDA

Generazione NDA

NDA automatico con dati cliente pre-compilati

Roadmap Progetto

Roadmap Progetto

Timeline interattiva generata automaticamente

Technical Deep Dive

Architettura moderna, codice pulito e pattern scalabili. Ecco alcuni snippet interessanti dal progetto.

Multi-Database Abstraction

typescript

Supporto 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

typescript

Calcolo 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

typescript

Tracking 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]);

Tecnologie Utilizzate

Next.js
TypeScript
Tailwind CSS
PostgreSQL
Prisma
Firebase

Impatto Misurato

Numeri reali dopo 6 mesi di utilizzo quotidiano.

45+
Proposte generate in 6 mesi
45 min
Tempo medio creazione (da 4 ore)
380K+
Valore totale gestito
20h
Ore risparmiate al mese

Lezioni Apprese

01

SQLite per dev, PostgreSQL per prod

La stessa codebase funziona ovunque. Zero configurazione locale, massima potenza in cloud.

02

Proposte che si vendono da sole

Timeline visiva, pricing trasparente e design professionale aumentano il tasso di conversione.

03

Analytics = insight actionable

Sapere quali sezioni vengono lette di più aiuta a ottimizzare le proposte future.

04

PDF generation server-side

Puppeteer rende HTML in PDF pixel-perfect. Nessun compromesso sulla qualità.

Pronto a partire?

Vuoi un gestionale su misura?

Ogni azienda ha esigenze uniche. Costruiamo soluzioni custom che si adattano al tuo workflow, non il contrario.