# awen-prompt

AwenPrompt is a local-first workspace for writing better architectural visualization prompts. I built it around the details generic prompt tools usually miss: reference-image geometry, tensile fabric behavior, real material colors, camera intent, and clear rules for what should not change.

It does not generate images. It helps prepare copy-ready prompts for external image tools, especially for tensile structures, membrane, ETFE, mesh, facades, interiors, site scenes, and lighting studies. [Open the production app](https://awen-prompt.vercel.app/) or read the longer blog article, [AwenPrompt: structured prompts for architectural visualization](https://glvn.me/blog/#awenprompt-structured-prompts-architectural-visualization).

## why i made it

I kept seeing AI render workflows make the same architectural mistakes: masts disappeared, cables moved, fabric colors drifted, roof curves flattened, and reference images became mood boards. AwenPrompt is my way of making the important constraints explicit before the prompt leaves the design workflow.

## quick overview

- Prompt builder for tensile structures, facades, interiors, sites, and lighting studies.
- Auto-Fill from a brief, reference image, or existing prompt.
- Material catalog for fabric, structure, and architectural finishes.
- Native mode that works without an API key.
- Optional AI-assisted mode through hosted demo or bring-your-own-key routes.
- Mask and lighting editors for targeted image edits.
- Browser-local workspace for sessions, reviews, import, and export.

## prompt flow

Start by choosing the kind of architectural study you are making. AwenPrompt then shows the fields that matter for that workflow: site context, materials, fabric or envelope behavior, camera, lighting, output style, preservation rules, and negative prompts.

You can fill the fields by hand, let Auto-Fill read a brief or reference image, or reuse an older prompt. The app then assembles the result as text or JSON so it can be copied into the image tool you actually use.

## fallback feature

Native mode is the main fallback. Once the app loads, it can assemble prompts from the form without an account, hosted demo quota, or API key.

The hosted AI route also tries a short server-owned fallback chain for temporary provider failures. If that still fails, the user can keep working in Native mode or use a personal provider key for the current browser tab.

## tech stack

- Next.js, React, and TypeScript.
- Tailwind CSS with shadcn/ui, Radix primitives, and lucide-react icons.
- OpenRouter hosted demo routes, plus OpenRouter and OpenAI BYOK support.
- IndexedDB and localStorage for browser-local workspace data.
- Vitest and ESLint for checks around domain logic, routes, providers, storage, and UI behavior.
