What if a freelancer could turn a messy client brief into a structured proposal without sending their project details to a hosted AI service?
That question inspired me to build GigCraft AI, a local AI assistant that helps freelancers organize client requirements, draft proposals, plan deliverables, consider pricing, and identify what needs clarification before a project begins.
Instead of building another general-purpose chatbot, I wanted to explore a focused tool for a real workflow: going from "Here's what my client wants" to "Here's how I can deliver it."
๐ GitHub Repository: https://github.com/Yadnu14/GigCraft-AI
๐ฏ The Problem
Starting a freelance project involves much more than writing code or delivering a design.
Freelancers often need to:
Understand an incomplete or unclear client brief.
Write a professional proposal.
Break the work into deliverables and milestones.
Think through pricing and deadlines.
Identify missing information before committing to the project.
Decide what to do next.
Handling all of this manually takes time. Relying on a hosted AI service can also introduce API costs and additional privacy considerations.
GigCraft AI explores a practical alternative: a dedicated freelance assistant powered by a model running locally.
โจ What Can GigCraft AI Do?
The application focuses on five parts of the freelance workflow:
Feature
Purpose
๐ Proposal drafts
Generate a starting point for a client-facing proposal
๐ Deliverables and timelines
Organize the expected work and project milestones
๐ฐ Pricing suggestions
Help structure pricing considerations
โ Missing requirements
Identify details that may need clarification
๐ Next steps
Turn the brief into an actionable plan
The generated content is a starting point, not a substitute for professional judgment. Freelancers should review the output, confirm assumptions, and agree on scope with their clients.
๐ ๏ธ The Technology Behind It
GigCraft AI combines a lightweight web application with local AI inference.
Python: Application logic.
Flask: Backend web framework.
HTML, CSS and JavaScript: User interface and interactions.
Ollama: Runs the language model locally.
Gemma 3:4B: Generates responses from client briefs.
GitHub: Hosts the source code and project documentation.
I chose this stack to keep the application straightforward to run and easy for other developers to inspect.
โ๏ธ How It Works
The workflow follows a simple sequence:
Enter a brief: The freelancer describes the client's requirements.
Prepare the request: The Flask backend formats the request for the local model.
Generate the response: Ollama runs Gemma 3:4B to produce the requested content.
Review the result: The freelancer uses the generated proposal and planning information as a starting point for the project.
The application uses Ollama's local generation API, so it does not require a third-party hosted inference API key.
๐ Why Local AI?
Client briefs can contain business requirements, budgets, project ideas, and other information that freelancers may prefer to keep private.
Running inference locally offers several advantages:
More control over data: Prompts are processed by the local Ollama instance rather than being sent to a hosted inference provider by this workflow.
No hosted inference API key: The application can generate responses without requiring a paid external AI API.
Open-weight model experimentation: Developers can explore and adapt the application around a model they can run on their own hardware.
A more self-contained workflow: Once the required model is downloaded, inference can run locally without depending on a hosted model endpoint.
Local inference still has trade-offs: the model requires storage and computing resources, and the application depends on Ollama being available. Local processing also does not automatically guarantee the security of the entire device.
๐ฑ Why Open Innovation Matters
Open innovation gives developers the freedom to explore existing technologies, combine them in new ways, and share what they build.
For independent developers and freelancers, that flexibility can make a real difference. Not every useful AI application needs a closed platform, a recurring API bill, or a dependency on one hosted provider.
With GigCraft AI, I brought together an open-weight model, local inference tooling, and a Python web application to explore a focused use case.
The project is released under the MIT License, allowing others to study, modify, and redistribute the code under its terms.
I see this project as a small example of what becomes possible when developers can experiment with AI tools and turn them into practical applications.
๐งช Running the Project
To run GigCraft AI locally, you need:
Python
Ollama
The gemma3:4b model
The application's Python dependencies
After installing the dependencies and downloading the model, start the application:
python app.py
Open the local interface at:
The complete source code and setup instructions are available in the repository.
๐ฆ View the source code and README on GitHub
๐ Final Thoughts
GigCraft AI is my attempt to make local AI useful for a specific, everyday problem: reducing the friction between receiving a freelance brief and planning the work.
The project brings together:
A practical freelance workflow.
A Python and Flask web application.
Local inference with Gemma 3:4B.
An open-source implementation under the MIT License.
The goal isn't to let AI make every decision for a freelancer. It's to help them organize the initial work so they can spend more time evaluating the project, communicating with the client, and delivering something valuable.
Have you built an application using local AI models? I'd love to hear what use cases you've explored.
๐ Project: https://github.com/Yadnu14/GigCraft-AI
Top comments (0)