Allen Padilla

Personal • In progress 2026

Canopy

An iOS app for people with ideas. A local-first private notebook paired with a public board where an AI and other people score each idea side by side, and every released idea carries a verified outcome. Built solo in about a week, and it's on Apple's TestFlight right now.

Role
Designer and developer
Timeline
First commit Aug 28, 2026. On Apple's TestFlight right now.
Team
Solo
Stack
Expo, React Native, TypeScript, SQLite, Supabase, RevenueCat

Context

Canopy is an iOS app for people with ideas. You keep a private notebook of them on your phone, and when you're ready you release one to a public board where an AI and other people score it 1 to 5 on problem severity, market pull, feasibility, differentiation, and personal fit. Side by side.

The fun part is seeing where the AI and real people disagree. Every idea you release also gets a status, thinking, building, launched, or fallen, and if you launch it you can prove it by linking the GitHub repo. Over time that you'll see the growth of your idea.

I built it solo in about a week. First commit was August 28, 2026, and it's at 246 commits. It's on Apple's TestFlight right now.

You can view the website at joincanopy.app.

Canopy Seeds screen listing private ideas with AI scores
Seeds. Your private notebook, with each idea's score and a filter for what you've released.
The Canopy public board with ideas from other builders
The Canopy. Released ideas with their AI score, sorted Fresh, waiting for people to weigh in.
Profile screen with launched, building, thinking, and fallen counts
You. Your track record by outcome, and patterns the AI has noticed across your ideas.

Stack

  • Expo SDK 57
  • React Native
  • expo-router
  • TypeScript
  • SQLite
  • Supabase
  • Postgres RLS
  • Deno edge functions
  • Gemini / Anthropic / OpenAI
  • RevenueCat
  • Sentry
  • SvelteKit

Expo and React Native in TypeScript, with SQLite for the private ideas and Supabase for the public ideas. The AI scoring has failovers that use Gemini, Anthropic, or OpenAI, and RevenueCat handles the subscriptions.

What's built

Offline notebook. Create, edit, delete, restore, and export ideas with no account. Works in airplane mode and survives a force-quit.

Sync engine. Pulls with a compound cursor and server-time watermarks. Last write wins, and a conflicted copy is kept when two edits really collide. Ideas you wrote anonymously carry over when you first sign in.

Auth. Sign in with Apple, Google, or an email code, plus anonymous sign-in for intial use that links to a real account later.

AI evaluation. A provider-agnostic router with key rotation, jittered retries, and schema-repair retries. A calibrated rubric, prompt-injection hardening, credits that are consumed atomically and refunded on failure, a red-team test suite, and a circuit breaker with daily caps.

The board. Release into groves. Five feed sorts with no algorithm behind them, Fresh, Rising, Most Disputed, Launched, and Following. Full-text search, crowd scoring only for people who've released something themselves, catching, threaded comments with likes, follows, growth updates with a timeline, and push notifications with deep links.

Track record. Outcome states with timestamps. GitHub OAuth verifies you own the repo, stamped server-side only, with tokens kept in Supabase Vault.

Trust and safety. Pre-release moderation that fails closed, with crisis routing. A report queue, takedown and ban RPCs, blocks enforced through RLS, rate limits, an EULA, incognito, and in-app account deletion that tombstones your public content.

Paid tier, Heartwood. RevenueCat subscriptions with webhook-driven entitlements and transfer handling. Paid features are Rings, which are web-grounded deep dives, Patterns, analytics over your evaluation history, Catchers, who saved your leaf, disagreement alerts, and score history. Rings and Patterns are metered with the same credit pattern as evaluation.

Anti-abuse. Apple App Attest with server-issued challenges and per-device quotas that survive account deletion.

Web. Server-rendered leaf pages with Open Graph comparison cards, universal links, a Your seeds are yours privacy page, and scorecard image sharing from the app.

First-run polish. Three-pane onboarding, an example scorecard in the empty state, disagree with a score feedback, review prompts gated on real events, Markdown and JSON export, Dynamic Type and Bold Text, and light, dark, and tinted iOS 18 icons.

Testing. Vitest unit tests, an RLS suite with 67 checks, sync and pipeline integration tests, and the AI red-team suite.

What's next

Getting it on the App Store and Google Play Store, and getting my CRA Business Account properly set up on the Apple side.