← Back to Projects

Freelance Dashboard for Financial & Operations

Category: web
Date: April 2026

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.

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.