05 / Case

04 Web app 2024

Aura Pura Perfumería

Artisanal perfume catalog web app with desktop admin. RESTful API, product modals, and modern visual effects.

Year 2024
Role Full Stack Developer
Stack Frontend · Backend · Infra
Brand catalog

Product, atmosphere, and purchase in one visual system.

Aura Pura needed a digital presence that sold through visual sensitivity before technical complexity: catalog, fragrance detail, and simple administration for the business.

Flask Jinja Admin Desktop

The problem

Aura Pura is an artisanal perfume brand that, before this project, sold exclusively through social media and in person. There was no online catalog, no way for customers to browse the full inventory with product details, and no tool for the owner to manage products and pricing without developer involvement for every change. The budget was tight, so the solution needed to be efficient in development time and carry zero additional infrastructure cost.

The solution

The result is a web catalog built with Flask and Jinja2, with an interface that prioritizes visual product presentation: detail modals with a parallax effect, smooth CSS transitions, and a color palette that reinforces the brand identity. Visitors can browse the collection, filter by fragrance family, and view the full profile of each perfume without leaving the page. Inventory management is handled by a Python Tkinter desktop application that the owner runs on her own computer: she can add products, upload photos, edit prices, and control stock from a straightforward interface that requires no technical knowledge.

Architecture

Flask serves both the frontend — through Jinja2 templates — and the RESTful API consumed by the Tkinter admin application. Write endpoints are protected with basic authentication, sufficient for a single-administrator context. Product images are stored locally on the server and served as static files. The decision to use Flask as a monolith rather than splitting the frontend and API into separate projects was deliberate: it reduced deployment complexity to a single process and allowed fast iteration on the design without managing CORS or multiple services. Tkinter was chosen because the owner already used Windows and the admin tool required no additional dependencies beyond the executable bundled with PyInstaller.

Outcome

Before this project, Aura Pura had no online presence beyond social media posts. The catalog gave the brand a permanent, searchable channel customers could browse at any hour without waiting for a reply. The owner went from depending on a developer for every product change to managing the full catalog independently from her Windows machine. Development and infrastructure costs were kept near zero by reusing Flask as both frontend host and API, and serving images as static files with no cloud storage dependency.

Operational dashboard

Flow Aura Pura Perfumería
Main view Aura Pura Perfumería
Aura Pura Perfumería main view
Featured product Flask/Jinja
Aura Pura Perfumería featured product

Next project

05 Tool 2025 License Manager