You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _posts/2026-02-24-product_principles.md
+8Lines changed: 8 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -186,6 +186,14 @@ Building often requires more _doing_ than _thinking_ (although for highly techni
186
186
187
187
Launching is inherently a _communicating_ activity--effectively you're communicating your solution to the market--however, it does require _thinking_ about your marketing strategy and some _doing_ to prepare materials, etc.
188
188
189
+
**Speed**
190
+
191
+
Don't forget about speed!
192
+
193
+
Speed will help you compensate for any imperfection in the steps above, so don't get wrapped up in the details.
194
+
195
+
Speed is possibly the only path to winning in today's AI-powered/ accelerated world.
196
+
189
197
---
190
198
191
199
I'm sure this will keep evolving. The frameworks that stick around are the ones that prove useful when you're actually in the weeds — making real tradeoffs under pressure. I'll update this as my thinking develops.
chatBtn.title="You've hit your chat limit for the day";
286
+
}
163
287
}
164
288
165
-
counterEl.classList.remove('hidden');
289
+
this.updateUsageCounter();
166
290
}
167
291
168
292
showSuggestions(){
@@ -245,17 +369,17 @@ class AIChat {
245
369
246
370
if(!message)return;
247
371
248
-
constisUnlimited=this.useMockData||this.useLocal;
249
372
const{ count }=this.getQueryCount();
250
-
if(count>=this.maxChatsPerDay&&!isUnlimited){
251
-
this.showError("You've hit your limit for the day.<br>Feel free to email tfarrell01@gmail.com with any other questions!");
373
+
if(count>=this.maxChatsPerDay){
374
+
this.showError("You've hit your chat limit for the day.<br>Feel free to email tfarrell01@gmail.com with any other questions!");
252
375
return;
253
376
}
254
377
255
378
this.hideSuggestions();
256
-
if(!isUnlimited){
257
-
this.incrementQueryCount();
258
-
}
379
+
this.incrementQueryCount();
380
+
381
+
constnewCount=this.getQueryCount().count;
382
+
constatLimit=newCount>=this.maxChatsPerDay;
259
383
260
384
this.addMessage('user',message);
261
385
input.value='';
@@ -300,8 +424,16 @@ class AIChat {
300
424
thrownewError('Empty response from chat service');
301
425
}
302
426
}
427
+
428
+
if(atLimit){
429
+
responseText+='\n\n---\n\nP.S. You\'ve hit your chat limit for the day. Feel free to use search mode or email tfarrell01@gmail.com with any other questions!';
0 commit comments