This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle
What I Built
If youβve ever freelanced or run a boutique consulting business, you know the drill: you finish a client call, look down at a notebook full of messy scribbles, and realize you now have two hours of unpaid admin work ahead of you.
You need to turn those disjointed bullets into a professional proposal, defend invoice hours so a client doesnβt question your bill, figure out how to push back on scope creep without sounding defensive, or draft a polite email chasing an overdue invoice.
Most freelancers** lose between 20% and 30%** of their billable hours to this kind of administrative friction.
I built FreelanceForge AI to solve that problem.
FreelanceForge is a local-first, open-weight AI workspace designed specifically for freelancers, solopreneurs, and independent creators. Instead of relying on rigid SaaS forms or closed, metered AI APIs, it runs privately on your own machine using open weights (Llama 3.1 8B via Ollama), maintains persistent client memory across projects using Backboard, and formats rough thoughts into client-ready documents on an authentic tactile paper canvas.
Demo
freelanceforge-ai.onrender.com
Proposal Draft:
Invoice Value Justifier:
Code
GitHub repository:
pythonperfec
/
freelanceforge-ai
A local-first, open-weight AI suite that helps freelancers draft winning proposals, defend billable hours, and remember client agreements. For submission to Hacktoberfest 2026 Week 2 Challenge: Side Hustle.
FreelanceForge AI
A local-first, open-weight AI workspace for freelancers to draft proposals, itemize invoices, establish scope boundaries, and manage client communications.
Submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.
Overview
Administrative work like drafting proposals, detailing invoices, defining scope, and handling awkward client emails can take up a significant portion of a freelancer's working hours.
FreelanceForge AI is an open-source, local-first application built to handle these tasks directly on your machine. Instead of sending sensitive project notes to third-party proprietary services, it uses local open weights (Llama 3.1 8B via Ollama) and persistent memory via Backboard.io to generate structured, client-ready documents.
Key Tools
- Proposal Draft: Converts unorganized meeting notes or audio memos into structured proposals with milestone schedules, deliverable breakdowns, and payment terms.
- Invoice Value Justifier: Translates task lists, hours, or Git commits into business-outcome line items for client billing.
- Scope Guardian: Analyzes new client requestsβ¦
Who Would Pay For It?
Freelancers, independent developers, designers, copywriters, and agency owners billing $60 to $200/hour.
When you're billing hourly, spending three hours writing a proposal or arguing over an unitemized invoice directly costs you $180 to $600 of lost income. A dedicated freelance workspace that eliminates that overhead is an easy purchase at $19β$39/month as a hosted subscription, or $99 as a standalone offline desktop utility.
How I Built It
The project is built using :
Backend: Node.js (v22), Express.js
Agent Orchestration: Mastra Agent Harness with cascading provider routing
Open-Weight Models: **Meta Llama 3.1 8B (via local Ollama daemon) + Groq **Cloud fallback (llama-3.1-8b-instant)
Long-Term Memory & Rate RAG: Backboard.io (backboard-sdk)
Frontend: Semantic HTML5, Vanilla JavaScript, CSS custom property design system (Paper & Forge themes), Marked.js
Deployment: Render (Infrastructure as Code via render.yaml & render.yml)
How I built it
How it works
Freelancer Input
β
βΌ
Express.js API Server
β
βΌ
Backboard Memory Service
βββ Fetches remembered client terms, past rates, and interaction history via Backboard.io Cloud Assistant
βββ (Falls back to local persistent store if offline)
β
βΌ
Prompt Construction Engine
βββ Merges specialized freelancer persona
βββ Injects user's custom system prompt edits (Prompt Transparency)
βββ Injects Backboard rate context for commercial continuity
β
βΌ
Mastra Multi-Tier Dispatcher
βββ 1. Priority 1 (Local): Ollama daemon with Llama 3.1 8B (100% private, on-device)
βββ 2. Priority 2 (Cloud): Groq open-weight hosted endpoint (fast fallback for cloud demo)
βββ 3. Priority 3 (Offline): Deterministic Template Synthesizer (zero external dependency)
β
βΌ
Server-Sent Events (SSE) Stream
β
βΌ
Frontend Document Desk
βββ Live typewriter token streaming directly onto tactile paper sheet
βββ Telemetry strip updates (model, latency, memory status)
βββ Auto-saves client rates and deliverables back to Backboard cloud
Why Does Open Innovation Matter?
Strict Client Confidentiality (NDA Protection)
Permanent $0 Marginal Cost:Running open weights locally costs exactly $0 per generation.
No Vendor Lock-In:
My First User
My first user was me,alongside testing the workflow on realistic scenarios encountered by freelance colleagues.
One recurring challenge was dealing with scope creep on sprint deliveries. A client would agree to a core web application, and then halfway through development send a message asking: "Can we also add Google OAuth, an export-to-CSV feature, and support for three extra payment gateways before launch?"
Normally, writing the response takes an hour of careful drafting to avoid sounding confrontational while still protecting your time.
I pasted those requirements into the Scope Guardian tool. Within three seconds, the model:
Outlined the agreed baseline vs. the new out-of-scope requests.
Itemized the deliverables with clear hourly estimations ($950 add-on).
Generated a polite, professional client reply script ready to copy-paste.
What I Learned
Building a raw text generation isnt enough these days,continuity is what creates value . Streaming and visual feedback changes user perception drastically as it is better than waiting 6 seconds on a blank screen which is curbed by (SSE),Server-Sent Events (SSE)
Experienced freelancers don't want a black-box AI dictating how they talk to their clients. Exposing the system prompt and letting users adjust instructions directly in the app makes the tool adapt to the freelancer's voice, rather than forcing them into a generic template.
Prize Categories
Best Use of Backboard β Persistent Client Assistant Automatically creates and syncs with a dedicated cloud assistant on Backboard.io.
RAG Context Injection is useful when returning client name is entered the app queries Backboard memory to inject previously agreed rates and agreements

Top comments (0)