I built a privacy-first AI cash-flow copilot for freelancers using Gemma 3 and Python A developer built CashFlowLens, an open-source cash-flow analysis and forecasting tool for freelancers and small agencies that ingests invoice and payment CSVs and uses Gemma 3 via Ollama to generate plain-English briefings. The project deliberately separates numerical forecasting from AI-generated explanations so model output never substitutes for the underlying calculations, and the developer is experimenting with TabPFN for tabular prediction. The deployed app's AI briefing feature currently depends on a locally running Ollama instance, and the developer says the next step is a separately hosted model service. This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle https://dev.to/challenges/hacktoberfest-week2-2026-10-12 . Freelancers can be busy with client work and still have no clear idea how much money they will actually have next month. An invoice might be issued today, but payment could arrive weeks late. Several delayed invoices can turn an otherwise profitable business into a cash flow problem. Spreadsheets help track what has happened, but spotting patterns, estimating future cash positions, and identifying unusual payment behaviour takes time. That is the problem I wanted to tackle with CashFlowLens . CashFlowLens is a cash flow analysis and forecasting tool designed for freelancers, independent consultants, and small agencies. The idea is simple: upload invoice or payment data in CSV format and turn it into information that helps you make better financial decisions. The project focuses on three areas: The potential paying customer is a freelancer or small agency that cannot justify expensive financial software but still needs better visibility into incoming payments. I wanted to build something more useful than another dashboard full of charts. The goal is to help answer practical questions: Which payments deserve attention? What does the historical data suggest about upcoming cash flow? What should I investigate before a cash shortage becomes a problem? CashFlowLens is still a work in progress, and I am actively working on making its forecasting and AI-assisted features reliable in the deployed environment. Try the deployed application: The backend API and interactive documentation are also available: The backend health endpoint is available at /health . Current limitation: The application is deployed, but the AI briefing feature depends on an Ollama model service. A locally running Ollama instance is not automatically accessible from a cloud-hosted backend. I am working on a separate model-serving setup so the deployed application can use Gemma without depending on my personal computer being online. I would rather be transparent about that limitation than present a partially working deployment as a finished product. The project is open source: github.com/avrojitduttaj/CashFlowLens https://github.com/avrojitduttaj/CashFlowLens The repository contains the frontend and backend implementation, including the API endpoints used for authentication, analytics uploads, payment-risk analysis, and AI-assisted explanations. I would especially appreciate feedback on the forecasting approach, the handling of financial data, and how the results could become more useful to someone running a real freelance business. CashFlowLens combines a conventional data-analysis pipeline with an open-weight language model. The current stack includes: One important design decision is to separate financial calculations from AI-generated explanations. The numerical pipeline should be responsible for calculating metrics and analysing transaction records. The language model's role is to help explain those results in plain English. An AI-generated paragraph should not be treated as proof that a forecast is accurate, and it should never replace the underlying calculations. I have also been experimenting with TabPFN because financial CSV data is tabular by nature. Rather than assuming that a general-purpose language model is the right tool for every task, I want to evaluate specialised models for structured prediction and anomaly detection. There is still work to do here. Model selection, forecasting accuracy, validation against historical outcomes, and handling missing or inconsistent dates all matter more than simply adding an AI label to the application. The biggest deployment lesson so far has been that running a model locally during development is not the same as making it available to a cloud application. My next step is to establish a secure, separately hosted Ollama service and connect it to the backend without exposing an unauthenticated model endpoint to the public internet. Financial data is sensitive. Freelancers may be uploading invoice amounts, payment dates, client identifiers, and other information they would not want casually shared with a third-party service. That makes the choice of AI infrastructure important. Using an open-weight model such as Gemma gives CashFlowLens more control over where inference happens, how the model is served, and which model is used. With Ollama, I can experiment with inference on my own machine instead of making every development request depend on a paid, closed-model API. It also gives me room to compare models and control infrastructure costs as the project evolves. That matters for a tool aimed at people who may not have the budget for expensive subscriptions. There is a distinction I want to preserve, though: using an open-weight model does not automatically make an application private. The deployment architecture, logging, data retention, access controls, and hosting provider still matter. CashFlowLens needs to make those choices deliberately. Open tools have also made it practical for me to experiment with data-processing libraries, machine-learning models, and local inference without building everything from scratch or committing to a single proprietary AI provider. For a small project, that flexibility is valuable. I can test an idea, inspect the implementation, replace a component, and learn from the results without having to redesign the entire application around one vendor. The longer-term goal is to let users choose a deployment model that fits their needs: local inference for those who prioritise keeping data on their own machine, or a properly secured hosted inference service for those who need cloud access. I used AI-assisted development while building and debugging the project, including work on the backend, data-processing pipeline, and deployment issues. I do not have a verified public DevRelay session link to include here, so I am leaving this section out rather than inventing one. If I publish a session that shows the actual development process, I can add it to this submission. The categories most relevant to CashFlowLens are: These are the categories the project is built to target; inclusion here is not a claim that the project has already won or fully satisfied every judging requirement. I want CashFlowLens to become useful for an actual freelancer, not just look convincing in a demo. The next priorities are: If you manage your own freelance income, I would love to know what you currently use to track incoming payments, what you find frustrating about it, and whether a tool like this would be useful. I built CashFlowLens because I think independent workers deserve better financial visibility without needing an expensive enterprise tool. Now I want to find out whether the idea holds up against real-world needs. Repository: CashFlowLens on GitHub https://github.com/avrojitduttaj/CashFlowLens Live demo: cashflowlens.onrender.com https://cashflowlens.onrender.com/