Freelance Dashboard for Financial & Operations
About this project
As a freelancer, I was juggling Notion, spreadsheets, the Stripe Dashboard and rough time tracking. I built this dashboard to centralize my entire business operations into a single tool, tailored for the French micro-entrepreneur status. On the revenue side, the tool handles automated invoice creation and delivery via the Stripe API, recurring subscriptions, and versioned quotes with GDPR-compliant electronic signature, convertible into invoices in one click. On the expense side, it provides structured tracking with multi-category suppliers, recurring subscriptions, and automatic charge generation at each billing cycle. The heart of the tool is the projects module, built around a modular architecture: each client project enables only the features it needs, whether that's time tracking through a custom VS Code extension that captures active work sessions, maintenance quota monitoring, Kanban ticketing with client access, categorized notes, event timeline, or automatic effective hourly rate computation. It all comes together in a profitability dashboard that aggregates revenue, expenses, URSSAF contributions, net profit and MRR, with real-time monitoring of French micro-entrepreneur thresholds and VAT exemption limits.
Key Features
- Stripe billing & subscriptions: Automated invoice creation, delivery, and tracking through the Stripe API. Full recurring subscription management with payment reminders and real-time payment sync.
- Quote-to-invoice conversion: Versioned quote drafting, GDPR-compliant electronic signature via unique public link, and one-click conversion to invoice once accepted.
- Expense and supplier subscription tracking: Categorized business expenses with dedicated handling of recurring supplier subscriptions, renewal reminders, and automatic consolidated monthly cost computation.
- Modular project management: Architecture where each project enables its modules à la carte: Kanban ticketing with client access, maintenance quota, categorized notes, and filterable event timeline.
- VS Code time-tracking extension: Custom extension that automatically captures real work time from the IDE, distinguishes active and idle time, and links each session to the right project via the Git repository.
- Profitability and tax analytics: Dashboards integrating revenue, operating costs, URSSAF and CFE contributions, net profitability per client, and effective daily rate, all computed in real time.
Client list
Centralized view of all clients with their billing volume
Client detail page
Per-client management with dedicated email configuration and dynamic variables
Quotes list
Full quote lifecycle tracking, from draft to invoice conversion
Quote detail page
Full quote view with deposit, validity, and actions (resend, revise, cancel, PDF)
Quote signature link and send history
Automatic generation of a unique signature link for each quote sent
Public quote signature page
Client-facing electronic signature interface, GDPR compliant
Quote acceptance and handwritten signature
Handwritten signature capture with acceptance proof retained 5 years (GDPR art. 6.1.b)
Invoices list
Centralized invoice management with outstanding balance tracking and detailed statuses
Subscription invoice detail
Invoice automatically generated from an active subscription, with resend and PDF export actions
Suppliers list
Consolidated supplier view with multi-category tagging and financial footprint
Supplier subscriptions list
Overview of recurring subscriptions with automatic cumulative and annualized cost computation
Editing a supplier subscription
Create and edit subscriptions with fine-grained VAT and billing period control
Expenses list
Structured expense tracking with automatic generation of recurring charges
Profitability dashboard
Real-time net profit monitoring with micro-entrepreneur and VAT threshold tracking
Monthly evolution and revenue breakdown
Visual breakdown of financial evolution month by month over the year
Client projects list
Overview of all client projects with their enabled modules and current status
Project overview
Global project dashboard aggregating time, finances, maintenance, and tickets
Indicators and monthly time evolution
Visual monthly activity tracking with month-over-month comparison
Time tracking sessions captured via VS Code
Automatic real work time capture via a VS Code extension, distinguishing active and idle time
Monthly maintenance quota tracking
Tracking of maintenance hours included in client contracts, with overrun alerts
Client tickets Kanban board
Ticketing module with dedicated client access and a four-stage Kanban workflow
Project finances and profitability
Automatic effective hourly rate computation by cross-referencing tracked time and project invoices
Project notes and documentation
Centralized technical notes, access credentials, and meeting minutes per project
Project events timeline
Complete and filterable history of all project activities, from kickoff to today
Project settings and modules
Modular architecture: each project only enables the features it actually needs
Micro-entrepreneur settings and active subscriptions
Centralized legal information and overview of recurring revenue
Challenges
The most technical challenge was building a truly reliable VS Code time-tracking extension. Capturing real work time from the IDE means handling idle detection, window focus changes, multiple sessions per day, automatic project matching via the Git repository, and synchronization with the dashboard without ever freezing the editor. The modular architecture also required a lot of upfront thinking. Designing a system where each project enables only the modules it needs time tracking, maintenance, ticketing, SEO, storage while keeping a coherent data model and global views that intelligently aggregate active modules, is a balancing act between flexibility and simplicity. On the billing side, two-way synchronization with Stripe required careful webhook handling to keep local invoice state consistent with Stripe's real state (payment, failure, refund, canceled subscription), while remaining idempotent against webhook retries. In the same spirit, the GDPR-compliant electronic signature meant implementing a client-side handwritten signature with canvas capture, timestamped evidence retention, and compliance with GDPR article 6.1.b so the signature carries actual legal value. Finally, real-time tax contribution calculation was a project of its own: faithfully reproducing French URSSAF micro-BNC calculations with allowances, monitoring thresholds (micro-entrepreneur cap, VAT exemption, increased threshold), and keeping the whole logic adaptable as legislation evolves.
Learnings
Building a tool for yourself is the most formative exercise I know: every daily friction becomes a feature to prioritize, and every useless feature stands out immediately. This project taught me how to design a clean modular architecture where each building block stays optional without breaking the whole, how to develop a VS Code extension that talks to a remote API, how to build production-grade Stripe integrations, and how to model French tax rules that are usually missing from international SaaS tools. Beyond the technical side, it's a project I use every single day and that fundamentally shapes how I run my business — from electronically signed quotes to net profit calculation, all the way through tracking the real time spent on each mission.