DEV Community

Cover image for I Built DukaanDraft: A Local AI Content Studio for Small Businesses
Shikha Shukla
Shikha Shukla

Posted on

I Built DukaanDraft: A Local AI Content Studio for Small Businesses

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission šŸ’ø

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

What I Built

Small businesses selling through Instagram, WhatsApp, and online marketplaces often spend a surprising amount of time writing product descriptions, social media captions, and sales messages.

For a small clothing reseller or independent shop owner, every new product means another round of writing content that sounds attractive, describes the product accurately, and encourages customers to take action.

I built DukaanDraft, a local-first AI-powered product content studio that turns product details into ready-to-use marketing content.

A seller enters the product name, category, price, features, and target audience, then selects English, Hindi, or Hinglish. DukaanDraft generates:

  • Three distinct Instagram caption options.
  • A descriptive product title.
  • A WhatsApp sales message.
  • A detailed product description.
  • Product selling points.
  • Relevant hashtags.
  • A call-to-action suggestion.
  • A marketplace listing title.

The goal is to help independent sellers spend less time drafting repetitive content and more time running their businesses.

The potential customers are clothing resellers, Instagram shop owners, independent retailers, and other small businesses that need product content regularly. Whether they would pay for it is something I want to validate through real user feedback.

Demo

DukaanDraft currently runs locally on my machine.

Screenshots and demo: I'll include a screenshot of the redesigned interface and a short recording showing the product-content generation workflow.

Youtube demo: https://youtu.be/7uVQsl0cFpA

The application uses local inference, so generation time depends on the computer running the model. On my CPU-based setup, a complete generation takes approximately 111 seconds.

dukandraft

Code

GitHub repository: https://github.com/Shikha18Shukla/DukaanDraft

The repository contains the Flask backend, prompt templates, Ollama integration, responsive frontend, and automated tests.

How I Built It

I built DukaanDraft using:

  • Python and Flask for the backend and API endpoints.
  • Ollama as the local inference runtime.
  • Gemma 3 4B as the open-weight language model.
  • HTML, CSS, and vanilla JavaScript for the frontend.
  • Python unittest for automated testing.

The application follows a simple workflow:

  1. Validate the seller's product details.
  2. Construct a category-aware prompt.
  3. Send the prompt to Gemma 3 4B through the local Ollama HTTP API.
  4. Parse and validate the model's structured JSON output.
  5. Normalize hashtags and handle malformed responses with a bounded retry.
  6. Display the generated content in separate cards with copy buttons.

One of the biggest challenges was improving the quality of the generated content. A generic product description isn't particularly useful to a seller, so I redesigned the prompts to produce three different caption strategies: product-led, lifestyle-oriented, and short-and-punchy.

I also added rules against inventing discounts, stock availability, delivery promises, product specifications, certifications, or customer testimonials.

The frontend received a complete visual refresh with a warm ivory background, burgundy accents, editorial typography, responsive layouts, and a more polished content-generation workspace.

The reported automated test run completed with 73 passing tests. I also tested real inference through the local Ollama API and checked Python and JavaScript syntax.

Why Does Open Innovation Matter?

Open-weight AI is central to how DukaanDraft works. It isn't simply a conventional website with an AI feature added on top.

By running Gemma 3 4B locally through Ollama, I can experiment with prompts, change model configurations, validate outputs, and build a useful workflow without depending on a paid, hosted LLM API.

This approach offers several advantages for the intended audience:

  • Cost control: There is no per-request charge from a third-party inference API.
  • Local processing: Product information is sent to the configured local Ollama endpoint rather than a hosted LLM provider.
  • Flexibility: The application can evolve as models and prompting strategies improve.
  • Transparency: The backend, prompt construction, output validation, and error handling can be inspected and modified.

Local AI also comes with trade-offs. Inference can be slow on CPU-only hardware, and a smaller model can produce imperfect output. My measured generation time was approximately 111 seconds, so I designed the interface to communicate the wait honestly rather than promise instant results.

For this project, open innovation made it possible to build and test a complete local AI content-generation workflow without paying for hosted model inference.

What I Learned

Building DukaanDraft taught me that connecting a language model to a form is only the beginning.

Useful AI products also need structured output validation, carefully designed prompts, error handling, a clear user experience, and honest communication about limitations.

The next challenge is to put DukaanDraft in front of actual small-business sellers, find out how much editing the generated content requires, and determine whether it saves enough time to become a product someone would pay for.

If you run a small business, what repetitive content-writing task would you want a local AI assistant to handle? I'd love to hear your ideas.

Top comments (0)