Skip to content

Commit 2f4f21c

Browse files
committed
freebuff: tweak copy, add philosophy section
1 parent 822a299 commit 2f4f21c

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

freebuff/web/src/app/home-client.tsx

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ const faqs = [
2222
'Freebuff is supported by ads shown in the CLI.',
2323
},
2424
{
25-
question: 'What model do you use?',
25+
question: 'What models do you use?',
2626
answer:
2727
'MiniMax M2.5 as the main coding agent, Gemini 3.1 Flash Lite for finding files and research, and GPT-5.4 for deep thinking if you connect your ChatGPT subscription.',
2828
},
@@ -107,6 +107,12 @@ function FAQList() {
107107
)
108108
}
109109

110+
const PHILOSOPHY_WORDS = [
111+
{ word: 'FAST', description: '3× the speed of Claude Code' },
112+
{ word: 'SIMPLE', description: 'No modes. No config. Just code.' },
113+
{ word: 'LOADED', description: 'Web research, browser use, and more — built in' },
114+
]
115+
110116
const wordVariant = {
111117
initial: { opacity: 0, y: 30, filter: 'blur(8px)' },
112118
animate: {
@@ -166,7 +172,7 @@ export default function HomeClient() {
166172
transition={{ duration: 0.6, delay: 0.8 }}
167173
className="text-lg md:text-xl text-zinc-400 max-w-2xl mx-auto mb-10 leading-relaxed"
168174
>
169-
No subscription. No API key. Zero configuration.
175+
No subscription. No configuration. Start in seconds.
170176
</motion.p>
171177

172178
{/* Install command */}
@@ -184,6 +190,31 @@ export default function HomeClient() {
184190
<div className="absolute bottom-0 left-0 right-0 h-32 bg-gradient-to-t from-black to-transparent" />
185191
</section>
186192

193+
{/* ─── Philosophy Section ─── */}
194+
<section className="relative py-24 md:py-32 px-4 overflow-hidden">
195+
<div className="relative z-10 container mx-auto max-w-5xl">
196+
<div className="flex flex-col gap-12 md:gap-16">
197+
{PHILOSOPHY_WORDS.map((item, i) => (
198+
<motion.div
199+
key={item.word}
200+
initial={{ opacity: 0, filter: 'blur(12px)' }}
201+
whileInView={{ opacity: 1, filter: 'blur(0px)' }}
202+
viewport={{ once: true, amount: 0.5 }}
203+
transition={{ duration: 0.7, delay: i * 0.1 }}
204+
className="group"
205+
>
206+
<div className="keyword-hollow font-dm-mono text-7xl md:text-[8rem] lg:text-[10rem] font-medium leading-[0.85] tracking-tighter select-none">
207+
{item.word}
208+
</div>
209+
<p className="mt-3 md:mt-4 text-zinc-500 text-sm md:text-base font-mono tracking-wide">
210+
{item.description}
211+
</p>
212+
</motion.div>
213+
))}
214+
</div>
215+
</div>
216+
</section>
217+
187218
{/* Divider */}
188219
<div className="h-px bg-gradient-to-r from-transparent via-acid-green/30 to-transparent" />
189220

0 commit comments

Comments
 (0)