| # Three starter projects you can fork |
|
|
| Don't ship a thin wrapper around "type prompt → get image." The judges have |
| seen a hundred of those. Each idea below is a real, finishable weekend project |
| that uses klein for something the prompt box alone can't do, maps to one of the |
| two tracks, and stacks merit badges. |
|
|
| The two tracks: |
|
|
| - 🏡 **Backyard AI** — solve a real problem for someone you know. |
| - 🍄 **Thousand Token Wood** — build something delightful and whimsical. |
|
|
| --- |
|
|
| ## 1. 🏡 "Shopfront" — product photos for a tiny business |
|
|
| **The problem.** A friend sells something handmade (jewelry, candles, baked |
| goods) and their product photos are phone snaps on a cluttered table. Good |
| product photography is expensive. |
|
|
| **The build.** Image → Image. They upload a plain phone photo of the product; |
| your app re-lights and re-stages it on clean backgrounds — marble, linen, a |
| sunlit windowsill — keeping the product itself intact. Add a row of preset |
| "scenes" so they just click. |
|
|
| **Why it's more than a wrapper.** It's a focused tool for one real user with |
| preset styling, not a generic prompt box. That's the whole point of Backyard AI. |
|
|
| **Badges:** 🔌 Off the Grid (runs the open weights), 🎨 Off-Brand (your own UI), |
| 🎯 Well-Tuned if you train a LoRA on *their* brand look. |
|
|
| **Push it further.** Train a small LoRA on 20 of their existing on-brand shots |
| so every generated scene matches their aesthetic. Add a "generate 4 variations" |
| grid so they can pick. |
|
|
| --- |
|
|
| ## 2. 🍄 "Sticker Forge" — a whimsical creature/sticker maker |
|
|
| **The idea.** A playful generator that turns a few words ("a grumpy mushroom |
| knight", "a sleepy cloud cat") into a die-cut sticker: bold outline, flat |
| shading, transparent-ready background. |
|
|
| **The build.** Text → Image with a baked-in style. The user types just the |
| subject; you append the sticker-style scaffolding to the prompt under the hood |
| so every output is consistent. Show a sheet of 6 at once. |
|
|
| **Why it's delightful.** Constraint + consistency is what makes it feel like a |
| *product*, not a demo. Thousand Token Wood rewards charm and polish. |
|
|
| **Badges:** 🎯 Well-Tuned (train a LoRA so the sticker style is truly yours and |
| not promptable by anyone), 🎨 Off-Brand, 🔌 Off the Grid. |
|
|
| **Push it further.** Train a sticker-style LoRA from ~25 reference stickers so |
| the look is locked and recognizable. Add post-processing that crops to the |
| subject and adds a white die-cut border. |
|
|
| --- |
|
|
| ## 3. 🏡 / 🍄 "Before & After" — a personal restyle studio |
|
|
| **The idea.** Upload a photo of a room, an outfit, a garden — and see it |
| restyled. "What would my living room look like in mid-century modern / cottagecore |
| / Scandinavian?" Useful (Backyard) *and* fun (Wood) depending on how you frame it. |
|
|
| **The build.** Image → Image with a set of named style presets. Each preset is a |
| curated edit prompt. Show the original and the restyle side by side. |
|
|
| **Why it works.** The side-by-side is inherently demo-friendly and the presets |
| make it usable by someone non-technical in five seconds. |
|
|
| **Badges:** 🔌 Off the Grid, 🎨 Off-Brand. 🎯 Well-Tuned if you train a LoRA on |
| one specific aesthetic and make that your app's signature look. |
|
|
| **Push it further.** Let users save a "look" and apply it across several of their |
| photos so the whole set is consistent — that consistency is the thing a plain |
| prompt can't give them. |
|
|
| --- |
|
|
| ## The pattern behind all three |
|
|
| 1. Pick **one** real user or **one** delightful constraint. Narrow beats broad. |
| 2. Hide the prompt engineering. The user gives intent; your app supplies the |
| craft (style scaffolding, presets, a LoRA). |
| 3. Make the output **consistent** — that's what a LoRA buys you, and what makes |
| it read as a product. |
| 4. Show a **before/after** or a **grid**. It demos better than a single image. |
|
|
| See `TRAIN_A_LORA.md` for the LoRA step and `PROMPTING.md` for getting clean |
| output. Fork `app.py` — the three tabs are already wired up. |
|
|