A SaaS management platform built for independent professionals who want to stop working at a loss without knowing it. A complete tool for financial tracking, real margin control, and business optimisation — with an AI assistant that reads your context and suggests the right moves.

Working hard doesn't always mean working profitably. The endemic problem among freelancers isn't a lack of work — it's a lack of visibility: unbilled hours, poorly estimated projects, sliding deadlines, and margins that evaporate quietly. Freelens was built to solve exactly this: give independent professionals the same financial clarity that a good CFO would bring to a structured company. Not another task manager. A financial partner that actually understands how independent work functions.
The interface is designed as a fluid Single Page Application with React 18 and TypeScript. I chose a premium aesthetic — glassmorphism, dynamic gradients, calibrated micro-interactions — for a precise reason: administration is an activity people delay because they perceive it as tedious and anxiety-inducing. If the interface is beautiful and pleasant to use, the psychological barrier drops. TanStack Query handles caching to eliminate perceived loading times; Recharts makes every financial KPI readable at a glance without opening a spreadsheet.
The backend relies on PostgreSQL with strict RLS (Row Level Security) policies enforced at database level — not just application level. Every user has exclusive access to their own data, with isolation guaranteed at infrastructure level. The primary added value lies in the serverless Edge Functions: a microservice that powers the AI assistant by reading the professional's real financial context — overdue payments, loss-making projects, upcoming deadlines — and returning strategic suggestions in natural language. Stripe manages premium subscriptions with webhooks for payment state synchronisation.
The result is a complete and scalable end-to-end SaaS product combining an impactful interface with a complex data architecture. The hardest challenge wasn't technical — it was positioning: building something freelancers would actually want to use every day, not only when already in crisis. The answer was an interface that makes you feel in control, not under pressure. That shows numbers clearly, not alarmingly. That suggests, not judges.

















