Own project · Applied AI · Retail · MVP
Vende & Aprende
Understand a product today. Recommend it with more confidence tomorrow. Product knowledge, practical recommendations and ongoing learning in one place.
The starting point
Having information is not the same as knowing how to use it.
With a large catalogue and little time between customers, remembering differences, terminology and suitable recommendations is difficult.
Born from a need I noticed while working in a shop: information only helps when you can understand and use it. Vende & Aprende researches products and prepares structured sheets with practical explanations, source links and related concepts. An evolving MVP, designed to support human judgement.
The idea can apply to electronics, cosmetics, perfumery, food, drinks and specialist retail. These are potential applications of the concept, not claims of commercial adoption across those sectors.
Jump to the technical sideFrom the catalogue to the conversation
What the application does
Find the product
A paginated catalogue with search by name, brand or EAN, and filters by department, category and optional subcategories.
Explain it clearly
Structured sheets: what it is, what makes it different, three recommendation phrases, quick answers and additional information.
Learn in context
Related concepts and evidence-backed definitions, with source links. Everyday learning through consulting, understanding and applying knowledge.
Research with AI
Web research and AI generation prepare stored sheets. Human judgement remains essential to review information and make recommendations.
Review and improve
Sheet history, ratings per user and version, error reports and administrative regeneration with a reason. Previous sheets survive a failed regeneration.
Keep access under control
Approved users can query sheets and request a first generation. Administrators maintain the catalogue, manage reports and regenerate existing sheets.
Features described here are supported by the v1.3.0 repository. My two-computer setup is in use; full deployment and acceptance of every v1.3.0 change are not independently verified.
A closer look
The application, in practice
Real screenshots, cropped and anonymised. The sample content illustrates the interface; AI-generated product claims still require human review.
Under the hood / Engineering decisions
For the geeks
Keep product queries fast. Give research and generation their own time and place.
Mac mini: the application stays available
It hosts the web, API, RabbitMQ and dispatcher, serving stored sheets and coordinating pending jobs.
Linux PC: processing when it is available
In my installation, switching on my main computer and entering Linux starts the worker automatically. It begins attending queued research and AI-generation jobs. This is how I use the system.
When the PC is unavailable, pending jobs persist while the Mac mini continues serving stored content. New generation needs an available worker and AI endpoint; the endpoint can be local or remote.
A modular application
Vue 3, Vite, TypeScript, Vue Router and Pinia in the frontend. Django 5.2 and Django REST Framework form a modular monolith for organisations, users, catalogue and generation. MongoDB Atlas stores business data, sheets and history.
Jobs that can wait and recover
Django creates a job and an outbox event in a transaction. The dispatcher publishes its ID to durable RabbitMQ. The worker claims the job through the API, keeps a lease alive with heartbeats and acknowledges delivery after Django confirms persistence. Retries, duplicate control and final local checkpoints support recovery.
Research, then generation
Configurable Tavily, Brave and SearXNG providers discover sources. The worker selects relevant results and uses Crawl4AI with Chromium when more content is needed. The interchangeable AI endpoint supports native Ollama and an OpenAI-compatible API. The application does not start or manage Ollama.
Validation and quality
Pydantic validates structured output in the worker; DRF validates it again before persistence. Versioned sheets, evidence, votes and reports make improvements traceable. A valid JSON structure does not guarantee factual accuracy: source review and human judgement are still needed.
What I’m learning
Designing asynchronous work that can wait, recover and deliver useful results without blocking the application.
What remains outside this MVP
Free-form AI chat, courses, spaced repetition, reinforcement-learning algorithms, full offline use, an EAN scanner and a ready-to-sell general SaaS are not presented as implemented features.