Software Projects · Foldi
macOS + Web · SwiftUI · Supabase · Stripe Connect · Multi-provider AI · 2025 – Present
A macOS app and web platform for creating, customizing, and selling folder icons. On the Mac, you drag any folder into Foldi, dress it up with colors / emoji / AI-generated art, and apply the icon non-destructively (every change is backed up, undo is one click). On the web, there's a creator marketplace where designers upload packs and earn revenue through Stripe Connect. Collaborating with Carol Yu on product design.
Customization
- Independent tint on folder front and back faces — 40+ presets + custom picker
- Text overlays: font, size, weight, color, shadow, 9-position grid placement
- Emoji, SF Symbols, Font Awesome, or custom image overlays
- Background images with scale / position, plus one-click background removal
- Six layout templates (Glass, Left, Right, Emoji-only, Text-only, Blank)
- Glass effect — emoji layered between folder back and front faces at 55% alpha for a frosted look
AI design loop
- Describe what you want → candidate backgrounds generated via OpenAI Responses API or Gemini generateContent
- Folder summarizer reads file names and returns a one-phrase description that primes the designer
- LLM designer suggests color / text / icon as structured JSON (AISuggestion) that gets applied directly to the icon model
- Multi-provider: OpenAI, Anthropic, Gemini, Ollama (local), OpenRouter, Qwen — pick any, swap per feature, store keys in Keychain
- Editable system prompts for each step; per-provider API keys in Settings
Collection + marketplace in-app
- Save icons into named groups, reload onto any folder later, import external PNGs
- Browse community packs pulled live from Supabase, filter by tags (cute, funny, creative, clean, art), one-click apply
- Upload your own pack with bulk file upload, name, author, tags — goes through admin approval
Platform behaviour
- Drag any folder from Finder → Foldi
- Non-destructive: IconBackupService snapshots the original before every apply
- Security-scoped bookmarks (BookmarkManager) so folder access survives app restarts
- Sandboxed, App Store ready
@Observable FolderIconModel as single source of truth (colors, overlays, AI state, undo stack)NSImage → NSWorkspace.setIcon()LLMService abstracts providers, ImageGenerationService handles OpenAI + Gemini, SupabaseService runs auth / REST / Storage over URLSession, AppAuthService persists sessions in KeychainExpress + EJS, pre-rendered with build.js and deployed as static to Cloudflare Pages.
/ landing, /gallery browse + search, /publish upload (auth-gated), /creators creator program with revenue-share onboarding, /collection saved icons, /cart Stripe checkout, /admin pack-approval dashboardgallery-physics.js) in the gallery viewicon_packs table (UUID PK, name, author, tags TEXT[], status, files JSONB, stripe linkage)Foldi started as one of the experiments inside Cosma, our brand for rethinking how people interact with files. Along the way to building Cosmasense we tried a handful of angles, and one of them was the visual layer: what if your folder icons actually told you what was inside? That experiment got good enough to stand on its own, so we split it off. Foldi is now its own thing, with its own team and its own backend.
The very first stage of the folder-icon MVP — the prototype Foldi was rebuilt from:
entry_id=1_cy7zim4n widget_id=1_0r7qktit title=folder-icon-v1
Working with Gemini Image and GPT Image side by side taught me where each model is strong and where each falls over — prompt handling, style consistency, small UI-sized outputs vs. large hero images. Shipping a marketplace on top of it forced me to think about icon design as a discipline and to think about payments, approvals, and creator economics at the same time. It is one of the newer projects in this list, and probably the one I learned the most about design and platform work from.
This is the plain-HTML mirror served to crawlers, LLMs, and curl. Humans with a JavaScript-enabled browser see the rich React/XP-themed SPA at the same URL.