# iLeague-app: the generic influencer monorepo before the golf rebrand

Source: https://www.michaelchurley.com/blog/ileague-app-influencer-monorepo-before-golf-rebrand  
Published: 2026-02-04  
Author: Michael C. Hurley  
Tags: ileague-app, ileague, influencer, creator-economy, monorepo, bun, nextjs, expo, convex, clerk, stripe-connect, scaffold, before-golf, hurleyus

![Landing hero, violet influencer/fan unite](/blog/ileague-app-influencer-monorepo-before-golf-rebrand/screenshots/landing-hero.png)

## Who

I needed a creator/fan product that was still honest about being a scaffold: leagues, posts, Stripe Connect, before I verticalized it into golf.

For operators comparing the public influencer monorepo to the later emerald golf stack. Skip if you only want scorecards or Top-54 iTour lore.

## What

I shipped **iLeague-app**, public [`HurleyUS/ileague-app`](https://github.com/HurleyUS/ileague-app). HEAD `7af9d80`. **7** commits. Package **1.0.0**. Bun workspaces: `@ileague/web` (Next 15), `@ileague/mobile` (Expo 52), `@ileague/convex`.

![Schema map](/blog/ileague-app-influencer-monorepo-before-golf-rebrand/screenshots/schema-map.png)

The schema still says **influencer**: `users.isInfluencer`, `influencerProfiles`, posts (text/image/video/poll/announcement), leagues with score+rank, follows, monthly/yearly `subscriptions`, Stripe Connect fields, tips in `transactions`. Twelve categories from gaming to lifestyle. Primary brand is violet (`#7c3aed` splash). The golf lander is emerald elsewhere.

![Mobile leagues](/blog/ileague-app-influencer-monorepo-before-golf-rebrand/screenshots/mobile-leagues.png)

Web: lander (Where Influencers and Fans Unite), Clerk auth, onboarding, dashboard, explore, leagues, notifications. Mobile tabs match. HEAD (Feb 4) wires mobile leagues to `getFeaturedLeagues` / `getUserLeagues` / paginated `getLeagues` + `joinLeague`, and adds `eas.json`.

![Gaps](/blog/ileague-app-influencer-monorepo-before-golf-rebrand/screenshots/honest-gaps.png)

Honest gaps: create-league button pushes `/create-league` with **no screen**; EAS submit + Apple IDs + Sentry org are placeholders; mobile icon/splash paths declared with **empty assets**; README claims MIT with **no LICENSE file**; lander vanity stats (50K+/2M+) are placeholders; commit message says Add mobile .env but the diff does not. `www.ileague.app` is a **Coming Soon** static page. The Jan Vercel preview URL now 308s there. The live golf product is a **different** repo and pack.

## Where

Code: [github.com/HurleyUS/ileague-app](https://github.com/HurleyUS/ileague-app), public.

```bash
git clone https://github.com/HurleyUS/ileague-app.git
cd ileague-app
bun install
# cp .env.example .env.local  # fill Clerk/Convex/Stripe/Resend/PostHog/Sentry
cd packages/convex && bunx convex dev
bun run dev:web    # or bun run dev:mobile
```

Domain: [www.ileague.app](https://www.ileague.app), Coming Soon (this Next app is not what serves that hostname). Golf sibling: [ileague.golf](https://ileague.golf). Keep the two repos separate in your head.

## When

**2026-01-09.** Five commits: init monorepo, Convex stubs/Sentry, CHANGELOG (notes `kindred-gnu-699` + early Vercel URL), React 18 for Clerk/Convex, root `vercel.json` monorepo build.

**2026-01-31.** `7b889f4` adds `.cursor/rules/STRIPE.md` only.

**2026-02-04 12:04 ET.** HEAD `7af9d80` mobile leagues + `eas.json` + ROADMAP/PLAN. Queue push **2026-02-05T18:08:47Z**.

![Commit arc](/blog/ileague-app-influencer-monorepo-before-golf-rebrand/screenshots/commit-arc.png)

## Why

If you only read the golf pack, you miss the **pre-rebrand** vocabulary: the same Bun/Next/Expo/Convex bones still wearing `isInfluencer` and vanity lander stats.

**Engagement Q:** Keep shipping the generic influencer scaffold, or treat this repo as archive and push all energy into ileague.golf?
