Skip to content

Commit 362d7d6

Browse files
Fix styling with latest black version
1 parent 2b78db9 commit 362d7d6

File tree

1 file changed

+33
-67
lines changed

1 file changed

+33
-67
lines changed

app/streamlit_app.py

Lines changed: 33 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,7 @@ def load_data():
272272
st.markdown(
273273
'<p class="sub-header">📋 Problem Statement</p>', unsafe_allow_html=True
274274
)
275-
st.markdown(
276-
"""
275+
st.markdown("""
277276
Knowledge workers (academic researchers, PhD students, consultants, journalists) struggle to
278277
synthesize information from multiple sources. They collect hundreds of articles, papers, and notes
279278
but lack tools to connect insights across sources and resurface relevant knowledge when needed.
@@ -282,8 +281,7 @@ def load_data():
282281
- Add AI to existing workflows without redesigning UX (incremental, not transformative)
283282
- Target everyone, failing to solve specific workflows deeply (horizontal, not vertical)
284283
- Focus on individual note-taking rather than research synthesis (features, not jobs-to-be-done)
285-
"""
286-
)
284+
""")
287285

288286
# Opportunity
289287
st.markdown("")
@@ -292,8 +290,7 @@ def load_data():
292290
col1, col2 = st.columns(2)
293291

294292
with col1:
295-
st.markdown(
296-
"""
293+
st.markdown("""
297294
**Market Gap:**
298295
- 7 major competitors, all horizontal platforms
299296
- No vertical specialist for research synthesis
@@ -304,12 +301,10 @@ def load_data():
304301
- Cross-source synthesis (unique value)
305302
- Academic database integration
306303
- Research knowledge graph (switching costs)
307-
"""
308-
)
304+
""")
309305

310306
with col2:
311-
st.markdown(
312-
"""
307+
st.markdown("""
313308
**Business Model:**
314309
- Freemium: 50 documents free
315310
- Pro: $15/month (individual researchers)
@@ -320,8 +315,7 @@ def load_data():
320315
- CAC: $35 (blended across channels)
321316
- Payback: 3.3 months
322317
- Gross Margin: 70%
323-
"""
324-
)
318+
""")
325319

326320
# Strategic Insight
327321
st.markdown(
@@ -351,8 +345,7 @@ def load_data():
351345
)
352346

353347
with tab1:
354-
st.markdown(
355-
"""
348+
st.markdown("""
356349
**Goals:**
357350
- Recruit 100 beta users (academic researchers)
358351
- Achieve 40% Day-7 activation
@@ -366,12 +359,10 @@ def load_data():
366359
- Rapid iteration (2 updates/week)
367360
368361
**Budget:** $5,000
369-
"""
370-
)
362+
""")
371363

372364
with tab2:
373-
st.markdown(
374-
"""
365+
st.markdown("""
375366
**Goals:**
376367
- Product Hunt #1 Product of the Day
377368
- 1,000 sign-ups in first week
@@ -385,12 +376,10 @@ def load_data():
385376
- Reddit AMAs
386377
387378
**Budget:** $15,000
388-
"""
389-
)
379+
""")
390380

391381
with tab3:
392-
st.markdown(
393-
"""
382+
st.markdown("""
394383
**Goals:**
395384
- 5,000 total users
396385
- 10% free-to-paid conversion
@@ -404,8 +393,7 @@ def load_data():
404393
- Conference presence
405394
406395
**Budget:** $30,000
407-
"""
408-
)
396+
""")
409397

410398
elif selected_page == "Market Opportunity":
411399
st.markdown(
@@ -432,8 +420,7 @@ def load_data():
432420
st.plotly_chart(fig, use_container_width=True)
433421

434422
with col2:
435-
st.markdown(
436-
f"""
423+
st.markdown(f"""
437424
**TAM (Total Addressable Market)**
438425
- {MARKET_SIZE['tam']['size']:,} global knowledge workers
439426
- Source: {MARKET_SIZE['tam']['source']}
@@ -454,8 +441,7 @@ def load_data():
454441
- {int(MARKET_SIZE['som']['size'] * 0.10):,} paying customers
455442
- ${int(MARKET_SIZE['som']['size'] * 0.10 * 15):,} MRR
456443
- **${int(MARKET_SIZE['som']['size'] * 0.10 * 15 * 12 / 1_000_000)}M ARR**
457-
"""
458-
)
444+
""")
459445

460446
st.markdown("---")
461447

@@ -625,8 +611,7 @@ def load_data():
625611
col1, col2, col3 = st.columns(3)
626612

627613
with col1:
628-
st.markdown(
629-
"""
614+
st.markdown("""
630615
### FREE
631616
**$0/month**
632617
@@ -641,12 +626,10 @@ def load_data():
641626
642627
---
643628
**Target:** Students, explorers
644-
"""
645-
)
629+
""")
646630

647631
with col2:
648-
st.markdown(
649-
"""
632+
st.markdown("""
650633
### PRO ⭐
651634
**$15/month**
652635
@@ -662,12 +645,10 @@ def load_data():
662645
---
663646
**Target:** PhD students, researchers
664647
**Save 20%:** $144/year
665-
"""
666-
)
648+
""")
667649

668650
with col3:
669-
st.markdown(
670-
"""
651+
st.markdown("""
671652
### TEAM
672653
**$30/user/month**
673654
@@ -683,8 +664,7 @@ def load_data():
683664
---
684665
**Target:** Research labs
685666
**Save 20%:** $288/year
686-
"""
687-
)
667+
""")
688668

689669
st.markdown("---")
690670

@@ -762,14 +742,12 @@ def load_data():
762742

763743
st.plotly_chart(fig, use_container_width=True)
764744

765-
st.markdown(
766-
"""
745+
st.markdown("""
767746
**Pricing Positioning:**
768747
- **25% premium** vs. average generalist tool ($12)
769748
- **Justified by vertical value:** Save $1,875/month in researcher time
770749
- **ROI:** $15 cost → $1,875 value = **125x ROI**
771-
"""
772-
)
750+
""")
773751

774752
# st.markdown("---")
775753

@@ -964,32 +942,26 @@ def load_data():
964942
st.markdown("### 📝 Spending Breakdown")
965943

966944
# Create a clean visual list using st.info or markdown
967-
st.info(
968-
"""
945+
st.info("""
969946
**Month 1: Foundation ($5k)**
970947
- Server Infrastructure setup
971948
- Initial Content Creation
972949
- Community Launch events
973-
"""
974-
)
950+
""")
975951

976-
st.info(
977-
"""
952+
st.info("""
978953
**Month 2: Validation ($15k)**
979954
- Google Ads testing
980955
- Influencer partnerships
981956
- SEO tooling & backlinks
982-
"""
983-
)
957+
""")
984958

985-
st.info(
986-
"""
959+
st.info("""
987960
**Month 3: Scaling ($30k)**
988961
- Aggressive retargeting
989962
- Affiliate program launch
990963
- Sales team commisions
991-
"""
992-
)
964+
""")
993965

994966
# Channel Strategy
995967
st.markdown(
@@ -1323,8 +1295,7 @@ def create_milestone_card(month, phase, data):
13231295
col1, col2 = st.columns(2)
13241296

13251297
with col1:
1326-
st.markdown(
1327-
"""
1298+
st.markdown("""
13281299
**Market Position:**
13291300
- ✅ White space in Specialist Individual quadrant
13301301
- ✅ 2 competitors vs. 5 in generalist space
@@ -1336,12 +1307,10 @@ def create_milestone_card(month, phase, data):
13361307
- Academic database integration (10/10 vs 0-4)
13371308
- Citation management (10/10 vs 0-5)
13381309
- Knowledge graph visualization (9/10 vs 3-10)
1339-
"""
1340-
)
1310+
""")
13411311

13421312
with col2:
1343-
st.markdown(
1344-
"""
1313+
st.markdown("""
13451314
**Business Model Health:**
13461315
- ✅ LTV/CAC: 7.2x (Target: >3.0x)
13471316
- ✅ Payback: 3.3 months (Target: <12mo)
@@ -1353,8 +1322,7 @@ def create_milestone_card(month, phase, data):
13531322
- 500 paying customers (10% conversion)
13541323
- $7,500 MRR ($90K ARR)
13551324
- Break-even: Month 9 projected
1356-
"""
1357-
)
1325+
""")
13581326

13591327
# st.markdown("---")
13601328

@@ -1386,8 +1354,6 @@ def create_milestone_card(month, phase, data):
13861354
<p>Built with Python, Streamlit, Pandas, NumPy, Plotly, Matplotlib & Seaborn <strong>| Last Updated:</strong> {}</p>
13871355
<p>© 2026 <strong>Ayush Saxena</strong>. All rights reserved.</p>
13881356
</div>
1389-
""".format(
1390-
datetime.now().strftime("%d-%b-%Y At %I:%M %p")
1391-
),
1357+
""".format(datetime.now().strftime("%d-%b-%Y At %I:%M %p")),
13921358
unsafe_allow_html=True,
13931359
)

0 commit comments

Comments
 (0)