Skip to content

Commit 4e742e1

Browse files
feat: add blog
1 parent b2c57a6 commit 4e742e1

File tree

10 files changed

+665
-25
lines changed

10 files changed

+665
-25
lines changed

app/_meta.global.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,15 @@ const meta = {
2424
'use-cases': {
2525
//collapsed: true,
2626
//type: 'page',
27-
27+
2828
},
2929
}
3030
},
31+
blog: {
32+
type: 'page',
33+
title: 'Blog',
34+
href: '/blog/'
35+
},
3136
tools: {
3237
type: 'page',
3338
title: 'Tools',

app/blog/basic-link-building/page.md

Lines changed: 166 additions & 0 deletions
Large diffs are not rendered by default.

app/blog/get-posts.ts

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { normalizePages } from 'nextra/normalize-pages'
2+
import { getPageMap } from 'nextra/page-map'
3+
4+
export async function getPosts() {
5+
const { directories } = normalizePages({
6+
list: await getPageMap('/blog'),
7+
route: '/blog'
8+
})
9+
10+
return directories
11+
.filter(post => post.name !== 'page')
12+
.sort((a, b) => {
13+
const dateA = a.frontMatter?.date ? new Date(a.frontMatter.date).getTime() : 0
14+
const dateB = b.frontMatter?.date ? new Date(b.frontMatter.date).getTime() : 0
15+
return dateB - dateA
16+
})
17+
}
18+
19+
export async function getTags() {
20+
const posts = await getPosts()
21+
const tags = posts.flatMap(post => post.frontMatter?.tags || [])
22+
return tags
23+
}

app/blog/layout.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { Layout } from 'nextra-theme-blog'
2+
import 'nextra-theme-blog/style.css'
3+
4+
export default function BlogLayout({
5+
children,
6+
}: {
7+
children: React.ReactNode
8+
}) {
9+
return (
10+
<Layout>
11+
{children}
12+
</Layout>
13+
)
14+
}

app/blog/page.tsx

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import Link from 'next/link'
2+
import { PostCard } from 'nextra-theme-blog'
3+
import { getPosts, getTags } from './get-posts'
4+
5+
export const metadata = {
6+
title: 'Blog'
7+
}
8+
9+
export default async function BlogIndexPage() {
10+
const tags = await getTags()
11+
const posts = await getPosts()
12+
const allTags = Object.create(null)
13+
14+
for (const tag of tags) {
15+
allTags[tag] ??= 0
16+
allTags[tag] += 1
17+
}
18+
19+
return (
20+
<div data-pagefind-ignore="all">
21+
<h1>{metadata.title}</h1>
22+
{Object.keys(allTags).length > 0 && (
23+
<div
24+
className="not-prose"
25+
style={{ display: 'flex', flexWrap: 'wrap', gap: '.5rem', marginBottom: '2rem' }}
26+
>
27+
{Object.entries(allTags).map(([tag, count]) => (
28+
<Link
29+
key={tag}
30+
href={`/blog/tags/${tag}`}
31+
className="nextra-tag"
32+
>
33+
{tag} ({count})
34+
</Link>
35+
))}
36+
</div>
37+
)}
38+
{posts.map(post => (
39+
<PostCard key={post.route} post={post} />
40+
))}
41+
</div>
42+
)
43+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
---
2+
title: Why Personal Assistants Are Stuck at $20/Month
3+
date: 2024-09-29
4+
description: A thought experiment on why AI personal assistants struggle to charge premium prices while coding assistants succeed.
5+
author: Slopus
6+
tags: ['AI', 'startups', 'product-market-fit']
7+
---
8+
9+
# why personal assistants are stuck at $20/month
10+
11+
thought experiment.
12+
13+
you want to sell a personal assistant. can you charge $2,300/month for it? why not. why is it $20?
14+
15+
because you're solving the wrong problem for the wrong people.
16+
17+
## founder psychology becomes product strategy
18+
19+
look at every personal assistant startup. in theory assistant help you with anything. but all demos are plan a night out with friends, update my wife on home renovation budget. is this the most value?
20+
21+
why no home run demo? think about who becomes a founder of personal assistant.
22+
23+
these founders operate from a specific worldview. they've won professionally. every day confirms it. prs merge faster. more features ship. bigger raises. their entire professional life is a scoreboard showing they're better than the people around them. this creates a specific psychology. a need to optimize. a need to win. a constant measurement of whether they're doing better than others.
24+
25+
now watch what happens friday night. they need to pick a restaurant. suddenly the scoreboard disappears. did they pick the best place? was there something better they missed? the framework that works all week breaks down. this creates anxiety. the same anxiety all their founder friends feel. because they're all the same person.
26+
27+
## the optimization addiction
28+
29+
look at how personal assistants describes their product. "coordinate with the squad and find a great table tonight." "discover the perfect events." "give me something cool to do this weekend."
30+
31+
this isn't market research talking. this is founder psychology talking. they're building the product they want. a product that promises to bring the feeling of winning to leisure.
32+
33+
but here's the problem. at work, optimization compounds. you ship code every day. you improve it adds up. everyone can directly compare your output with hundreds of other engineers. in leisure, nothing compounds. the ai tells you the best restaurant. you go. you have a good time. but you don't go to the second restaurant from the list tomorrow to compare. you'll never know if the ai's choice was better than what you would have picked. there's no benchmark. no control group. just a series of one-off experiences where value can't be measured.
34+
35+
this is why they only charge $20/month. not because the restaurants are bad. but because users have no way to know if the ai's picks are $1000/month better than their own choices. every interaction lacks a benchmark. you follow the recommendation but can't measure the improvement.
36+
37+
## the time savings fantasy
38+
39+
"but it saves time," they say. let's examine this. workers making $300k don't waste 4 hours researching weekend plans at work. that behavior is what separates them from low performers. they make sure work gets done first. saving 4 hours just gives them leisure time back, not work time.
40+
41+
By definition, low-value time. you're not using those 4 hours to make money. this isn't an unlock. it's a marginal improvement to something that wasn't a problem.
42+
43+
want to know what real leisure optimization would look like? here's the thought experiment. an ai that schedules your drug use. tells you exactly when to take what substances to maximize the high while ensuring you show up to work unimpaired. uses the time saved on planning to add three hours of recovery sleep. now you can do drugs twice as often with zero professional consequences.
44+
45+
one hour of that experience might equal an entire weekend of museum visits in raw pleasure units. the ai assistant enables something you couldn't safely do before. not marginally improving something you already do fine. that might actually be worth $500/month.
46+
47+
but that product is illegal. unethical. doesn't work if you know what drug users are like. But that gut feeling of truth tells you something. the value density of leisure optimization is bad business to build out. same engineering effort pointed at work performance could charge 25x more to 30x more people.
48+
49+
## the real market nobody sees
50+
51+
look at what personal assistants actually do. they give you more access to information. better search. more data sources. faster answers. more options. sounds good, right?
52+
53+
here's why that's structurally wrong for 95% of people. look at any company. sally makes $60k. her coworker in the same role makes $75k. same company. same tools. same slack channels. same wiki. same information access. think about your own team. best engineer vs mediocre engineer. same codebase. same documentation. same meetings. but one ships 8 features per month, the other ships 5.
54+
55+
why build tools for winners to win more? why not build for the worst employee instead? think about it. the mediocre employee at your company. why are they mid? seems fixable, right?
56+
57+
the difference isn't information access. it's behavior. which projects they choose. when they ask for help. how they communicate with their manager. ask any manager why they don't train the mediocre engineer to be like the best one. answer is always the same: too expensive. takes too much patience. months of coaching to change habits.
58+
59+
but ai has infinite patience. from day one. this isn't even a technology breakthrough. computers have always had infinite patience. we're just using it wrong. giving people better search when they need behavioral change. giving them more options when they need fewer. building slaves that take orders when they need managers that give them.
60+
61+
the $60k worker doesn't need better search results. they need an ai that tells them: stop taking initiative if your track record is bad. stop saying everythings fine to your manager. stop telling yourself you did enough today. go to lunch with the senior engineer instead of your underperforming friends. declare bankruptcy on this specific problem instead of struggling alone for days.
62+
63+
we're building ~~slaves~~ assistants that take orders when people need managers that give orders. the struggling worker doesn't need an ai that helps them execute more tasks faster. they need an ai that patiently, persistently changes what tasks they execute.
64+
65+
a real $1000/month personal assistant wouldn't add tasks to your calendar. it would delete half of them. wouldn't help you do more. would tell you to do less, but do it right. wouldn't give you information. would hide it from you. wouldn't be a slave. would be a boss.
66+
67+
## what about coding assistants? they charge $1000/month?
68+
69+
coding assistants sell because they has benchmarks. ship faster—measurable. fewer bugs—countable. more features—trackable. you know if the ai helped because you have your previous velocity to compare against. clear roi.
70+
71+
personal assistants hard to charge for because leisure optimization has no compounding, no obvious wins. the ai recommends a jazz club. you go. you have a good time. but you don't go to a different jazz club the next night to compare. you don't know if the ai's choice was $1000/month better than what you would have picked. there's no control group for your friday night.
72+
73+
## why this won't change
74+
75+
these founders can't escape their psychology. they've won at work. they want to win at leisure. they're building for themselves and their friends. the 3% who've already solved the economic problem and now want to optimize dinner.
76+
77+
meanwhile, 95% of workers need help with the actual economic problem. they need behavioral coaching. patience. someone to remove options, not add them. but that's not sexy. that's not what founders want for themselves. so they'll keep building $20/month toys for winners while ignoring the $500/month solution the rest of the world needs.
78+
79+
the tragedy isn't that these products fail. it's that the same engineering effort could transform millions of careers. same llm. same interface. same code. different problem. 25x the price. 30x the market. but that would require founders to build for people unlike themselves.
80+
81+
and that's the one thing they can't optimize for.

content/versions/release-notes.mdx

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Release Notes
2+
3+
Happy Coder gets better with every update. Here's what's new in the mobile app that connects you to Claude Code from anywhere.
4+
5+
## Version 1.4.0 - 2025-09-12
6+
7+
**Code smarter with AI assistance and instant connections**
8+
9+
This update makes remote coding feel instant. You can now start a session with one tap - no more typing commands first. The app stays ready in the background on your computer, waiting for you to connect.
10+
11+
What's new:
12+
- **AI code completion** built right in - get smart suggestions as you type
13+
- **Always ready to connect** - your computer waits for you, so you can start coding instantly
14+
- **One-tap to start** - just open the app and you're connected
15+
- **Connect your AI accounts** - link your Anthropic or OpenAI accounts for easy access
16+
17+
## Version 1.3.0 - 2025-08-29
18+
19+
**Your GitHub profile, now in Happy**
20+
21+
We've made it easy to bring your developer identity into Happy. Connect your GitHub account and see your profile right in the app. Everything stays secure with encrypted storage.
22+
23+
What's new:
24+
- **GitHub sign-in** - connect your account safely with one tap
25+
- **Your profile shows up** - see your GitHub picture, name, and bio
26+
- **Extra security** - we encrypt your connection info before storing it
27+
- **Better settings page** - see your profile when you're connected
28+
- **Easy disconnect** - remove the connection anytime (with a safety check first)
29+
- **Clear status** - always know if you're connected or not
30+
31+
## Version 1.2.0 - 2025-06-26
32+
33+
**Connect faster, code in the dark, talk in any language**
34+
35+
This update makes everything smoother. Connect new devices with a QR code. Switch to dark mode to save your eyes. Talk to the voice assistant in your preferred language.
36+
37+
What's new:
38+
- **QR code pairing** - scan to connect new devices instantly
39+
- **Dark mode** - easier on your eyes at night (turns on automatically)
40+
- **Faster voice responses** - the assistant responds much quicker now
41+
- **See what changed** - modified files show a badge in your session list
42+
- **15+ languages** - talk to the assistant in your preferred language
43+
44+
## Version 1.0.0 - 2025-05-12
45+
46+
**The beginning: Secure mobile coding with Claude Code**
47+
48+
Welcome to Happy - your private, encrypted way to use Claude Code on your phone. Everything you do stays private, syncs instantly, and works on any device.
49+
50+
What's new:
51+
- **Complete privacy** - everything is encrypted before it leaves your phone
52+
- **Voice coding** - talk naturally about what you want to build
53+
- **Browse your files** - see your code with colors and navigate your projects
54+
- **Instant sync** - changes appear on all your devices right away
55+
- **Works everywhere** - use it on iPhone, Android, or any web browser
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Happy Coder Mobile App Release Notes
2+
3+
## Overview
4+
This document contains the complete release history for the Happy Coder mobile app, which serves as a secure mobile companion for Claude Code. The app enables remote development sessions, voice-powered coding, and seamless synchronization across devices.
5+
6+
## Version 4 - September 12, 2025
7+
8+
### Major Features: Codex Integration and Daemon Mode
9+
10+
This release represents a fundamental shift in how developers interact with their remote development environments. The introduction of Codex support brings advanced AI-powered code completion and generation capabilities directly to mobile devices, while Daemon Mode revolutionizes session management by eliminating manual CLI startup requirements.
11+
12+
#### Key Capabilities Introduced:
13+
- **Codex Support**: Full integration with OpenAI Codex for intelligent code completion, generation, and transformation capabilities. This enables developers to leverage AI assistance for complex coding tasks directly from their mobile devices.
14+
- **Daemon Mode**: Now the default operation mode, the daemon runs continuously on your development machine, listening for incoming connections. This eliminates the need to manually start the CLI before each session.
15+
- **Instant Session Launch**: Single-tap session initiation from mobile devices, with automatic connection to your development machine without any manual intervention.
16+
- **Account Integration**: Added ability to connect both Anthropic and OpenAI accounts directly to your Happy account for seamless API key management.
17+
18+
## Version 3 - August 29, 2025
19+
20+
### GitHub Integration and Identity Management
21+
22+
This update focuses on bringing developer identity into the Happy ecosystem while maintaining the platform's commitment to privacy and security. The GitHub integration represents a significant step toward creating a unified developer experience.
23+
24+
#### Features Added:
25+
- **GitHub OAuth Authentication**: Secure account connection using industry-standard OAuth flow, ensuring your credentials never pass through Happy's servers in plain text.
26+
- **Profile Synchronization**: Automatic import of GitHub avatar, display name, and bio information to personalize your Happy experience.
27+
- **Enhanced Security**: All GitHub tokens are encrypted before storage on Happy's backend, providing an additional layer of protection beyond standard database security.
28+
- **Improved Settings UI**: Redesigned settings interface that displays your connected GitHub profile with clear visual indicators.
29+
- **Quick Disconnect**: One-tap disconnection with confirmation dialog to prevent accidental unlinking.
30+
- **Connection Status Indicators**: Clear visual feedback showing whether accounts are connected, disconnected, or experiencing issues.
31+
32+
## Version 2 - June 26, 2025
33+
34+
### Enhanced Connectivity and Visual Polish
35+
36+
This release concentrated on improving the user experience through better device connectivity options, comprehensive theming support, and more intelligent voice interactions.
37+
38+
#### Improvements Delivered:
39+
- **QR Code Authentication**: Implemented secure device pairing through QR codes, allowing instant connection between mobile devices and desktop installations without manual token entry.
40+
- **Dark Theme Support**: Complete dark mode implementation with automatic detection of system preferences, reducing eye strain during late-night coding sessions.
41+
- **Voice Assistant Optimization**: Significant performance improvements resulting in 40% faster response times and reduced latency in voice-to-code translation.
42+
- **File Status Indicators**: Visual badges on session list items showing which sessions have modified files, helping developers track work in progress.
43+
- **Multilingual Support**: Voice assistant now supports 15+ languages with user-selectable preferred language, expanding accessibility for global developers.
44+
45+
## Version 1 - May 12, 2025
46+
47+
### Initial Release: Foundation for Secure Mobile Development
48+
49+
The inaugural release establishes Happy as a privacy-focused mobile companion for Claude Code, emphasizing security and seamless cross-device synchronization.
50+
51+
#### Core Features Established:
52+
- **End-to-End Encryption**: All session data is encrypted on-device before transmission, ensuring complete privacy even from Happy's servers.
53+
- **Voice Assistant**: Natural conversation interface for code discussions, refactoring requests, and development planning while away from the keyboard.
54+
- **File Manager**: Experimental file browser with syntax highlighting for 50+ languages and tree-based navigation for exploring project structures.
55+
- **Real-Time Sync**: WebSocket-based synchronization ensuring all devices reflect the current session state within milliseconds.
56+
- **Cross-Platform Support**: Native applications for iOS and Android, plus a responsive web interface for desktop browsers, all sharing the same codebase for consistency.
57+
58+
## Technical Architecture Notes
59+
60+
### Security Model
61+
- All sensitive data encrypted using AES-256-GCM
62+
- OAuth tokens stored with additional application-level encryption
63+
- Session keys rotated every 24 hours
64+
- No plain-text storage of API keys or credentials
65+
66+
### Synchronization Protocol
67+
- WebSocket connections with automatic reconnection
68+
- Conflict-free replicated data types (CRDTs) for merge resolution
69+
- Delta synchronization to minimize bandwidth usage
70+
- Offline capability with automatic sync on reconnection
71+
72+
### Voice Processing Pipeline
73+
- On-device speech-to-text for privacy
74+
- Context-aware command interpretation
75+
- Natural language to code transformation
76+
- Support for conversational corrections and refinements

0 commit comments

Comments
 (0)