-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathseed_duolingo.js
More file actions
306 lines (229 loc) · 5.75 KB
/
seed_duolingo.js
File metadata and controls
306 lines (229 loc) · 5.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
const { createClient } = require('@supabase/supabase-js');
const fs = require('fs');
require('dotenv').config();
const supabaseAdmin = createClient(
process.env.SUPABASE_URL || '',
process.env.SUPABASE_SERVICE_ROLE_KEY || '',
{
auth: {
autoRefreshToken: false,
persistSession: false
}
}
);
const resourceContent = `# 🎯 What "Duolingo of Entrepreneurship" REALLY Means
Duolingo is **not**:
* Just videos
* Just lessons
* Just streaks
Duolingo is:
> **A habit-forming learning OS with tight feedback loops**
For entrepreneurship, that means:
* Learning → Applying → Feedback → Progress → Motivation
---
# 🧠 CORE PRINCIPLES (NON-NEGOTIABLE)
If you skip these, it becomes another Udemy.
### 1️⃣ Learning must be **Action-linked**
No lesson ends without:
* A real-world task
* Or applying to *their own startup*
### 2️⃣ Progress must feel **earned**
No skipping without mastery.
### 3️⃣ Feedback must be **instant**
AI + peer + system feedback.
### 4️⃣ Motivation must be **identity-based**
“I am becoming a founder” not “I finished a course”.
---
# 🧱 SYSTEM ARCHITECTURE (HIGH LEVEL)
\`\`\`
Learning Engine
│
├── Curriculum Graph (not linear)
├── Lesson Engine
├── Video Engine
├── Practice Engine
├── AI Feedback Engine
├── Gamification Engine
└── Progress Intelligence
\`\`\`
---
# 📚 CURRICULUM DESIGN (NOT COURSES)
### ❌ Wrong
* Course 1: Ideation
* Course 2: Market Research
### ✅ Right (Duolingo-style SKILLS)
Think in **skills**, not topics.
Example Skill Tree:
\`\`\`
Entrepreneurship Basics
├── Problem Clarity
├── Customer Interviews
├── Market Sizing
├── Pricing Logic
├── MVP Thinking
├── Storytelling
├── Fundraising Basics
\`\`\`
Each **skill** has:
* Levels (Beginner → Intermediate → Advanced)
* Unlock rules
* XP weight
---
# 🎥 VIDEO SYSTEM (IMPORTANT)
### How Duolingo would do video (if it did)
Videos are **supporting material**, not the main experience.
### Video Rules:
* Max 5–8 minutes
* Always followed by interaction
* Never passive
### Video Types:
1. **Concept Explainers**
2. **Founder Stories (India-focused)**
3. **Failure Breakdowns**
4. **Investor POV Clips**
### After every video:
* 1 quiz
* 1 application task
* 1 reflection question
---
# 🧪 PRACTICE ENGINE (MOST IMPORTANT)
Every lesson must include at least ONE:
### Practice Types
* Multiple choice (fast feedback)
* Scenario decision (“What would you do?”)
* Short written response
* Apply-to-your-startup task
Example:
> “Write the ONE sentence problem statement for your startup.”
AI checks:
* Clarity
* Vagueness
* Assumptions
---
# 🤖 AI FEEDBACK ENGINE
This is where you **beat every course platform**.
### AI roles:
* Coach (asks questions)
* Critic (points flaws)
* Validator (checks logic)
### Example Flow:
User submits:
> “My startup helps everyone save time.”
AI responds:
* “Who specifically?”
* “Doing what task?”
* “Compared to what?”
No progress until fixed.
---
# 🎮 GAMIFICATION (DO THIS CAREFULLY)
### XP System
* Watching video: +10 XP
* Passing quiz: +30 XP
* Applying to own startup: +50 XP
* Weekly consistency bonus: +100 XP
### Streaks
* Daily: 1 lesson/day
* Weekly: 5 lessons/week
* Break streak? Lose momentum, not all progress.
### Levels (Identity-based)
* Explorer
* Builder
* Founder
* Operator
* Entrepreneur
### Unlockables
* Co-founder visibility boost
* Investor visibility
* Advanced AI features
* Certificates
---
# 📊 PROGRESS INTELLIGENCE (THIS IS ADVANCED)
Track:
* Skills mastered
* Weak areas
* Avoided topics
* Time spent vs outcome
Then:
> “You avoid pricing modules. That’s risky. Want help?”
This makes it feel **alive**.
---
# 🧭 USER FLOW (FIRST 7 DAYS)
### Day 1
* Skill assessment
* First win (easy lesson)
* XP + streak started
### Day 2–3
* Problem clarity
* Customer thinking
### Day 4–5
* Validation basics
* Real task assigned
### Day 6
* Reflection
* Progress summary
### Day 7
* Skill checkpoint
* Level-up moment
---
# 🧑💻 TECH STACK (REALISTIC MVP)
### Frontend
* Next.js
* Video player (Mux / Cloudflare Stream)
* Progress UI
### Backend
* Supabase (auth + DB)
* Skill graph tables
* XP engine
### AI
* LLM (Claude / GPT)
* Prompt templates per skill
* Rubric-based evaluation
---
# 🚫 WHAT NOT TO DO
* ❌ Long videos
* ❌ Certificates without mastery
* ❌ Passive learning
* ❌ “Entrepreneur motivation” fluff
* ❌ Too many features in v1
---
# 🧠 MVP VERSION (90-DAY BUILD)
### v1 Scope:
* 1 skill tree (Idea → Validation)
* 20 lessons
* 10 videos
* Basic XP + streaks
* AI feedback on text answers
That’s enough to test product-market fit.
---
# FINAL TRUTH (IMPORTANT)
If your platform makes users say:
> “I feel smarter after every lesson”
You failed.
If they say:
> “I finally understand what to do next”
You’re winning.`;
async function seed() {
try {
console.log('Seeding resource...');
const { data, error } = await supabaseAdmin
.from('resources')
.insert([{
title: 'Foundry Academy: The Gamified Learning OS',
description: resourceContent, // Storing full markdown here as TEXT supports it
type: 'guide',
url: '', // Internal content
tags: ['learning', 'gamification', 'mvp', 'startup'],
difficulty: 'advanced',
duration: '15 min read'
}])
.select();
if (error) {
console.error('Error seeding:', error);
} else {
console.log('Done! Resource added:', data[0].title);
}
} catch (err) {
console.error('Unexpected error:', err);
}
}
seed();