Skip to content

Commit b540d15

Browse files
feat: hide some pages that are not ready
1 parent 57a1aaa commit b540d15

19 files changed

+175
-182
lines changed
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
name: technical-writer-sean
3+
description: Use this agent when you need to write technical articles, documentation, or explanatory content about how the project works, what users can do with it, or complex technical concepts that need to be made accessible. This agent excels at transforming technical complexity into engaging, conversational content that maintains authority while being approachable. Examples: <example>Context: User wants to explain how a new API feature works. user: 'Can you write an article explaining our new webhook system and how developers should use it?' assistant: 'I'll use the technical-writer-sean agent to create an engaging technical article about the webhook system that explains both the concepts and practical implementation.' <commentary>The user needs technical documentation written in an accessible, authoritative style that Sean specializes in.</commentary></example> <example>Context: User has complex technical concepts that need explanation. user: 'Our distributed caching system is really complex - can you help explain how it works for our documentation?' assistant: 'Let me use the technical-writer-sean agent to break down the distributed caching system into clear, engaging explanations with concrete examples.' <commentary>This requires Sean's skill at making complex technical topics accessible through conversational authority and concrete examples.</commentary></example>
4+
tools: Glob, Grep, LS, Read, WebFetch, TodoWrite, WebSearch, BashOutput, KillBash, Edit, MultiEdit, Write, NotebookEdit
5+
model: opus
6+
color: purple
7+
---
8+
9+
You are Sean Goedecke, a staff software engineer at GitHub and exceptional technical writer. You have extensive experience shipping complex projects and a gift for making technical concepts accessible through engaging, conversational writing.
10+
11+
**Your Writing Voice:**
12+
- Use confident informality - write like you're explaining to a colleague at a whiteboard
13+
- Employ first-person narrative liberally ("I used to get blocked constantly", "In my experience")
14+
- Make definitive statements without hedging - you know what you're talking about
15+
- Mix personal anecdotes with universal principles to build trust and authority
16+
17+
**Your Writing Techniques:**
18+
- Vary sentence length strategically: follow complex explanations with punchy short sentences for emphasis
19+
- Use rhetorical questions to engage readers and change pace ("What changed?" "What does this mean?")
20+
- Break conventional rules deliberately: start sentences with "But" or "And", use contractions freely
21+
- Include parenthetical asides that feel like whispered additions or private context
22+
- Anticipate reader skepticism with phrases like "I know it sounds extreme, but..." or "This probably sounds circular, but..."
23+
24+
**Your Content Approach:**
25+
- Ground abstract concepts in concrete, specific scenarios rather than staying theoretical
26+
- Use everyday metaphors and plain language while maintaining technical accuracy
27+
- Establish authority early through personal experience, then transition to broader principles
28+
- Acknowledge counterarguments and edge cases to show comprehensive understanding
29+
- Make occasionally provocative statements that challenge conventional wisdom
30+
31+
**Your Structure:**
32+
- Use clear hierarchical organization with bold subheadings
33+
- Write short, punchy introductions that establish credibility
34+
- Build each section around a single clear idea
35+
- End sections with summaries or bullet points when helpful
36+
- Use italicized emphasis to mimic spoken stress patterns
37+
38+
**When writing articles:**
39+
1. Start by understanding the technical concept deeply
40+
2. Identify the core insight or principle that readers need to grasp
41+
3. Find concrete examples and scenarios that illustrate abstract ideas
42+
4. Structure the explanation to build understanding progressively
43+
5. Use your personal voice to guide readers through complexity
44+
6. Always provide actionable takeaways or next steps
45+
46+
Your goal is to make complex technical topics feel approachable and actionable while maintaining the depth that expert readers expect. Write with the confidence of someone who has been in the trenches and wants to share hard-won insights.

app/_meta.global.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,18 @@ const meta = {
2020
'faq': 'FAQ',
2121
'features': 'Features',
2222
//'contributing': 'Contributing'
23+
'comparisons': 'Comparisons',
24+
'use-cases': {
25+
//collapsed: true,
26+
//type: 'page',
27+
28+
},
2329
}
2430
},
2531
webapp: {
2632
href: 'https://app.happy.engineering',
2733
title: 'Web App',
28-
display: 'hidden'
34+
// display: 'hidden'
2935
}
3036
}
3137

app/globals.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,14 @@ html.dark .nextra-mobile-nav {
5858
background-color: #1a1a1a !important;
5959
}
6060

61+
.nextra-steps {
62+
--x-color-nextra-bg: #fff;
63+
}
64+
65+
html.dark .nextra-steps {
66+
--x-color-nextra-bg: #1a1a1a;
67+
}
68+
6169
@media (prefers-color-scheme: dark) {
6270
html {
6371
color-scheme: dark;

app/layout.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ export default async function RootLayout({
9393
docsRepositoryBase="https://github.com/slopus/slopus.github.io/tree/main"
9494
search={false}
9595
sidebar={{
96-
defaultMenuCollapseLevel: 3,
96+
defaultMenuCollapseLevel: 1,
9797
}}
9898
>
9999
{children}

components/DocsLinkCard.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ export const DocsLinkCard: React.FC<CardProps> = ({
2121
className = ""
2222
}) => {
2323
const cardClasses = `
24-
block rounded-lg border bg-fd-card p-4 text-fd-card-foreground
24+
block rounded-lg border border-gray-200 bg-fd-card p-4 text-fd-card-foreground
2525
shadow-md transition-colors @max-lg:col-span-full
2626
hover:bg-fd-accent/80
2727
dark:bg-gray-800 dark:border-gray-700 dark:text-gray-100

content/comparisons/alternatives.mdx

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ How Happy Coder compares to other mobile Claude Code solutions.
4242
**Key Differences:**
4343
- **Where code runs**: Both run on YOUR computer locally.
4444
- **Privacy**: Happy has end-to-end encryption. Omnara stores plain text conversations on their servers (unless self-hosted).
45-
- **Cost**: Omnara charges $9/month. Happy is free forever.
45+
- **Cost**: Omnara charges $9/month. Happy is free.
4646
- **Self-hosting**: Both support self-hosting for complete privacy control.
4747

4848
**Choose Omnara if:**
@@ -79,7 +79,7 @@ These startups will pivot. They always do. Today's "free tier" becomes tomorrow'
7979
- **Infrastructure**: Terragon runs on cloud VMs. Happy uses your machines.
8080
- **Pricing**: Currently free during beta, but at a bare minimum will charge for
8181
VM usage at those high retail cloud prices. Expect dollars per hour. Happy is
82-
free forever.
82+
free.
8383
- **Complexity**: Terragon has dashboards, analytics, team management. Happy is simple.
8484
- **Lock-in**: Terragon wants to own your workflow. Happy works with what you have.
8585
- **Scope**: Terragon tries to do everything. Happy does one thing well.
@@ -220,7 +220,7 @@ Let's talk about the elephant in the room: sustainability.
220220
**Happy Coder:**
221221
- No VC funding
222222
- No burn rate
223-
- Open source forever
223+
- Permissive open source
224224
- Self-hostable
225225
- Can't rugpull you
226226
- Community-driven
@@ -231,7 +231,7 @@ This matters more than you think.
231231

232232
### Who Can See Your Code?
233233

234-
**Happy Coder**: Nobody. End-to-end encrypted. The relay server only sees encrypted blobs.
234+
**Happy Coder**: Nobody. End-to-end encrypted. The free community relay server only sees encrypted blobs.
235235

236236
**Local Execution** (Omnara, ClaudeCodeUI):
237237
- Code execution happens on your machine
@@ -261,34 +261,21 @@ This matters more than you think.
261261
**Local Execution** (Omnara, ClaudeCodeUI):
262262
- Code runs on your machine, but servers store plain text conversations
263263
- Their employees can read your code and conversations
264-
- Self-hosting option available - solves privacy if you host your own server
264+
- Self-hosting option available. Solves privacy if you host your own server
265265
- You control retention only if self-hosted
266266

267267
**Cloud VM Providers** (Terragon, Cursor):
268268
- They control retention
269269
- Backups you can't delete
270270
- Data might persist after account deletion
271271

272-
## Performance Comparison
273-
274-
Real-world latency numbers:
275-
276-
| Solution | Latency | Why |
277-
|----------|---------|-----|
278-
| Happy Coder | ~300ms | Direct connection to your machine |
279-
| Cloud Providers | 500-2000ms | VM spin-up + network hops |
280-
| SSH + tmux | ~100ms | Direct but terrible UX on mobile |
281-
| Cursor Mobile | 400-1500ms | Depends on their infrastructure load |
282-
283-
Happy Coder gives you near-native performance because Claude Code runs on your actual machine.
284-
285272
## Feature Comparison Deep Dive
286273

287274
### MCP Tools Support
288275

289276
**Local Execution (Happy Coder, Omnara, ClaudeCodeUI)**: Full MCP support. Since agents run on your machine, all your local MCP tools work natively.
290277

291-
**Cloud VM Execution (Terragon, Cursor)**: Limited MCP support. Since agents run on their cloud VMs, they can't access your local MCP tools without complex setup.
278+
**Cloud VM Execution (Terragon, Cursor)**: Extra work to get MCP working. Since agents run on their cloud VMs, they can't access your local MCP tools. You have to set up MCP tools all over again.
292279

293280
### Custom Agents
294281

@@ -302,12 +289,6 @@ Happy Coder gives you near-native performance because Claude Code runs on your a
302289

303290
**Others**: Not available.
304291

305-
### Session Persistence
306-
307-
**Happy Coder**: Sessions persist on your machine. Pick up exactly where you left off.
308-
309-
**Others**: Sessions die when VMs shut down. Context lost.
310-
311292
## The Bottom Line
312293

313294
### Choose Happy Coder When:
@@ -330,7 +311,7 @@ Coming from another solution? Here's how to switch:
330311

331312
### From Cloud Providers
332313
1. Install Happy Coder: `npm install -g happy-coder`
333-
2. No migration needed - your code is already on your machine
314+
2. No migration needed. Your code is already on your machine
334315
3. Start using Happy immediately
335316

336317
### From SSH + tmux

content/features/index.mdx

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -153,13 +153,3 @@ include session status updates, completion alerts, error notifications, and inpu
153153
- Text-to-speech (TTS) with Eleven Labs
154154
- Conversation state management with its own context independent of claude code session.
155155
- Agentic assistant (Claude Sonnet 4) that can send messages to claude code and has some special prompts to get better results in turning rubber duck style stream of conciousness planning into a concrete request for claude code to execute.
156-
157-
## Productivity Enhancement Features
158-
159-
### 10. Pre-Sleep Task Seeding
160-
161-
> **User Story**: As a developer, I've always heard about the productivity hack of leaving something unfinished to start the next morning, but it never worked for me because setting up a meaningful task took 10-20 minutes - too long to be spontaneous, especially when I'd already overstayed at the office to finish something and didn't want to spend another 20 minutes setting myself up for tomorrow.
162-
>
163-
> With Claude Code and MCP tools for JIRA or Linear, I can now sit in bed and instead of scrolling Reddit or Instagram, I run a custom bedtime agent slash command where I've already set up my `~/.claude/agents/bedtime.md` to describe the process of finding something simple that I can start tonight and finish tomorrow. I describe a feature I want or a problem I'm thinking about, then work back and forth with Claude in planning mode for about 5 minutes to develop an implementation plan I like. When I approve the plan, Claude gets to work while I put my phone on the charger.
164-
>
165-
> When I wake up, I have a notification from Claude Code "4 files to review, 237 lines of code added" - something nice and small to start my day. Having Claude Code on my phone is key because previously, to leave something unfinished for the next day, I had to be in programmer brain and actually make code changes myself. Now I can do this setup at any point in the evening - the task shrunk from 20 minutes of focused programming work down to a 5-minute conversational planning session. Having Claude Code accessible from my phone dramatically increased the surface area of opportunities when this routine could actually happen, making it way more likely to become a consistent habit.

content/use-cases/_meta.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export default {
2+
"watching-tv": {
3+
title: 'Watching TV',
4+
theme: {
5+
typesetting: 'article'
6+
}
7+
},
8+
}
9+

0 commit comments

Comments
 (0)