Practitionist / Practitionist/elluminar_web

Scholarship campaign engine (₹-denominated, quantified)

Open
#27 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

growth marketing post-mvp v2
Dominant language
TypeScript
Stars
1
Forks
0
Avg merge
17h 2m
Merged PRs (30d)
18

Description

Why / Context

Teardown STEAL (Crio): quantified, ₹-denominated scholarship marketing ("₹60,000 scholarship") outperforms vague "financial aid available" language — a discount framed as a specific win raises perceived value versus an equivalent blanket price cut. PRD §8.6 also lists need/merit scholarships as a trust + distribution lever.

Schema already in place — NO migration required

  • Coupon.campaign tag + full coupon machinery (scoping, windows, redemption caps, per-user limits)
  • CouponRedemption for reporting; Waitlist(source) for application intake
  • Quiz infra can power merit tests (scholarship qualifier quiz)

Implementation plan

  1. Campaign model on top of coupons (src/lib/growth/scholarships.ts): a scholarship campaign = config (name, ₹ value framing, eligibility mode: open/need-based/merit-test, seat count, window) + generated single-use coupons under one campaign tag.
  2. Application flow: landing page per campaign (₹-denominated headline, deadline countdown), application form (need-based: statement fields; merit: qualifier quiz via existing Quiz with pass threshold), review queue for need-based.
  3. Award flow: approval issues a personal single-use coupon (max discount = advertised ₹ value) with expiry; award email; unclaimed-award reminders.
  4. Merit auto-award: qualifier quiz pass → instant coupon issuance (rate-limited, one attempt policy via maxAttempts).
  5. Campaign ops (admin): seats remaining, awards issued/redeemed, revenue impact (redemption discount totals vs conversions), close/extend controls.
  6. Marketing surfaces: scholarships index page, campaign OG cards, storefront banners for creator-funded campaigns (tenant-scoped coupons — creators can fund their own).
  7. Guardrails: stacking rules (scholarship coupons don't combine with other discounts — pricing engine flag), fraud checks on multi-account claims (pairs with referral fraud heuristics).

Acceptance criteria

  • Campaign page advertises a ₹-value scholarship with live seat counter and deadline
  • Merit path: pass the qualifier quiz → receive a working single-use coupon automatically
  • Need-based path: apply → admin approves → coupon email → redemption tracked under the campaign tag
  • Advertised ₹ cap never exceeded at checkout; no stacking
  • Campaign report shows awards, redemptions, and attributable revenue

Dependencies / sequencing

  • MVP M7 (coupons) + M9 (quizzes); issue #12 for conversion reporting

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading src/lib/growth/scholarships.ts and the existing Coupon, CouponRedemption, Waitlist, and Quiz machinery, then review dependencies M7, M9, and issue #12. The work is done when the campaign, application and award flows, admin reporting, marketing surfaces, and stated coupon guardrails satisfy all acceptance criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend, frontend, full-stack
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.