ContUp
A real-time collaboration platform connecting Romanian accounting firms with their clients through secure chat and document management.
The Problem
Small and medium accounting firms in Romania were drowning in fragmented communication-clients scattered documents across emails, WhatsApp, and hand-delivered folders. Accountants couldn't track which invoices had been processed, clients couldn't easily ask questions about their books, and everyone was losing time hunting for files. The existing tools either weren't localized for Romanian business requirements (CUI validation, VAT status, Trade Registry numbers) or required expensive enterprise contracts.
The Solution
ContUp is a purpose-built collaboration platform where accounting firms create workspaces for each of their clients. Clients upload their documents-invoices, receipts, bank statements-into organized folders, while accountants process them and communicate through integrated chat. Every file has a process state (pending, in-progress, complete, needs-attention), so both parties can see at a glance what's been handled. The real-time messaging supports edit history and read receipts, so there's a clear audit trail of every conversation. Romanian business fields are first-class citizens: CUI numbers are validated on entry, VAT status is tracked, and the entire interface is localized in Romanian.
How It Works
- 1 Dual-Server Architecture: A Flask REST API handles standard operations (auth, file uploads, CRUD) while a separate Flask-SocketIO server manages real-time features (chat, typing indicators, presence). Both share the same database but scale independently.
- 2 File Storage: Uploads go directly to S3-compatible object storage. The backend generates time-limited presigned URLs for secure downloads-no files pass through the application server on retrieval.
- 3 Real-Time Sync: Socket.IO maintains persistent connections so messages appear instantly without polling. Role-based access filters what each user sees based on their permissions.
Tech Stack
- Backend: Python, Flask, Flask-SocketIO, SQLAlchemy
- Frontend: Vue.js 3, TypeScript, Tailwind CSS
- Database: MySQL
- Storage: S3-compatible object storage (Hetzner)
- Infrastructure: Nginx, Cloudflare, Hetzner VPS
Results
- 30 accounting firms currently using the platform
- Real-time messaging with sub-second delivery
- File uploads up to 50MB
- Full audit trails for regulatory compliance
- Live at contup.ro