
LetselGo
📂 LetselGo — Intake & Case Management Platform
Overzicht
LetselGo is een professioneel SaaS-platform voor letselschade-advocaten en slachtoffers dat het hele proces van intake tot zaakbeheer automatiseert. Het biedt alles van intake, voorselectie, dossieropbouw, communicatie, tot veilig documentbeheer.
Klant & Doelgroep
- Letselschade advocatenkantoren & belangenbehartigers
- Slachtoffers van letselschade
- Claims management & verzekeringsmaatschappijen
Dashboard voor advocaten
Intake formulier voor slachtoffers
Probleemstelling
LetselGo lost inefficiënte intakeprocessen en slecht beheerde letselschadezaken op door intake, zaakopbouw en communicatie volledig te automatiseren.
Wat heb ik gebouwd?
- Veilig intakeformulier met slimme vragen
- Volautomatische conversie naar dossiers
- Status-gestuurde workflows en communicatie
- Documentbeheer met versiebeheer
- JWT + CSRF beveiliging met automatische token refresh
Unieke Case ID generatie
const generateCaseId = async () => {
const docRef = db.collection("Setting").doc("docIdCounter");
return db.runTransaction(async (transaction) => {
const doc = await transaction.get(docRef);
let lastNumber = doc.data().lastSequenceNumber + 1;
transaction.update(docRef, { lastSequenceNumber: lastNumber });
return `${new Date().getFullYear()}-${String(lastNumber).padStart(6, "0")}`;
});
};
Tools & Technieken
- Node.js + Express backend
- Firebase (Firestore & Storage)
- JWT + CSRF security
- Multer + Firebase voor documentbeheer
- EJS + Bootstrap voor admin interface
- Nodemailer voor asynchrone email notificaties
ExpressFirebaseFirestoreJWTCSRFMulterNodemailerEJSBootstrap
Belangrijkste technische uitdagingen & oplossingen
1. Automatische intake naar dossier
Transactie-gebaseerde intake naar case conversie, inclusief subcollectie migratie.
Automatische intake naar zaak
await db.runTransaction(async (transaction) => {
const signUpRef = db.collection("SignUp").doc(documentId);
const caseRef = db.collection("Case").doc(await generateCaseId());
transaction.set(caseRef, { ...signUpDoc.data(), status: "Open" });
transaction.update(signUpRef, { case: caseId, status: "Closed" });
});
2. Veilig documentbeheer met metadata
Document upload met metadata
await fileRef.save(file.buffer, {
metadata: {
contentType: file.mimetype,
custom: { originalName: file.originalname, uploadedBy: getUserId(req) }
}
});
3. Proactieve JWT refresh & visuele waarschuwingen
Token refresh check
if (accessTokenMillisLeft < accessTokenRefreshThresholdInMillis) {
await fetch("/refresh-token", { method: "POST", credentials: "include" });
}
Impact voor klant & gebruiker
Voor Slachtoffers:
- Laagdrempelig intakeformulier
- Direct inzicht in rechten
- Transparantie over proces
- Eenvoudige communicatie
Voor Advocaten:
- Automatische filtering onhaalbare zaken
- Efficiënt zaakbeheer & communicatie
- Veilig documentbeheer
- Status-driven workflows
Wat maakt dit project uniek?
- Volledig geautomatiseerd intake → case transitie
- Status-driven workflows voor nauwkeurigheid en efficiëntie
- Documentbeheer inclusief versie en metadata
- Interne communicatie direct aan zaak gekoppeld
- Professionele workflows + cliëntvriendelijkheid in één platform
Voor wie is dit een goed voorbeeld?
- Letselschade- en advocatenkantoren
- Claims management & verzekeraars
- Document-heavy processen (financiële of zorgsector)
- SaaS platformbouwers met complexe workflows
Status
Live demo: letselgo.nl — In actieve ontwikkeling richting productie.
🚀 Interesse in een soortgelijk platform voor uw branche? Neem contact op!