Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .gitallowed
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# git-secrets allow-list for false positives on public B2B conference
# proper nouns that collide with cryptographic-key regex patterns.
# Keep entries narrow: each line is a regex, one per line.
RSA, SaaStr
on RSA last year
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ A modern, glassmorphism-styled personal portfolio and blog built with HTML5, CSS
- Dark/Light theme with automatic system detection
- Blog with articles on startups, product development, and tech
- Professional sections:
- Current ventures (Luminik, SnowOptix)
- Professional experience (Bain & Company, Mainteny)
- Current venture (Luminik)
- Professional experience (SnowOptix, Bain & Company, Mainteny)
- Technical expertise
- Education
- Google Analytics integration
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
33 changes: 33 additions & 0 deletions blog/building-alone-in-2026.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/building-alone-in-2026.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "What It Actually Costs to Build a Serious Product Alone in 2026",
"description": "The real cost structure of building a serious product as a solo founder in 2026. Tools, workflows, and what changed from the team-based development of 2014.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2026-02-10",
"dateModified": "2026-02-10",
"mainEntityOfPage": "https://prasad.tech/blog/building-alone-in-2026.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Engineering"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down Expand Up @@ -147,6 +176,10 @@ <h4 style="margin-bottom: 16px; color: var(--color-text-primary);">Monthly AI To
That's roughly $1,500–2,000/month on AI tooling alone, as a bootstrapped solo founder. This isn't indulgence. It's the infrastructure cost of compressing a team into one desk.
</p>

<p class="reveal">
A note I'd add two months later: the software subscriptions above are half the story. The other half is a dedicated machine that runs as an always-on operator layer for the company. I added a Mac Mini to this setup in April 2026 and the marginal monthly cost for the new capability was zero. The orchestration loop runs on a free tier and heavy work still delegates to Claude Code on the same Max plan. I wrote about it in <a href="dedicated-mac-mini-solo-startup.html">Building Toward a Team of Digital Employees on a Mac Mini: Hermes Agent, Claude Code (ACP), and gbrain</a>.
</p>

<h2 class="reveal">What a Working Day Actually Looks Like</h2>

<p class="reveal">
Expand Down
639 changes: 639 additions & 0 deletions blog/dedicated-mac-mini-solo-startup.html

Large diffs are not rendered by default.

29 changes: 29 additions & 0 deletions blog/event-marketing-roi.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/event-marketing-roi.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Why B2B Event Marketing ROI is Broken",
"description": "Companies spend 20-30% of marketing budget on events but can't prove the ROI. Here's the systematic approach to change that.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2026-01-26",
"dateModified": "2026-01-26",
"mainEntityOfPage": "https://prasad.tech/blog/event-marketing-roi.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Event Marketing"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down
33 changes: 33 additions & 0 deletions blog/gstack-solo-builder.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/gstack-solo-builder.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "gstack, CLAUDE.md, and the Work That Frameworks Don't Cover",
"description": "I've been running a workflow similar to gstack since mid-2025. Role-based agents, CLAUDE.md files, specs-driven development. Here's what I've learned about what works and what's still unsolved.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2026-03-24",
"dateModified": "2026-03-24",
"mainEntityOfPage": "https://prasad.tech/blog/gstack-solo-builder.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Engineering"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down Expand Up @@ -181,6 +210,10 @@ <h3 class="reveal">2. Cross-Session Coordination Needs a Specs Repo</h3>
This is the living document problem: how do you maintain a single source of truth that agents can reference across sessions, across days, across weeks? gstack doesn't address it. I'm not sure any framework can. It might be inherently manual work.
</p>

<p class="reveal">
An update since I wrote this: part of the answer turned out to be a hardware-level shift, not a framework one. Moving the specs into a local knowledge graph that a 24/7 agent re-ingests nightly shrinks the drift window from "whenever I remember to look" to "since 3am." I wrote up that setup in <a href="dedicated-mac-mini-solo-startup.html">Building Toward a Team of Digital Employees on a Mac Mini: Hermes Agent, Claude Code (ACP), and gbrain</a>.
</p>

<h3 class="reveal">3. Parallel Agents Need Isolation, Not Just Roles</h3>

<p class="reveal">
Expand Down
21 changes: 17 additions & 4 deletions blog/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -103,8 +103,21 @@ <h1 class="reveal reveal-delay-1">Thoughts & Insights</h1>
<section class="section" id="blog-content" style="padding-top: 0;">
<div class="container">
<div class="blog-grid">
<!-- Post 0 - Mar 2026 -->
<a href="gstack-solo-builder.html" class="glass-card blog-card reveal reveal-delay-1">
<!-- Post 0 - Apr 2026 -->
<a href="dedicated-mac-mini-solo-startup.html" class="glass-card blog-card reveal reveal-delay-1">
<div class="blog-content">
<span class="blog-category">Engineering</span>
<h4 class="blog-title">Building Toward a Team of Digital Employees on a Mac Mini: Hermes Agent, Claude Code (ACP), and gbrain</h4>
<p class="blog-excerpt">Moving Luminik's always-on operations off my MacBook Pro onto a dedicated Mac Mini M4. Hermes Agent, Claude Code via ACP, local gbrain knowledge base, three upstream bugs I chased across Hermes and gbrain (with PR links), and where this is heading.</p>
<div class="blog-meta">
<span><i class="far fa-calendar"></i> Apr 2026</span>
<span><i class="far fa-clock"></i> 13 min read</span>
</div>
</div>
</a>

<!-- Post 1 - Mar 2026 -->
<a href="gstack-solo-builder.html" class="glass-card blog-card reveal reveal-delay-2">
<div class="blog-content">
<span class="blog-category">Engineering</span>
<h4 class="blog-title">gstack, CLAUDE.md, and the Work That Frameworks Don't Cover</h4>
Expand All @@ -116,8 +129,8 @@ <h4 class="blog-title">gstack, CLAUDE.md, and the Work That Frameworks Don't Cov
</div>
</a>

<!-- Post 1 - Feb 2026 -->
<a href="building-alone-in-2026.html" class="glass-card blog-card reveal reveal-delay-2">
<!-- Post 2 - Feb 2026 -->
<a href="building-alone-in-2026.html" class="glass-card blog-card reveal reveal-delay-3">
<div class="blog-content">
<span class="blog-category">Engineering</span>
<h4 class="blog-title">What It Actually Costs to Build a Serious Product Alone in 2026</h4>
Expand Down
29 changes: 29 additions & 0 deletions blog/mvp-three-months.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/mvp-three-months.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "From Idea to MVP in 3 Months as the Only Developer",
"description": "How I built Mainteny's MVP as the sole developer in 3 months before raising a $2.7M seed round. A practical guide for technical founders building alone.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2025-08-15",
"dateModified": "2025-08-15",
"mainEntityOfPage": "https://prasad.tech/blog/mvp-three-months.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Product Development"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down
29 changes: 29 additions & 0 deletions blog/raising-seed-round.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/raising-seed-round.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "The Seed Fundraising Playbook",
"description": "A practical guide to raising your first seed round. Cold outreach, investor meetings, term sheets, and the mistakes to avoid.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2025-09-15",
"dateModified": "2025-09-15",
"mainEntityOfPage": "https://prasad.tech/blog/raising-seed-round.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Fundraising"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down
29 changes: 29 additions & 0 deletions blog/selling-before-building.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/selling-before-building.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Selling Before Building: How I Got to Revenue Without Writing Code",
"description": "I signed my first paying customer at Luminik before writing a single line of code. Here's exactly how that worked and why technical founders should consider this approach.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2026-02-15",
"dateModified": "2026-02-15",
"mainEntityOfPage": "https://prasad.tech/blog/selling-before-building.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Founder Journey"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down
29 changes: 29 additions & 0 deletions blog/snowflake-cost-optimization.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/snowflake-cost-optimization.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Side Projects That Lead to Unexpected Discoveries",
"description": "How building SnowOptix as a side project led to conversations that revealed a bigger opportunity - and why following curiosity beats following plans.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2025-12-15",
"dateModified": "2025-12-15",
"mainEntityOfPage": "https://prasad.tech/blog/snowflake-cost-optimization.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Side Projects"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down
29 changes: 29 additions & 0 deletions blog/technical-founder-sales.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/technical-founder-sales.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Technical Founders Can Sell: Here's How",
"description": "Engineers have a hidden superpower in B2B sales: they actually understand what they're selling. Here's how to use deep product knowledge to outsell traditional salespeople.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2025-11-15",
"dateModified": "2025-11-15",
"mainEntityOfPage": "https://prasad.tech/blog/technical-founder-sales.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Sales"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down
29 changes: 29 additions & 0 deletions blog/zero-to-one-bain.html
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,35 @@

<!-- Modern CSS -->
<link rel="stylesheet" href="../assets/css/modern.css">
<link rel="canonical" href="https://prasad.tech/blog/zero-to-one-bain.html" />
<!-- JSON-LD: BlogPosting -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "BlogPosting",
"headline": "Building a $3.6M ARR Product Inside a Consulting Firm",
"description": "Lessons from building Aura at Bain & Company - the unique challenges and advantages of venture building inside a large organization.",
"author": {
"@type": "Person",
"name": "Prasad Subrahmanya",
"url": "https://prasad.tech/",
"sameAs": [
"https://linkedin.com/in/prasadus",
"https://github.com/prasadus92"
]
},
"datePublished": "2025-10-15",
"dateModified": "2025-10-15",
"mainEntityOfPage": "https://prasad.tech/blog/zero-to-one-bain.html",
"publisher": {
"@type": "Person",
"name": "Prasad Subrahmanya"
},
"image": "https://prasad.tech/assets/images/header/prasad.jpeg",
"articleSection": "Startup Journey"
}
</script>

</head>
<body>
<!-- Preloader -->
Expand Down
Loading