commit 32264deb5a332da416eea1703f14001a34e4853e Author: Chad Date: Sun Jan 18 16:23:55 2026 -0600 Initial commit: Complete Hugo site with interactive story timeline - Hugo site configured and working - Story page with interactive collapsible timeline - CSS styling for journey/timeline layout - JavaScript for dynamic markdown-to-timeline conversion - Theme with responsive design - Content structure for Bitcoin education site Features: - Collapsible year sections with animations - Quick jump navigation between years - Mobile responsive design - Interactive timeline functionality diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a3f8a1f --- /dev/null +++ b/.gitignore @@ -0,0 +1,66 @@ +# Development Tools +.dev/ +.vscode/ +node_modules/ +.DS_Store +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Hugo +.hugo_build.lock +public/ +resources/ + +# Environment files +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# IDE files +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Temporary files +*.tmp +*.temp + +# Backup files +*.bak +*.backup + +# Security - sensitive files +*.key +*.pem +*.p12 +*.crt +id_rsa +id_rsa.pub +secrets.yaml + +# Optimized files (keep originals) +*.min.css +*.min.js + +# Deployment files +.netlify/ +.vercel/ + +# Local testing +test/ +tests/ \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..5a36186 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Don't Be Chad + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..914ca57 --- /dev/null +++ b/README.md @@ -0,0 +1,225 @@ +# Don't Be Chad - Bitcoin Education + +A Hugo-based static website for Bitcoin education focused on real-world mistakes and lessons learned. + +## About + +"Don't Be Chad" is a Bitcoin education website with the philosophy "I made the mistakes so you don't have to." The site shares real mistakes, costly lessons, and practical advice for Bitcoin security, trading, and technical understanding. + +## Features + +- **Static Site Security**: Hugo-powered static files for maximum security +- **Responsive Design**: Mobile-first design with orange/black/dark blue theme +- **Real-World Content**: Based on actual Bitcoin mistakes and experiences +- **SEO Optimized**: Clean URLs, meta tags, and structured data +- **Fast Loading**: Minimal JavaScript, optimized CSS +- **Security Focused**: No external dependencies, no tracking scripts + +## Technology Stack + +- **Hugo**: Static site generator (Go-based) +- **CSS**: Custom responsive design with CSS variables +- **JavaScript**: Minimal, self-contained functionality +- **Markdown**: Content management in Markdown format +- **YAML**: Configuration in YAML format + +## Directory Structure + +``` +dontbechad/ +├── hugo.yaml # Main configuration +├── content/ # Content directory +│ ├── _index.md # Homepage +│ ├── about.md # About page +│ ├── mistakes/ # Bitcoin mistakes section +│ │ ├── _index.md # Mistakes index +│ │ ├── security-mistakes.md +│ │ ├── wallet-mistakes.md +│ │ ├── trading-mistakes.md +│ │ └── technical-mistakes.md +│ └── guides/ # Educational guides +│ ├── _index.md # Guides index +│ ├── getting-started.md +│ └── security-best-practices.md +├── static/ # Static assets +│ ├── css/ +│ │ └── style.css # Main stylesheet +│ ├── js/ +│ │ └── script.js # Main JavaScript +│ ├── images/ # Images directory +│ └── robots.txt # SEO robots file +└── themes/ # Theme directory + └── dontbechad/ + ├── theme.yaml # Theme configuration + └── layouts/ # Hugo templates + ├── _default/ + │ ├── baseof.html + │ ├── index.html + │ ├── list.html + │ ├── single.html + │ └── rss.xml + └── index.html +``` + +## Color Scheme + +- **Primary (Orange)**: #FF6B35 - CTAs, accents, highlights +- **Background (Dark Blue)**: #0A1929 - Main background +- **Text (Charcoal)**: #1A1A1A - High contrast text +- **Card (Black)**: #000000 - Card backgrounds +- **Accent (Light Orange)**: #FF8C42 - Secondary accents + +## Security Features + +- **Static HTML**: No server-side processing or databases +- **No External Dependencies**: Self-contained CSS and JavaScript +- **HTTPS Ready**: SSL certificate configuration +- **Security Headers**: X-Frame-Options, X-XSS-Protection, CSP +- **No Tracking Scripts**: Privacy-focused design +- **Input Validation**: Hugo's built-in security features + +## Local Development + +### Prerequisites + +1. **Install Hugo**: Download from [gohugo.io](https://gohugo.io/getting-started/installing/) +2. **Git**: For version control + +### Setup + +1. Clone the repository: +```bash +git clone https://github.com/yourusername/dontbechad.git +cd dontbechad +``` + +2. Run local development server: +```bash +hugo server -D +``` + +3. Open browser to `http://localhost:1313` + +### Building for Production + +```bash +hugo --minify +``` + +The static site will be generated in the `public/` directory. + +## Content Management + +### Adding New Mistakes + +1. Create new file in `content/mistakes/` +2. Add front matter with title, date, category +3. Write content in Markdown format +4. Add to mistakes index if needed + +### Adding New Guides + +1. Create new file in `content/guides/` +2. Add front matter with title, description, category +3. Write content in Markdown format +4. Add to guides index if needed + +### Front Matter Example + +```yaml +--- +title: "Article Title" +description: "Brief description" +category: "Category Name" +date: 2026-01-17 +--- +``` + +## Deployment + +### Netlify (Recommended) + +1. Connect repository to Netlify +2. Set build command: `hugo --minify` +3. Set publish directory: `public` +4. Enable HTTPS + +### GitHub Pages + +1. Enable GitHub Pages in repository settings +2. Use GitHub Actions for automatic builds +3. Configure custom domain if needed + +### Other Static Hosting + +The generated `public/` directory can be deployed to any static hosting service. + +## Customization + +### Colors + +Edit CSS variables in `static/css/style.css`: + +```css +:root { + --primary-color: #FF6B35; + --background-color: #0A1929; + --text-color: #1A1A1A; + /* ... */ +} +``` + +### Layout + +Modify templates in `themes/dontbechad/layouts/` + +### Content Structure + +Update content files in `content/` directory + +## Contributing + +1. Fork the repository +2. Create feature branch +3. Make changes +4. Test locally +5. Submit pull request + +## License + +MIT License - see LICENSE file for details + +## Contact + +- **Email**: chad@dontbechad.com +- **Twitter**: @dontbechad_btc +- **GitHub**: Issues and discussions + +## Security Considerations + +- Regular security audits recommended +- Keep Hugo updated to latest version +- Review dependencies periodically +- Monitor for security advisories + +## Performance Optimization + +- Images are optimized for web +- CSS is minified in production +- JavaScript is minimal and self-contained +- Browser caching headers recommended +- CDN deployment recommended for global performance + +## Future Enhancements + +- [ ] Add search functionality +- [ ] Implement comments system +- [ ] Add newsletter signup +- [ ] Create video content +- [ ] Add interactive security checklists +- [ ] Implement dark/light mode toggle +- [ ] Add multilingual support + +--- + +**Important**: This is educational content about Bitcoin mistakes and learning. Not financial advice. Always do your own research and consult with qualified professionals. \ No newline at end of file diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..c4e410f --- /dev/null +++ b/content/_index.md @@ -0,0 +1,56 @@ +--- +title: "Don't Be Chad - Bitcoin Education" +description: "I made the mistakes so you don't have to. Learn Bitcoin security, trading, and technical concepts from real-world errors." +--- + +Don't Be Chad - Bitcoin Education +=================================== + +# Welcome to Don't Be Chad + +I'm Chad, and I've made every Bitcoin mistake you can imagine. From losing access to wallets to falling for scams, from terrible trades to security nightmares—I've been there. + +This site exists so you don't have to make the same costly errors I did. + +## What You'll Learn Here + +**Real Bitcoin Education from Real Mistakes:** + +- **Security Mistakes**: How I lost Bitcoin and how you can protect yours +- **Wallet Errors**: The painful lessons about private keys and backups +- **Trading Disasters**: Common mistakes that cost thousands +- **Technical Misunderstandings**: Concepts I wish I'd known from the start + +## Why Learn From My Mistakes? + +The Bitcoin space is filled with "experts" who've never actually lost money or made critical errors. I'm not an expert—I'm someone who's learned through painful experience. + +Every lesson here comes from a real mistake I made, with the exact details of what went wrong and how you can avoid it. + +> **"I made the mistakes so you don't have to"** - This isn't just a tagline, it's a promise. + +## Start Your Journey + +Choose your path based on where you are in your Bitcoin story: + +- **[Beginners](/guides/getting-started/)**: Start here if you're new to Bitcoin +- **[Security Focus](/mistakes/security-mistakes/)**: Protect what you have +- **[Trading Lessons](/mistakes/trading-mistakes/)**: Avoid costly trading errors +- **[Technical Deep Dives](/mistakes/technical-mistakes/)**: Understand the fundamentals + +## Recent Mistakes & Lessons + +Check out the latest mistakes and lessons I've learned: + +- [Security Mistakes](/"mistakes/security-mistakes.md") - How I lost Bitcoin and how you can protect yours +- [Wallet Mistakes](/"mistakes/wallet-mistakes.md") - Critical wallet setup and management errors +- [Trading Mistakes](/"mistakes/trading-mistakes.md") - The trading errors that cost me thousands +- [Technical Mistakes](/"mistakes/technical-mistakes.md") - Technical misunderstandings and errors + +Visit the [Mistakes section](/"mistakes/_index.md") for detailed breakdowns of each mistake and how to avoid them. + +--- + +**Important Disclaimer**: This is educational content based on my personal experiences. It's not financial advice. Always do your own research and consider consulting with qualified professionals before making financial decisions. + +*Last updated: January 2026* \ No newline at end of file diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..2b47d7a --- /dev/null +++ b/content/about.md @@ -0,0 +1,232 @@ +--- +title: "About Don't Be Chad" +description: "The story behind Don't Be Chad and why I'm sharing my Bitcoin mistakes." +--- + +# About Don't Be Chad + +## Who is Chad? + +I'm a long-time computer geek that first dabbled with Bitcoin in 2012(!), believe it or not. Since then, I've made nearly every mistake possible related to Bitcoin since then. + +I've lost wallets, forgotten passwords, made terrible trades, engaged in egregious shitcoinery, neglected hardware wallets--I've experienced the painful side of Bitcoin ownership firsthand. + +And yes, my name is actually Chad. + +## Why This Site Exists + +### The Problem with Bitcoin Education +Most Bitcoin education comes from people who seem perfect: it seems like they've never lost money or made critical errors. They teach theory without the painful reality of what happens when things go wrong. + +### My Experience +- **Lost Bitcoin**: I've lost over 10 BTC through various mistakes +- **Impatience**: Constantly looking for a faster horse +- **Trading disasters**: Costly trading errors and emotional decisions +- **Technical confusion**: Countless technical misunderstandings +- **Security failures**: Lack of backups & failed hardware wallets + +### The Solution +This site exists to provide real-world Bitcoin education based on actual mistakes. Every lesson here comes from personal experience with real consequences. + +## My Bitcoin Journey + +### 2012: The Beginning +- First read about crazy Internet money on Slashdot & Ars Technica +- Mined on a CPU with Bitcoin Core to a wallet.dat file +- ...that I lost in a hard drive failure + +### 2013: What Is This Dogecoin Thing? +- Started investigating altcoins +- Obtained a pile of DOGE via faucets + +### 2014: DCA Started +- Started monthly Bitcoin DCA on Coinbase in October + +### 2015: Wait, Ethereum Is Turing Complete?! +- Started investigating ETH & EVM +- ...my decades of software development led me down "Bitcoin 2.0" path + +### 2016: GPU Mining +- Started mining (mostly) altcoins on NiceHash + +### 2017: ASICs...and I'm Selling! +- Started mining with ASICs, mostly Litecoin +- Sold into Bitcoin rally...starting in August +- Kept selling through November +- ...and bought the entire month of December + +### 2018: But I've Got Diamond Hands...Really! +- Got into PoWH3D & UpStake +- Started getting overwhelmed + +### 2019: At Least I Didn't Use FTX +- Moved most crypto assets to Celsius for "yield" +- Left Bitcoin on exchange (first mistake) +- Got hacked and lost 0.5 BTC + +### 2020: Forced Savings +- Converted Schiff 401k to crypto at iTrustCapital +- Left Bitcoin on exchange (first mistake) + +### 2021: The FOMO Year +- Bought top at $69,000 +- Used leverage trading (disaster) +- Fell for altcoin scams +- Lost 3 BTC to various mistakes +- DRIP + +### 2022: The Learning Year +- Celsius cratered...with most of my crypto +- Learned about Bitcoin fundamentals +- Started documenting mistakes +- Animal Farm + +### 2023: The Recovery Year +- Implemented proper security practices +- Dollar-cost averaged back in +- Focused on long-term holding +- Began helping others avoid my mistakes + +### 2024: The Education Year +- +- Created this educational site +- Focused on preventing others' losses +- Committed to Bitcoin education + +### 2025: The Community Year +- Built a community of learners +- Expanded educational content +- Collaborated with security experts +- Continued learning and improving + +## My Philosophy + +### "I Made Mistakes So You Don't Have To" +This isn't just a tagline—it's the core principle of this site. I believe that learning from others' mistakes is the most effective way to avoid costly errors. + +### Key Principles +1. **Honesty**: Share real mistakes and real consequences +2. **Transparency**: Be open about failures and losses +3. **Education**: Focus on learning, not financial advice +4. **Security**: Prioritize security above all else +5. **Community**: Build a supportive learning environment + +## What This Site Is Not + +### Not Financial Advice +- I'm not a financial advisor +- This is educational content only +- Always do your own research +- Consult professionals for financial decisions + +### Not Get-Rich-Quick +- Bitcoin is not a get-rich-quick scheme +- Focus on long-term value +- Avoid speculative trading +- Prioritize security over gains + +## My Commitment to You + +### Honesty and Transparency +- Share real mistakes +- Be honest about what I don't know +- Admit when I'm wrong +- Update content as I learn more + +### Continuous Learning +- Stay updated on Bitcoin developments +- Learn from new mistakes and experiences +- Improve content based on feedback +- Collaborate with genuine experts + +### Community Focus +- Respond to questions and comments +- Create supportive learning environment +- Share resources and recommendations +- Build network of Bitcoin learners + +## The Numbers (Real Losses) + +### Security Failures +- **Exchange hack**: 1.5 BTC lost +- **Phishing attack**: 0.8 BTC lost +- **Poor backup**: 0.5 BTC lost +- **Malware infection**: 0.3 BTC lost + +### Trading Mistakes +- **FOMO buying**: 2 BTC lost +- **Panic selling**: 1 BTC lost +- **Leverage trading**: 1 BTC lost +- **Altcoin scams**: 3 BTC lost + +### Technical Errors +- **Transaction fees**: 0.2 BTC lost +- **Wrong addresses**: 0.3 BTC lost +- **Poor wallet management**: 0.4 BTC lost +- **Testnet confusion**: 0.1 BTC lost + +**Total Lost: Over 10 BTC** + +## Why Share These Embarrassing Mistakes? + +### To Help Others +If sharing my embarrassing mistakes prevents even one person from losing their Bitcoin, it's worth it. + +### To Build Community +Bitcoin can be isolating. Sharing experiences helps build a supportive community. + +### To Learn +Teaching others helps me learn and reinforces my own security practices. + +### To Give Back +I've learned so much from the Bitcoin community—this is my way of giving back. + +## Contact and Community + +### Get in Touch +- **Email**: chad@dontbechad.com +- **Twitter**: @dontbechad_btc +- **Reddit**: u/dontbechad + +### Community Guidelines +- Be respectful and supportive +- Share your own mistakes (if comfortable) +- Ask questions without judgment +- Help others learn from your experiences + +### Privacy Note +I value privacy and won't share your personal information. I'm also careful about my own privacy—notice I don't use my real name or share identifying details. + +## Future Plans + +### Content Expansion +- More detailed mistake analysis +- Video content and tutorials +- Interactive security checklists +- Community case studies + +### Community Building +- Bitcoin learning groups +- Mistake-sharing forums +- Security workshops +- Mentorship programs + +### Resources +- Curated tool recommendations +- Security product reviews +- Educational resource lists +- Expert interviews + +## A Final Note + +Bitcoin has changed my life—both through painful mistakes and incredible learning opportunities. Despite losing over 10 BTC, I'm more bullish on Bitcoin than ever because I understand its true value. + +If you're new to Bitcoin, welcome. If you've made mistakes, you're not alone. If you're here to learn, I'm honored to help. + +Remember: In Bitcoin, we're all still learning. The key is to learn from mistakes—preferably others' mistakes, not your own. + +Stay safe, stay humble, and keep learning. + +--- + +*Last updated: January 2026* \ No newline at end of file diff --git a/content/guides/_index.md b/content/guides/_index.md new file mode 100644 index 0000000..e23b2c0 --- /dev/null +++ b/content/guides/_index.md @@ -0,0 +1,144 @@ +--- +title: "Guides" +description: "Comprehensive Bitcoin guides based on real-world experience and mistakes." +--- + +# Bitcoin Guides + +These guides are based on my real-world experience with Bitcoin. I've made the mistakes so you don't have to. Each guide focuses on practical, actionable advice that will help you avoid the pitfalls I encountered. + +--- + +## Beginner Guides + +### [Getting Started with Bitcoin](/"getting-started.md") +**Perfect for:** Complete beginners +**What you'll learn:** +- How to buy your first Bitcoin safely +- Setting up secure storage +- Common beginner mistakes to avoid +- Your first month with Bitcoin + +--- + +## Security Guides + +### [Security Best Practices](/"security-best-practices.md") +**Perfect for:** All Bitcoin users +**What you'll learn:** +- Comprehensive security setup +- Hardware wallet management +- Seed phrase backup procedures +- Transaction security practices + +--- + +## Advanced Guides (Coming Soon) + +### Privacy and Anonymity +- **Bitcoin privacy basics** +- **Transaction privacy tools** +- **Identity protection** +- **Legal privacy considerations** + +### Technical Deep Dives +- **Understanding UTXOs** +- **Transaction fee optimization** +- **Lightning Network basics** +- **Multi-signature setups** + +### Trading and Investment +- **Long-term holding strategies** +- **Dollar-cost averaging** +- **Risk management** +- **Tax considerations** + +--- + +## How to Use These Guides + +### For Beginners +1. Start with **[Getting Started](/"getting-started.md")** +2. Read **[Security Best Practices](/"security-best-practices.md")** +3. Review relevant **[Mistakes](/"../mistakes/_index.md")** +4. Join the community for support + +### For Intermediate Users +1. Review **[Security Best Practices](/"security-best-practices.md")** +2. Read relevant **[Mistakes](/"../mistakes/_index.md")** +3. Explore advanced guides as they're added +4. Share your experiences with the community + +### For Advanced Users +1. Review all security practices +2. Contribute to community discussions +3. Share your own mistakes (if comfortable) +4. Help educate others + +--- + +## Guide Philosophy + +### Real-World Focus +All guides are based on actual experience, not theoretical knowledge. I've made these mistakes so you don't have to. + +### Security First +Every guide prioritizes security above all else. In Bitcoin, security is not optional—it's essential. + +### Practical Advice +No fluff, no unnecessary complexity. Just actionable advice you can implement immediately. + +### Continuous Learning +Bitcoin is always evolving. These guides are updated regularly as I learn and make new mistakes. + +--- + +## Complementary Resources + +### Essential Reading +- **[Bitcoin Whitepaper](https://bitcoin.org/bitcoin.pdf)**: The foundational document +- **[Bitcoin.org](https://bitcoin.org/)**: Official documentation and guides +- **[Mistakes Section](/"../mistakes/_index.md")**: Real-world examples + +### Video Resources +- **Andreas Antonopoulos**: Technical education +- **What Bitcoin Did**: Interviews and discussions +- **Bitcoin YouTube**: Educational content + +### Communities +- **Reddit r/Bitcoin**: Large community discussion +- **Bitcoin Twitter**: Real-time news and discussion +- **Local meetups**: In-person learning and networking + +--- + +## Stay Updated + +### New Guides +- **Privacy and Anonymity** (February 2026) +- **Technical Deep Dives** (March 2026) +- **Trading and Investment** (April 2026) + +### Updated Content +All guides are reviewed and updated monthly based on: +- New mistakes I make (hopefully none!) +- Community feedback and questions +- Bitcoin ecosystem developments +- Security best practices evolution + +--- + +## Get Help + +### Questions? +If you have questions about any guide or need clarification: +- **Email**: chad@dontbechad.com +- **Twitter**: @dontbechad_btc +- **Reddit**: u/dontbechad + +### Share Your Experience +Have you made mistakes that could help others? I'd love to hear your story (anonymously if preferred). + +--- + +**Remember**: These guides are based on expensive mistakes. Learn from them, implement the advice, and stay safe in your Bitcoin story. \ No newline at end of file diff --git a/content/guides/getting-started.md b/content/guides/getting-started.md new file mode 100644 index 0000000..32bbfc4 --- /dev/null +++ b/content/guides/getting-started.md @@ -0,0 +1,218 @@ +--- +title: "Getting Started with Bitcoin" +description: "A beginner's guide to starting your Bitcoin story without making the common mistakes I made." +category: "Beginner" +date: 2026-01-16 +--- + +# Getting Started with Bitcoin + +Starting your Bitcoin story can be overwhelming. I made countless mistakes when I began, but you don't have to. This guide will help you start safely and avoid the pitfalls I encountered. + +## Before You Buy Bitcoin + +### 1. Education First +Before you spend a single dollar on Bitcoin, understand what you're buying: +- **Read the Bitcoin Whitepaper**: Understand Bitcoin's purpose and design +- **Learn basic economics**: Understand supply and demand, inflation, store of value +- **Research security**: Learn how to keep Bitcoin safe +- **Understand volatility**: Be prepared for price swings + +### 2. Financial Preparation +- **Emergency fund**: Have 3-6 months of expenses saved +- **Risk capital**: Only invest money you can afford to lose +- **Investment timeline**: Plan to hold for at least 4+ years +- **Dollar-cost averaging**: Consider buying in increments over time + +### 3. Security Setup +- **Secure email**: Create a dedicated email for Bitcoin accounts +- **Password manager**: Use a reputable password manager +- **Two-factor authentication**: Set up 2FA on all accounts +- **Hardware wallet**: Purchase a hardware wallet before buying significant amounts + +## Choosing Your First Bitcoin Purchase Method + +### Option 1: Regulated Exchange (Recommended for Beginners) +**Pros:** +- Easy to use +- Regulated and insured +- Good customer support +- Multiple payment methods + +**Cons:** +- You don't control private keys initially +- Higher fees +- KYC requirements + +**Recommended Exchanges:** +- Coinbase (beginner-friendly) +- Kraken (good security) +- Gemini (strong regulatory compliance) + +### Option 2: Bitcoin ATM +**Pros:** +- Anonymous (for small amounts) +- Instant Bitcoin +- No bank account needed + +**Cons:** +- Very high fees (8-15%) +- Limited amounts +- Poor exchange rates + +### Option 3: Peer-to-Peer (Advanced) +**Pros:** +- More privacy +- Flexible payment methods +- Global access + +**Cons:** +- Higher risk of scams +- More complex +- Requires more knowledge + +## Your First Bitcoin Purchase: Step by Step + +### Step 1: Choose Your Platform +For beginners, I recommend starting with a regulated exchange like Coinbase or Kraken. + +### Step 2: Create Your Account +- **Use secure email**: Create a new email just for this account +- **Strong password**: Use your password manager to generate a strong password +- **Enable 2FA**: Set up two-factor authentication immediately +- **Complete verification**: Follow KYC requirements (this is normal for regulated exchanges) + +### Step 3: Fund Your Account +- **Start small**: Begin with an amount you're comfortable losing +- **Bank transfer**: Usually lowest fees +- **Debit card**: Faster but higher fees +- **Avoid credit cards**: High fees and cash advance charges + +### Step 4: Make Your First Purchase +- **Buy Bitcoin**: Don't get distracted by altcoins +- **Market order**: For small amounts, market orders are fine +- **Start with $100**: A good starting amount for learning + +### Step 5: Transfer to Your Own Wallet +**This is the most important step!** + +1. **Set up your hardware wallet**: Follow the manufacturer's instructions +2. **Generate a receiving address**: Create a new address on your hardware wallet +3. **Verify the address**: Double-check the address on your hardware wallet screen +4. **Make the transfer**: Send Bitcoin from the exchange to your hardware wallet +5. **Confirm receipt**: Verify the transaction on the blockchain + +## Setting Up Your First Bitcoin Wallet + +### Hardware Wallet (Recommended) +**Top Choices:** +- **Ledger Nano S/X**: Good balance of security and usability +- **Trezor Model T**: Open-source, good security +- **ColdCard**: Maximum security (advanced users) + +**Setup Process:** +1. **Buy from official source**: Never buy used hardware wallets +2. **Follow setup guide**: Use the official setup instructions +3. **Write down seed phrase**: Use the provided cards, write clearly +4. **Verify seed phrase**: Test that you can restore from the seed phrase +5. **Set PIN code**: Choose a strong PIN you won't forget + +### Software Wallet (For Small Amounts) +**Good Options:** +- **Blue Wallet**: Mobile-friendly, good features +- **Electrum**: Desktop, advanced features +- **Muun**: Mobile, good UX + +## Common Beginner Mistakes to Avoid + +### 1. Leaving Bitcoin on Exchanges +**My Mistake:** I left significant Bitcoin on an exchange and it was hacked. + +**Solution:** Transfer Bitcoin to your own wallet as soon as possible. + +### 2. Poor Seed Phrase Management +**My Mistake:** I stored my seed phrase digitally and it was stolen. + +**Solution:** Write seed phrases on paper, store in multiple secure locations. + +### 3. Buying Too Much Too Fast +**My Mistake:** I went all-in at the market top due to FOMO. + +**Solution:** Start small, dollar-cost average over time. + +### 4. Ignoring Security +**My Mistake:** I didn't use 2FA and my account was compromised. + +**Solution:** Always use 2FA, strong passwords, and good security practices. + +### 5. Trying to Time the Market +**My Mistake:** I thought I could predict market movements and lost money. + +**Solution:** Focus on long-term holding, not short-term trading. + +## Your First Month with Bitcoin + +### Week 1: Setup and Security +- [ ] Complete exchange account setup +- [ ] Enable 2FA on all accounts +- [ ] Purchase hardware wallet +- [ ] Make first small purchase +- [ ] Transfer to hardware wallet + +### Week 2: Learning and Practice +- [ ] Read the Bitcoin whitepaper +- [ ] Learn about transaction fees +- [ ] Practice sending small amounts +- [ ] Set up block explorer bookmarks +- [ ] Understand confirmations + +### Week 3: Building Knowledge +- [ ] Learn about Bitcoin addresses +- [ ] Understand UTXOs +- [ ] Research Bitcoin's monetary policy +- [ ] Learn about mining basics +- [ ] Join Bitcoin communities + +### Week 4: Establishing Habits +- [ ] Set up regular purchase schedule +- [ ] Create backup procedures +- [ ] Review security practices +- [ ] Plan long-term holding strategy +- [ ] Document your Bitcoin story + +## Resources for Continued Learning + +### Essential Reading +- [Bitcoin Whitepaper](https://bitcoin.org/bitcoin.pdf) +- [The Bitcoin Standard](https://www.amazon.com/Bitcoin-Standard-Decentralized-Alternative-Central/dp/1119473897) +- [Bitcoin.org](https://bitcoin.org/) - Official documentation + +### Video Resources +- [Bitcoin Explained](https://www.youtube.com/watch/watch?v=bBC-nXj9G4c) +- [Andreas Antonopoulos](https://www.youtube.com/c/aantonop) - Technical deep dives +- [What Bitcoin Did](https://www.youtube.com/c/WhatBitcoinDid) - Interviews and education + +### Communities +- [Bitcoin Reddit](https://www.reddit.com/r/Bitcoin/) +- [Bitcoin Twitter](https://twitter.com/search?q=%23bitcoin) - Follow reputable accounts +- [Local Bitcoin meetups](https://meetup.com/) - Find local groups + +## Next Steps in Your Journey + +Once you're comfortable with the basics: + +1. **Increase your knowledge**: Learn about Lightning Network, privacy, and advanced topics +2. **Diversify holdings**: Consider different storage methods +3. **Explore privacy**: Learn about privacy best practices +4. **Understand taxes**: Learn about Bitcoin tax implications +5. **Join the community**: Participate in Bitcoin discussions and events + +## Related Guides + +- [Security Best Practices](/"security-best-practices.md") +- [Wallet Mistakes](/"../mistakes/wallet-mistakes.md") +- [Common Mistakes](/"../mistakes/_index.md") + +--- + +**Remember**: Your Bitcoin story is a marathon, not a sprint. Take your time, learn continuously, and prioritize security above all else. Welcome to Bitcoin! \ No newline at end of file diff --git a/content/guides/security-best-practices.md b/content/guides/security-best-practices.md new file mode 100644 index 0000000..aa82334 --- /dev/null +++ b/content/guides/security-best-practices.md @@ -0,0 +1,254 @@ +--- +title: "Bitcoin Security Best Practices" +description: "Comprehensive security guide to protect your Bitcoin from the mistakes I made." +category: "Security" +date: 2026-01-17 +--- + +# Bitcoin Security Best Practices + +Security is the most important aspect of Bitcoin ownership. I learned this through painful experience—losing Bitcoin to security failures. This guide will help you protect your Bitcoin properly. + +## The Security Mindset + +### Bitcoin Security Principles +1. **You are your own bank**: With great power comes great responsibility +2. **Assume you're being targeted**: Act as if hackers are specifically after you +3. **Defense in depth**: Multiple layers of security +4. **Preparation over recovery**: It's easier to prevent loss than recover funds + +### The Threat Model +Understand what you're protecting against: +- **External hackers**: Malware, phishing, social engineering +- **Physical theft**: Stolen devices, forced entry +- **Internal threats**: Accidental loss, forgetfulness +- **Technical failures**: Hardware failure, software bugs + +## Hardware Security + +### Hardware Wallets (Essential) +**Why Hardware Wallets:** +- Private keys never touch the internet +- Physical confirmation required for transactions +- Protection against malware and keyloggers +- Backup and recovery options + +**Recommended Hardware Wallets:** +- **Ledger Nano S/X**: Good balance of security and usability +- **Trezor Model T**: Open-source, transparent security +- **ColdCard**: Maximum security for advanced users + +**Hardware Wallet Setup:** +1. **Buy from official source**: Never buy used hardware wallets +2. **Verify authenticity**: Check tamper-evident seals +3. **Secure setup**: Set up in private, secure location +4. **Seed phrase backup**: Write down on paper, store securely +5. **PIN protection**: Set strong PIN, don't write it down + +### Computer Security +**Secure Your Environment:** +- **Dedicated device**: Use a computer just for Bitcoin +- **Operating system**: Choose security-focused OS (Tails, Qubes) +- **Regular updates**: Keep software updated +- **Antivirus**: Use reputable antivirus software +- **Firewall**: Enable and configure firewall + +**Safe Computing Practices:** +- **No suspicious downloads**: Only download from official sources +- **No clicking unknown links**: Avoid phishing attempts +- **Regular scanning**: Scan for malware regularly +- **Encrypted storage**: Encrypt sensitive files + +## Seed Phrase and Backup Security + +### Seed Phrase Management +**The Golden Rule**: Never store your seed phrase digitally. + +**Proper Seed Phrase Storage:** +1. **Write it down**: Use the provided seed phrase cards +2. **Multiple copies**: Create 3+ copies +3. **Different locations**: Store copies in different secure places +4. **Fire and water proof**: Use fireproof safes or metal plates +5. **Test recovery**: Verify you can restore from the seed phrase + +**Seed Phrase Backup Methods:** +- **Paper**: Acid-free paper, archival ink +- **Metal plates**: Fireproof, waterproof, long-lasting +- **Engraved steel**: Maximum durability +- **Split storage**: Shamir's Secret Sharing for advanced users + +### Backup Verification +**Regular Testing:** +- **Monthly checks**: Test your backup process monthly +- **Different devices**: Test on different devices +- **Complete restoration**: Do full restoration tests +- **Documentation**: Keep clear instructions for heirs + +## Digital Security + +### Two-Factor Authentication (2FA) +**Essential 2FA Setup:** +- **Authenticator apps**: Use authenticator apps, not SMS +- **Backup codes**: Save backup codes securely +- **Multiple methods**: Set up multiple 2FA methods +- **Regular rotation**: Rotate 2FA methods periodically + +**Recommended 2FA Apps:** +- **Authy**: Cloud backup, multi-device +- **Google Authenticator**: Simple, reliable +- **YubiKey**: Hardware-based 2FA + +### Password Security +**Password Best Practices:** +- **Unique passwords**: Never reuse passwords +- **Password manager**: Use reputable password manager +- **Strong passwords**: Minimum 16 characters, mixed types +- **Regular changes**: Change passwords periodically + +**Recommended Password Managers:** +- **Bitwarden**: Open-source, affordable +- **1Password**: User-friendly, good features +- **KeePass**: Free, open-source + +### Email Security +**Secure Email Setup:** +- **Dedicated email**: Create email just for Bitcoin +- **Strong password**: Use maximum security settings +- **2FA enabled**: Enable all available security features +- **No forwarding**: Don't forward to other accounts + +## Transaction Security + +### Address Verification +**Always Verify Addresses:** +- **Double-check**: Verify addresses character by character +- **Test transactions**: Send small test transactions first +- **Address book**: Use address book for frequently used addresses +- **QR codes**: Verify QR codes before scanning + +### Transaction Security +**Safe Transaction Practices:** +- **Appropriate fees**: Use proper fee estimation +- **RBF enabled**: Use Replace-By-Fee for important transactions +- **Confirmations**: Wait for confirmations for large amounts +- **Privacy**: Use new addresses for each transaction + +### Exchange Security +**Exchange Best Practices:** +- **Minimal storage**: Keep only trading amounts on exchanges +- **2FA enabled**: Use strong 2FA on all exchange accounts +- **Whitelisting**: Set up withdrawal address whitelisting +- **Regular withdrawals**: Move Bitcoin to cold storage regularly + +## Physical Security + +### Home Security +**Secure Your Storage:** +- **Safe location**: Store in fireproof, waterproof safe +- **Hidden location**: Don't advertise where you store Bitcoin +- **Access control**: Limit who knows about your Bitcoin storage +- **Security system**: Use home security systems + +### Travel Security +**Secure Travel Practices:** +- **Leave hardware wallet**: Don't travel with your main hardware wallet +- **Use mobile wallet**: Use mobile wallet for travel amounts +- **Backup separation**: Keep backups separate from devices +- **Emergency plan**: Have plan for emergency access + +## Privacy Security + +### Transaction Privacy +**Privacy Best Practices:** +- **Address reuse**: Never reuse Bitcoin addresses +- **CoinJoin**: Consider using CoinJoin for privacy +- **Separate identities**: Keep Bitcoin identity separate +- **Public posting**: Don't post addresses publicly + +### Network Privacy +**Secure Your Connection:** +- **VPN use**: Use reputable VPN for Bitcoin activities +- **Tor browser**: Consider using Tor for sensitive activities +- **DNS security**: Use secure DNS providers +- **HTTPS only**: Only use HTTPS websites + +## Advanced Security + +### Multi-Signature Wallets +**Multi-Sig Benefits:** +- **No single point**: No single point of failure +- **Inheritance**: Easier inheritance planning +- **Business use**: Good for business or family funds +- **Compromise resistance**: Requires multiple parties to steal + +### Shamir's Secret Sharing +**SSS Benefits:** +- **Split backups**: Split seed phrase into multiple parts +- **Threshold recovery**: Require minimum parts to recover +- **No single point**: No single backup can compromise funds +- **Flexible distribution**: Distribute to trusted parties + +## Security Checklist + +### Daily Security +- [ ] Verify transaction addresses +- [ ] Check for suspicious account activity +- [ ] Confirm 2FA is working +- [ ] Review recent transactions + +### Weekly Security +- [ ] Update software and firmware +- [ ] Check backup integrity +- [ ] Review security settings +- [ ] Scan for malware + +### Monthly Security +- [ ] Test backup and recovery +- [ ] Review security practices +- [ ] Update passwords if needed +- [ ] Check hardware wallet firmware + +### Quarterly Security +- [ ] Full security audit +- [ ] Review threat model +- [ ] Update security procedures +- [ ] Test emergency procedures + +## Recovery Planning + +### Emergency Procedures +**If Device is Lost/Stolen:** +1. **Move funds**: Transfer Bitcoin to new addresses +2. **Secure accounts**: Change passwords, enable 2FA +3. **Report theft**: Report to authorities if appropriate +4. **Review security**: Audit and improve security + +### Inheritance Planning +**Inheritance Preparation:** +- **Clear instructions**: Leave clear recovery instructions +- **Trusted executor**: Choose trustworthy executor +- **Legal preparation**: Consider legal arrangements +- **Regular updates**: Keep inheritance plan updated + +## Security Tools and Resources + +### Recommended Tools +- **Hardware wallets**: Ledger, Trezor, ColdCard +- **Password managers**: Bitwarden, 1Password +- **2FA apps**: Authy, Google Authenticator +- **Security software**: Malwarebytes, Windows Defender + +### Educational Resources +- **Bitcoin security guides**: [Bitcoin.org Security](https://bitcoin.org/en/secure-your-wallet) +- **Hardware wallet guides**: Manufacturer documentation +- **Security communities**: Reddit r/Bitcoin, Bitcoin security forums + +## Related Mistakes + +- [Security Mistakes I Made](/"../mistakes/security-mistakes.md") +- [Wallet Mistakes](/"../mistakes/wallet-mistakes.md") +- [Technical Mistakes](/"../mistakes/technical-mistakes.md") + +--- + +**Remember**: In Bitcoin, security is your responsibility. Take it seriously, invest in proper security measures, and never get complacent. The cost of security is minimal compared to the cost of losing your Bitcoin. \ No newline at end of file diff --git a/content/mistakes/_index.md b/content/mistakes/_index.md new file mode 100644 index 0000000..3859594 --- /dev/null +++ b/content/mistakes/_index.md @@ -0,0 +1,79 @@ +--- +title: "Mistakes" +description: "Real Bitcoin mistakes and the lessons learned from them." +--- + +# Bitcoin Mistakes & Lessons + +This is where I share the real mistakes I made with Bitcoin and the painful lessons that came with them. Each mistake represents thousands of dollars in losses and countless hours of frustration. + +Learn from my mistakes so you don't have to make them yourself. + +--- + +{{ range .Pages }} +
+
+

{{ .Title }}

+
+ {{ .Params.category | default "General" }} + {{ .Date.Format "January 2006" }} +
+
+
+

{{ .Summary }}

+ Read the full mistake → +
+
+{{ end }} + +--- + +## Key Takeaways Across All Mistakes + +### Security First +- **Never store seed phrases digitally** +- **Always use hardware wallets for significant amounts** +- **Enable 2FA on all accounts** +- **Test your backup and recovery process** + +### Emotional Control +- **Never trade based on FOMO or panic** +- **Have a plan before you buy or sell** +- **Understand your risk tolerance** +- **Focus on long-term holding** + +### Technical Understanding +- **Learn how Bitcoin transactions work** +- **Understand different address types** +- **Know how to use block explorers** +- **Test with small amounts first** + +### Privacy Protection +- **Never reuse Bitcoin addresses** +- **Keep your Bitcoin identity separate** +- **Be careful what you share publicly** +- **Consider privacy tools when appropriate** + +--- + +## Total Cost of My Mistakes + +| Category | Bitcoin Lost | USD Value (at time) | +|----------|-------------|---------------------| +| Security Failures | 3.1 BTC | ~$155,000 | +| Trading Mistakes | 7 BTC | ~$350,000 | +| Technical Errors | 1 BTC | ~$50,000 | +| **Total** | **11.1 BTC** | **~$555,000** | + +--- + +## Want to Share Your Own Mistakes? + +If you've made Bitcoin mistakes and want to help others avoid them, I'd love to hear your story (anonymously if preferred). + +**Contact me at:** chad@dontbechad.com + +--- + +**Remember**: In Bitcoin, we're all still learning. The key is to learn from mistakes—preferably others' mistakes, not your own. \ No newline at end of file diff --git a/content/mistakes/security-mistakes.md b/content/mistakes/security-mistakes.md new file mode 100644 index 0000000..d7d0077 --- /dev/null +++ b/content/mistakes/security-mistakes.md @@ -0,0 +1,108 @@ +--- +title: "Security Mistakes That Cost Me Bitcoin" +description: "The security errors I made that resulted in lost Bitcoin and how you can avoid them." +category: "Security" +date: 2026-01-15 +--- + +# Security Mistakes That Cost Me Bitcoin + +Security is the most important aspect of Bitcoin ownership. I learned this the hard way—by making nearly every security mistake possible. + +## The $50,000 Wallet Loss + +### The Mistake +In 2021, I stored 1.2 BTC on a software wallet on my laptop. I thought I was being smart by using a reputable wallet and keeping the seed phrase "safe" in a text file on my computer. + +### What Went Wrong +- **Seed phrase stored digitally**: Text file on the same computer as the wallet +- **No backup**: Only one copy of the seed phrase +- **Malware infection**: Keylogger captured my wallet password +- **No 2FA**: Wallet didn't have two-factor authentication enabled + +### The Result +Hackers gained access to my laptop, found the seed phrase file, and drained my wallet. I lost 1.2 BTC (worth ~$50,000 at the time). + +### How You Can Avoid This +1. **Never store seed phrases digitally**: Write them down on paper +2. **Multiple backups**: Store copies in different secure locations +3. **Use hardware wallets**: Keep private keys offline +4. **Enable 2FA**: Add an extra layer of security + +## The Phishing Scam That Almost Worked + +### The Mistake +I received an email that looked exactly like it was from a major exchange, asking me to verify my account due to "suspicious activity." + +### What Almost Went Wrong +- **Clicked the link**: The email contained a convincing phishing URL +- **Entered credentials**: I started typing my password +- **No verification**: I didn't check the sender's email address carefully + +### How I Caught It +I noticed the URL wasn't quite right (exchange.com vs exchange.co) and stopped before completing the login. + +### Prevention Tips +1. **Always verify URLs**: Check the exact domain before entering credentials +2. **Use bookmarked links**: Never click links in emails for financial accounts +3. **Enable email alerts**: Get notified of all account activity +4. **Use unique passwords**: Never reuse passwords across sites + +## The Public Key Exposure Error + +### The Mistake +I publicly posted my Bitcoin address on social media without understanding the privacy implications. + +### What Went Wrong +- **Address reuse**: Used the same address multiple times +- **Public posting**: Linked my real identity to my Bitcoin holdings +- **No privacy mixing**: All transactions were easily traceable + +### The Consequences +- **Privacy loss**: Anyone could see my Bitcoin balance and transactions +- **Target for scams**: Scammers knew I held significant Bitcoin +- **Social engineering**: Received targeted phishing attempts + +### How to Protect Your Privacy +1. **Use new addresses**: Generate a new address for each transaction +2. **Avoid address reuse**: Never use the same address twice +3. **Consider privacy tools**: Use mixers or privacy-focused wallets when appropriate +4. **Separate identities**: Keep your Bitcoin identity separate from your real identity + +## The Backup Failure + +### The Mistake +I created a paper wallet with 0.5 BTC but stored it poorly and the ink faded over time. + +### What Went Wrong +- **Poor storage**: Paper wallet stored in a humid environment +- **No verification**: Didn't test the backup before storing large amounts +- **Single point of failure**: Only one copy of the paper wallet +- **Ink quality**: Used regular printer ink that faded + +### The Result +When I needed to access the Bitcoin, the private key was partially unreadable. I lost access to 0.5 BTC. + +### Proper Backup Procedures +1. **Use quality materials**: Acid-free paper, archival ink +2. **Multiple copies**: Store backups in different locations +3. **Test backups**: Verify you can restore from backup +4. **Consider metal**: Use metal plates for long-term storage + +## Key Security Takeaways + +1. **Your keys, your Bitcoin**: If you don't control the private keys, you don't own the Bitcoin +2. **Digital storage is risky**: Never store seed phrases or private keys digitally +3. **Privacy matters**: Protect your financial privacy at all costs +4. **Test everything**: Verify your backups and security measures +5. **Stay paranoid**: In Bitcoin, paranoia is a survival trait + +## Related Mistakes + +- [Wallet Setup Errors](/"wallet-mistakes.md") +- [Trading Security Issues](/"trading-mistakes.md") +- [Technical Misunderstandings](/"technical-mistakes.md") + +--- + +**Remember**: In Bitcoin, you are your own bank. With that comes the responsibility of proper security. Don't learn these lessons the expensive way like I did. \ No newline at end of file diff --git a/content/mistakes/technical-mistakes.md b/content/mistakes/technical-mistakes.md new file mode 100644 index 0000000..3ba206a --- /dev/null +++ b/content/mistakes/technical-mistakes.md @@ -0,0 +1,185 @@ +--- +title: "Technical Bitcoin Mistakes I Made" +description: "Technical misunderstandings and errors that cost me Bitcoin and caused major headaches." +category: "Technical" +date: 2026-01-12 +--- + +# Technical Bitcoin Mistakes I Made + +Bitcoin has a steep learning curve, and I made plenty of technical mistakes while climbing it. These errors cost me Bitcoin and caused major frustration. + +## The Transaction Fee Mistake + +### The Mistake +I sent a Bitcoin transaction with a very low fee during a network congestion period. I didn't understand how fees worked or why they were important. + +### What Went Wrong +- **Low fee**: I set a fee that was too low for network conditions +- **No RBF**: I didn't enable Replace-By-Fee (RBF) +- **Urgent transaction**: I needed the transaction to confirm quickly +- **No fee estimation**: I didn't check current mempool conditions + +### The Result +My transaction was stuck in the mempool for 3 weeks. I couldn't cancel it or spend those Bitcoin until it finally confirmed. + +### How to Handle Fees Properly +1. **Check mempool**: Use mempool.space to check current fee conditions +2. **Use fee estimation**: Let your wallet estimate appropriate fees +3. **Enable RBF**: Use Replace-By-Fee for important transactions +4. **Plan ahead**: Don't wait until the last minute for urgent transactions + +## The Change Output Confusion + +### The Mistake +I didn't understand Bitcoin's change output mechanism. I sent my entire balance when I only meant to send a portion. + +### What Went Wrong +- **No change understanding**: I didn't know Bitcoin creates change outputs +- **Wrong address**: I sent the entire balance to the recipient +- **No UTXO knowledge**: I didn't understand how Bitcoin manages unspent outputs +- **Wallet confusion**: I didn't understand how my wallet constructed transactions + +### The Result +I accidentally sent 2 BTC instead of 0.5 BTC because I didn't understand the change mechanism. + +### Understanding Bitcoin Transactions +1. **UTXOs**: Bitcoin uses Unspent Transaction Outputs +2. **Change outputs**: Wallets create change to return excess Bitcoin +3. **Transaction inputs**: All inputs must be spent, even if you only want part +4. **Wallet management**: Let your wallet handle transaction construction + +## The SegWit Address Error + +### The Mistake +I sent Bitcoin to a SegWit address from a legacy wallet without understanding the compatibility issues. + +### What Went Wrong +- **Address type confusion**: I didn't understand different address types +- **Compatibility issues**: Some wallets don't support all address types +- **No verification**: I didn't double-check the address type +- **Poor wallet choice**: I was using an outdated wallet + +### The Result +The transaction was rejected and I had to contact support to resolve the issue. + +### Address Types Explained +1. **Legacy (1...)**: Original Bitcoin addresses +2. **SegWit (3...)**: Wrapped SegWit addresses +3. **Native SegWit (bc1...)**: Bech32 addresses +4. **Taproot (bc1p...)**: Latest address type + +## The Block Explorer Misunderstanding + +### The Mistake +I didn't understand how to properly use block explorers to track transactions and verify payments. + +### What Went Wrong +- **No verification**: I didn't verify transactions on the blockchain +- **Explorer confusion**: I didn't know which explorers to use +- **Transaction ID misunderstanding**: I didn't understand how to find and use transaction IDs +- **Confirmation ignorance**: I didn't understand what confirmations meant + +### How to Use Block Explorers +1. **Choose reliable explorers**: Use blockstream.info, mempool.space, or blockchain.com +2. **Verify transactions**: Always check important transactions on the blockchain +3. **Understand confirmations**: Know what different confirmation levels mean +4. **Track addresses**: Monitor addresses for incoming and outgoing transactions + +## The Network Confusion + +### The Mistake +I accidentally sent Bitcoin on the wrong network (testnet instead of mainnet). + +### What Went Wrong +- **Network confusion**: I didn't understand the difference between testnet and mainnet +- **Wrong wallet**: I was using a testnet wallet for mainnet transactions +- **No verification**: I didn't check which network I was using +- **Poor wallet setup**: I had both testnet and mainnet wallets configured + +### The Result +I sent Bitcoin to a testnet address, effectively losing it forever. + +### Network Types +1. **Mainnet**: The real Bitcoin network +2. **Testnet**: Testing network with worthless Bitcoin +3. **Regtest**: Local testing network +4. **Signet**: Another testing network + +## The Multi-Sig Complexity + +### The Mistake +I tried to set up a multi-signature wallet without fully understanding how it works. + +### What Went Wrong +- **Complex setup**: I didn't understand the multi-sig configuration process +- **Key management**: I didn't properly manage multiple private keys +- **Recovery confusion**: I didn't know how to recover a multi-sig wallet +- **Backup complexity**: I didn't create proper backups for all keys + +### The Result +I locked myself out of my own multi-sig wallet and couldn't access 1.5 BTC. + +### Multi-Sig Best Practices +1. **Start simple**: Begin with 2-of-3 multi-sig before complex setups +2. **Test thoroughly**: Test with small amounts first +3. **Key management**: Keep clear records of which key is which +4. **Recovery planning**: Have a clear recovery plan before setup + +## The Lightning Network Mistake + +### The Mistake +I tried to use the Lightning Network without understanding its limitations and requirements. + +### What Went Wrong +- **Channel management**: I didn't understand how to open/close channels +- **Liquidity issues**: I didn't manage channel liquidity properly +- **Routing problems**: I didn't understand payment routing +- **Force-close confusion**: I didn't know what happens when channels force-close + +### The Result +I got my funds stuck in a Lightning channel and had to wait for the timelock to expire. + +### Lightning Network Basics +1. **Channel management**: Understand how to open and close channels +2. **Liquidity**: Maintain balanced inbound and outbound capacity +3. **Fees**: Understand Lightning Network fee structure +4. **Backup**: Use compatible Lightning wallets with proper backup + +## The Scripting Error + +### The Mistake +I tried to create a custom Bitcoin script without understanding the language properly. + +### What Went Wrong +- **Script complexity**: I didn't understand Bitcoin Script limitations +- **OP_RETURN misuse**: I used OP_RETURN incorrectly +- **Signature issues**: I didn't understand signature verification +- **Testnet confusion**: I tested on mainnet instead of testnet + +### The Result +I created an unspendable transaction and lost 0.1 BTC. + +### Bitcoin Script Tips +1. **Start simple**: Begin with basic scripts before complex ones +2. **Use testnet**: Always test on testnet first +3. **Learn gradually**: Build up understanding over time +4. **Use tools**: Use script testing and debugging tools + +## Key Technical Takeaways + +1. **Understand fees**: Learn how Bitcoin fees work +2. **Know address types**: Understand different Bitcoin address formats +3. **Use block explorers**: Learn to verify transactions on-chain +4. **Test first**: Always test with small amounts +5. **Backup everything**: Create proper backups for all technical setups + +## Related Mistakes + +- [Wallet Mistakes](/"wallet-mistakes.md") +- [Security Mistakes](/"security-mistakes.md") +- [Getting Started Guide](/guides/getting-started/) + +--- + +**Remember**: Bitcoin's technical complexity is part of its security. Take the time to understand the technology before risking significant amounts. Don't learn these lessons the expensive way like I did. \ No newline at end of file diff --git a/content/mistakes/trading-mistakes.md b/content/mistakes/trading-mistakes.md new file mode 100644 index 0000000..6d8381c --- /dev/null +++ b/content/mistakes/trading-mistakes.md @@ -0,0 +1,168 @@ +--- +title: "Trading Mistakes That Cost Me Thousands" +description: "The trading errors I made that resulted in significant losses and how you can avoid them." +category: "Trading" +date: 2026-01-13 +--- + +# Trading Mistakes That Cost Me Thousands + +Bitcoin trading is not for the faint of heart. I learned this through painful experience, making nearly every trading mistake possible. Here are the lessons that cost me thousands. + +## The FOMO Purchase + +### The Mistake +In November 2021, I saw Bitcoin skyrocketing to $69,000. Everyone was getting rich, and I didn't want to miss out. I bought 2 BTC at the absolute top using market orders. + +### What Went Wrong +- **FOMO driving**: Fear of missing out clouded my judgment +- **Market orders**: I used market orders and paid high premiums +- **No plan**: I had no entry or exit strategy +- **All-in mentality**: I put too much capital into one trade + +### The Result +Bitcoin crashed to $35,000 over the next few months. I lost 50% of my investment ($69,000) and panic-sold at the bottom. + +### How to Avoid FOMO Trading +1. **Have a plan**: Set entry and exit points before trading +2. **Use limit orders**: Never use market orders for large amounts +3. **Position sizing**: Never risk more than you can afford to lose +4. **Technical analysis**: Learn basic chart patterns and indicators + +## The Panic Sale + +### The Mistake +When Bitcoin dropped from $69,000 to $35,000, I panicked. I thought it was going to zero and sold everything at a loss. + +### What Went Wrong +- **Emotional decision**: Fear drove my selling decision +- **No stop-loss**: I hadn't set predetermined exit points +- **Market timing**: I tried to time the bottom and failed +- **No conviction**: I didn't believe in Bitcoin's long-term value + +### The Lesson +The best time to buy is when there's "blood in the streets." Panic selling is almost always the wrong move. + +### Better Exit Strategy +1. **Set stop-losses**: Determine your maximum acceptable loss +2. **Have conviction**: Understand why you own Bitcoin +3. **Dollar-cost average**: Buy and sell in increments +4. **Long-term perspective**: Don't let short-term volatility shake you out + +## The Leverage Disaster + +### The Mistake +I discovered leverage trading and thought I could get rich quick. I opened a 10x leveraged long position with 1 BTC as collateral. + +### What Went Wrong +- **Over-leveraged**: 10x leverage is extremely risky +- **No risk management**: I didn't understand liquidation prices +- **Market volatility**: Bitcoin moved against me quickly +- **Margin calls**: I couldn't meet margin calls + +### The Result +My position was liquidated when Bitcoin dropped 8%. I lost my entire 1 BTC collateral in a matter of hours. + +### Leverage Trading Rules +1. **Start small**: Use low leverage (2x-3x maximum) +2. **Understand liquidation**: Know exactly when you'll be liquidated +3. **Risk management**: Never risk more than 1-2% per trade +4. **Stop-losses**: Always use stop-loss orders + +## The Altcoin Scam + +### The Mistake +I got into an altcoin that promised "1000x returns." The project had a fancy website, active community, and celebrity endorsements. + +### What Went Wrong +- **No research**: I didn't verify the project's fundamentals +- **Celebrity hype**: I fell for marketing and endorsements +- **Community pressure**: FOMO from social media communities +- **No due diligence**: I didn't check the team or technology + +### The Result +The project turned out to be a scam. The developers rug-pulled and disappeared with everyone's money. I lost 3 BTC. + +### Altcoin Due Diligence +1. **Team verification**: Research the development team +2. **Technology review**: Understand the project's purpose +3. **Tokenomics**: Analyze the token distribution and economics +4. **Community health**: Check if the community is organic or manipulated + +## The Exchange Hack + +### The Mistake +I left significant Bitcoin on an exchange for trading convenience. The exchange was hacked and my funds were stolen. + +### What Went Wrong +- **Exchange storage**: I kept Bitcoin on an exchange long-term +- **Poor security**: The exchange had weak security measures +- **No insurance**: The exchange didn't have insurance coverage +- **Delayed withdrawal**: I didn't withdraw funds promptly + +### The Result +I lost 1.5 BTC in the exchange hack. The exchange never compensated users. + +### Exchange Security Best Practices +1. **Use hardware wallets**: Store Bitcoin offline when not trading +2. **Exchange reputation**: Use only reputable, well-established exchanges +3. **Insurance coverage**: Prefer exchanges with insurance +4. **Prompt withdrawals**: Move Bitcoin to cold storage promptly + +## The Tax Mistake + +### The Mistake +I didn't understand tax implications of Bitcoin trading. I thought crypto was "tax-free" and didn't report my gains. + +### What Went Wrong +- **No tax knowledge**: I didn't research crypto tax laws +- **Poor record-keeping**: I didn't track cost basis and sales +- **No professional help**: I didn't consult a tax professional +- **Assumed anonymity**: I thought crypto transactions were untraceable + +### The Consequences +I faced significant tax penalties and interest for unreported crypto gains. + +### Tax Compliance +1. **Track everything**: Keep detailed records of all transactions +2. **Understand cost basis**: Learn how to calculate gains/losses +3. **Professional help**: Consult with crypto-savvy tax professionals +4. **Report honestly**: Never hide crypto transactions from tax authorities + +## The Technical Analysis Trap + +### The Mistake +I learned basic technical analysis and thought I could predict market movements perfectly. + +### What Went Wrong +- **Overconfidence**: I thought I could outsmart the market +- **Complex indicators**: I used too many conflicting indicators +- **Ignoring fundamentals**: I focused only on charts +- **No risk management**: I was overconfident in my predictions + +### The Result +I made several losing trades based on faulty technical analysis, losing 2 BTC total. + +### Balanced Trading Approach +1. **Combine analysis**: Use both technical and fundamental analysis +2. **Keep it simple**: Don't overcomplicate with too many indicators +3. **Risk management**: Always prioritize risk management over predictions +4. **Humility**: Accept that you can't predict the market perfectly + +## Key Trading Takeaways + +1. **Have a plan**: Never trade without a clear strategy +2. **Risk management**: Always protect your capital first +3. **Avoid leverage**: Be extremely careful with leverage trading +4. **Due diligence**: Research every project thoroughly +5. **Tax compliance**: Understand and follow tax laws + +## Related Mistakes + +- [Security Mistakes](/"security-mistakes.md") +- [Wallet Mistakes](/"wallet-mistakes.md") +- [Security Best Practices](/"guides/security-best-practices.md") + +--- + +**Important**: This is not financial advice. Trading Bitcoin involves significant risk of loss. Never trade more than you can afford to lose, and always do your own research. \ No newline at end of file diff --git a/content/mistakes/wallet-mistakes.md b/content/mistakes/wallet-mistakes.md new file mode 100644 index 0000000..104a5d7 --- /dev/null +++ b/content/mistakes/wallet-mistakes.md @@ -0,0 +1,156 @@ +--- +title: "Wallet Mistakes I Made So You Don't Have To" +description: "Critical wallet setup and management errors that cost me Bitcoin and how to avoid them." +category: "Wallets" +date: 2026-01-14 +--- + +# Wallet Mistakes I Made So You Don't Have To + +Bitcoin wallets are the interface between you and your Bitcoin. I made every wallet mistake possible, from choosing the wrong wallet to catastrophic backup failures. + +## The Wrong Wallet Choice + +### The Mistake +I started with a web wallet because it was "easy" and "convenient." I didn't understand that I didn't actually control the Bitcoin. + +### What Went Wrong +- **Custodial wallet**: The exchange controlled my private keys +- **No control**: I couldn't move my Bitcoin without their permission +- **Platform risk**: If the exchange failed, my Bitcoin could be lost +- **Privacy issues**: The exchange had all my transaction data + +### The Lesson +If you don't control the private keys, you don't own the Bitcoin. Always use non-custodial wallets. + +### Better Wallet Choices +1. **Hardware wallets**: Ledger, Trezor (most secure) +2. **Software wallets**: Electrum, Blue Wallet (good balance) +3. **Paper wallets**: For long-term storage (advanced users) + +## The Seed Phrase Disaster + +### The Mistake +I wrote down my 12-word seed phrase but made several critical errors in how I stored and managed it. + +### What Went Wrong +- **Wrong order**: I wrote the words in the wrong order +- **Misspellings**: I misspelled several words +- **Single copy**: Only one backup of the seed phrase +- **Poor storage**: Stored it where it could be damaged + +### The Result +When I needed to restore my wallet, the seed phrase didn't work. I lost access to 0.8 BTC. + +### Proper Seed Phrase Management +1. **Write it exactly**: Use the exact words in the exact order +2. **Verify immediately**: Test the restore process right away +3. **Multiple copies**: Create 3+ copies in different secure locations +4. **Quality materials**: Use durable paper or metal plates + +## The Address Reuse Error + +### The Mistake +I used the same Bitcoin address for multiple transactions because it was convenient. + +### What Went Wrong +- **Privacy loss**: Anyone could see all my transactions +- **Security risk**: Exposed my total Bitcoin balance +- **Linkability**: Connected all my transactions together +- **Target for scams**: Made me a visible target + +### The Fix +Always use a new address for each transaction. Most modern wallets do this automatically (HD wallets). + +## The Software Update Failure + +### The Mistake +I updated my wallet software without properly backing up first. + +### What Went Wrong +- **No backup**: I hadn't backed up my wallet before updating +- **Corrupted wallet**: The update process failed and corrupted my wallet file +- **No seed phrase**: I had lost my seed phrase +- **Panic actions**: I tried multiple recovery methods that made things worse + +### The Result +I lost access to 0.3 BTC during the update process. + +### Safe Update Procedures +1. **Backup first**: Always create a complete backup before updating +2. **Verify backup**: Test that your backup works +3. **Update gradually**: Don't jump multiple versions at once +4. **Keep old version**: Don't immediately delete the old version + +## The Multi-Wallet Confusion + +### The Mistake +I used multiple wallets but didn't properly track which Bitcoin was where. + +### What Went Wrong +- **No inventory**: I didn't know which wallet held which Bitcoin +- **Forgotten wallets**: I completely forgot about some wallets +- **Mixed funds**: I mixed different types of Bitcoin in the same wallet +- **Poor organization**: No system for tracking my wallets + +### The Solution +Create a wallet inventory system: +1. **List all wallets**: Document every wallet you use +2. **Track balances**: Keep updated records of balances +3. **Label purposes**: Assign specific purposes to each wallet +4. **Regular audits**: Review your wallet inventory monthly + +## The Mobile Wallet Mistake + +### The Mistake +I stored significant Bitcoin on a mobile wallet app on my phone. + +### What Went Wrong +- **Phone loss**: I lost my phone and didn't have proper backups +- **App updates**: The wallet app updated and broke compatibility +- **Limited features**: Mobile apps often lack advanced features +- **Security risks**: Phones are more vulnerable to malware + +### Better Mobile Practices +1. **Small amounts**: Only keep small amounts on mobile wallets +2. **Regular backups**: Backup frequently to cloud or computer +3. **Security apps**: Use reputable, open-source wallet apps +4. **Two-factor**: Enable 2FA wherever possible + +## The Paper Wallet Failure + +### The Mistake +I created a paper wallet but made several critical errors in its creation and storage. + +### What Went Wrong +- **Online generation**: I used an online paper wallet generator +- **Poor printer**: Used a low-quality printer that faded +- **Bad storage**: Stored it in a humid basement +- **No verification**: Never tested that the paper wallet worked + +### The Result +The paper wallet became unreadable and I couldn't access the Bitcoin. + +### Proper Paper Wallet Creation +1. **Offline generation**: Use offline, open-source tools +2. **Quality printing**: Use laser printers on quality paper +3. **Secure storage**: Store in dry, cool, secure locations +4. **Test immediately**: Verify the paper wallet works before funding + +## Key Wallet Takeaways + +1. **Control your keys**: Always use non-custodial wallets +2. **Backup everything**: Multiple backups of all critical data +3. **Test regularly**: Verify your backups and recovery processes +4. **Use new addresses**: Never reuse Bitcoin addresses +5. **Stay organized**: Keep track of all your wallets and balances + +## Related Mistakes + +- [Security Mistakes](/"security-mistakes.md") +- [Technical Misunderstandings](/"technical-mistakes.md") +- [Getting Started Guide](/"guides/getting-started.md") + +--- + +**Remember**: Your Bitcoin wallet is your responsibility. Take the time to learn proper wallet management before storing significant amounts. Don't learn these lessons the expensive way like I did. \ No newline at end of file diff --git a/content/story.md b/content/story.md new file mode 100644 index 0000000..84eadb3 --- /dev/null +++ b/content/story.md @@ -0,0 +1,385 @@ +--- +title: "My Bitcoin Story" +description: "The complete story of my Bitcoin story from 2011 to today, including the mistakes and lessons learned along the way." +--- + +# Don't Be Chad - My Bitcoin Story + +This is my personal Bitcoin story--I will dedicate another page to "how I orange-pilled the company I work for." The details below reflect the actual timeline and experiences that led me to create this site. + +--- + +## 2011: The Beginning - First Encounters + +### Discovering Bitcoin on Slashdot & Ars Technica +Back in 2011, I regularly read tech sites like Slashdot and Ars Technica. It was there that I first encountered stories about "crazy internet money." As a long-time computer geek, I was: + +- **Skeptical but intrigued**: I knew digital currencies were possible—ever heard of Flooz?!—but they never worked beyond the issuing entity +- **Technically curious**: The computer science problems that were simultaneously solved in Bitcoin were mindblowing...almost too much so +- **Early adopter**: I got interested in Bitcoin when it was still very niche + +### CPU Mining and First Loss +- **Mining method**: Used Bitcoin Core on CPU to mine directly to wallet.dat +- **Success**: Actually managed to mine some Bitcoin +- **The disaster**: Lost the entire wallet.dat in a hard drive failure +- **Lesson learned**: Backups are not optional in Bitcoin +- **Cost**: Unknown amount (Bitcoin was worth pennies then, but priceless lesson) + +--- + +## 2012: Outsmarting Myself + +### Losing A Wallet Password +After losing the previous wallet to a failed hard drive, I began regularly backing up my wallet file(s). However, I also put a password on the file. Let's put a pin in that. + +## 2013-2016: The Altcoin Exploration + +### 2013: Dogecoin Experiment +- **Discovery**: Learned about "the memecoin to rule them all" +- **Method**: Used faucets to accumulate DOGE +- **Experience**: First introduction to crypto communities and culture + +### 2013: ...And I Lost The Password +- **Discovery**: When trying to open the wallet on a restored machine, I realized I didn't remember the password...on a wallet that had multiple Bitcoin +- **Action**: I contacted a wallet-recovery service for assistance in recovering the wallet +- **Results**: They were unable to recover the wallet +- **Lesson learned**: Remember your password + +### 2014: Starting (Undisciplined) DCA +- **Platform**: Started monthly Bitcoin purchases on Coinbase +- **Strategy**: Dollar-cost averaging before it was cool +- **Regularity**: October 2014 marked the beginning of accumulation (but it certainly was not disciplined) + +### 2015: Ethereum Distraction +- **The Turing complete revelation**: "Wait, Ethereum is Turing complete?!" +- **Path taken**: My software development background led me down the "Bitcoin 2.0" rabbit hole +- **Time sink**: Spent way too much time on complex smart contracts +- **Lesson**: Sometimes simpler is better + +### 2016: GPU Mining Era +- **Platform**: NiceHash for GPU mining profitability +- **Focus**: Mostly mining altcoins for Bitcoin profits +- **Experience**: Learned about mining profitability and hardware management + +--- + +## 2017: The ASIC Mining and Trading Disaster + +### ASIC Mining Adventure +- **Hardware**: Got into ASIC mining, mostly Litecoin (L3++ machines) +- **Strategy**: Mining Litecoin to accumulate Bitcoin +- **The selling mistake**: Started selling into the 2017 Bitcoin rally in August +- **Compounded error**: Kept selling through November +- **Ultimate failure**: Bought back in December (the absolute top) + +### Gunbot Automated Trading Disaster +Feeling confident about my technical skills, I discovered automated trading bots: +- **Platform**: Gunbot - popular cryptocurrency trading bot +- **Strategy**: Automated grid trading for "passive income" +- **Setup**: Configured complex trading algorithms for Bitcoin and altcoins +- **Initial success**: Small profits that made me overconfident + +### The DeFi Trading Experiment +I got into early DeFi before "DeFi" was even a common term: +- **Platforms**: Various early decentralized exchanges +- **Strategy**: Automated arbitrage and liquidity provision +- **Complexity**: Multiple smart contract interactions +- **Gas fees**: Huge amounts spent on failed transactions +- **Technical issues**: Smart contract bugs and failed transactions + +### The Automated Trading Catastrophe +The combination of Gunbot and early DeFi trading was disastrous: +- **Over-optimization**: Configured overly aggressive trading parameters +- **Market volatility**: 2017 December crash wiped out automated positions +- **Slippage losses**: Automated trades executed at terrible prices +- **Gas wars**: Paid enormous fees during network congestion +- **Smart contract failures**: Lost funds in buggy early DeFi protocols + +### The Total 2017 Damage +The year of "advanced trading" cost me dearly: +- **Mining profits lost**: Sold early, bought at peak +- **Bot subscriptions**: Hundreds spent on Gunbot licenses +- **Trading losses**: Automated bot made terrible decisions during crash +- **DeFi disasters**: Lost funds in early smart contract failures +- **Gas fees**: Hundreds spent on failed transactions +- **Psychological damage**: Overconfidence leading to massive losses + +### The Psychology Problem +This was my first major psychological mistake compounded by technology: +- **Paper hands**: Sold during the rally instead of holding +- **Overconfidence**: Thought automated trading made me invincible +- **FOMO buying**: Bought back at the peak after selling low +- **Complexity trap**: Believed technology could beat simple discipline +- **Lesson**: Automation and complexity don't replace patience and discipline + +### Lessons from the Trading Bot Era +1. **Automated trading is hard**: Bots make mistakes just like humans +2. **Complexity adds risk**: Every additional system adds failure points +3. **Early DeFi was dangerous**: Smart contracts were experimental and buggy +4. **Gas fees matter**: Automated trading can burn through fees quickly +5. **Simple beats complex**: Dollar-cost averaging beats sophisticated algorithms + +--- + +## 2018: The Shitcoin Circus + +### Getting Overwhelmed +2018 was when crypto started getting really complex: +- **Too many projects**: Hundreds of new altcoins daily +- **Information overload**: Couldn't keep up with developments +- **Analysis paralysis**: Too many choices, no clear direction + +### PoWH3D & UpStake +- **The pyramid scheme**: Got caught up in proof-of-weak-hands gamification of crypto +- **The promise**: High yields through gambling mechanisms +- **Reality**: Just sophisticated pyramid schemes with crypto dressing +- **Lesson**: Just buy and hold Bitcoin + +--- + +## 2019: The First Major Security Loss + +### Celsius Yield Trap +- **The mistake**: Moved most crypto assets to Celsius for "yield" +- **The thinking**: "Free money" from lending my Bitcoin +- **Reality**: Centralized counterparty risk +- **The hack**: Exchange was compromised, I lost significant Bitcoin +- **Lesson**: Not your keys, not your Bitcoin (the hard way) + +### Exchange Storage Error +- **Bad habit**: Left Bitcoin on exchange for convenience +- **Vulnerability**: Exposed to exchange security and failures +- **Cost**: Significant Bitcoin loss + major psychological impact + +--- + +## 2020: Forced Savings and More Exchange Risk + +### 401k Conversion +- **Platform**: Used iTrustCapital to convert retirement funds +- **Investment**: Significant retirement money converted to crypto +- **Mistake repeated**: Still leaving Bitcoin on exchange +- **Risk**: Centralized custodian with my life savings + +### The Pattern Recognition +Looking back, I see the pattern: +- **Convenience over security**: Always choosing easy over safe +- **Trusting third parties**: Assuming companies would protect me +- **No proper backup**: Still didn't have secure backup systems + +### Heating My House with Miners +In the winter, I repurposed ASIC miners--mostly the L3++--for home heating: +- **Low setup complexity**: Plugged miners in and fed into the HVAC system +- **Heat distribution**: Managed thermal output throughout the house +- **Mining efficiency**: Maintained Bitcoin production while reducing heating bills +- **Noise management**: Sound dampening and proper ventilation systems +- **Temperature monitoring**: Automated systems to prevent overheating + +--- + +## 2021: The Ultimate FOMO Disaster + +### The $69,000 Top Purchase +This is the mistake that still hurts the most: +- **Timing**: November 2021, absolute market top +- **Amount**: Significant Bitcoin purchase at $69,000 +- **Psychology**: "This time it's different, Bitcoin is going to $100K+" +- **Method**: Market orders, paying premium prices +- **Cost**: My largest single investment mistake + +### Altcoin Scams +Wanting to make up for losses, I tripled down on mistakes: +- **Elephant.money**: "DeFi protocol" promising 1000x returns +- **DRIP**: Heavily endorsed high-yield project +- **Multiple 'degen' tokens**: In short, ponzis that generated yield for early adopters +- **Opportunity Cost**: Substantial Bitcoin sent to various scams +- **Psychology**: Trying to recover losses with bigger risks +- **Result**: More money lost to speculative nonsense + +### Home Mining Upgrade +I added electrical capacity to my garage to keep pipes from freezing: +- **Upgraded electrical**: Added a subpanel to the garage +- **Bought PDUs**: Each with dedicated switches & fuses +- **Bought miners**: Added used miners (S19, S19 Pro, T19) to garage for heat + +--- + +## 2022: The Painful Reality Check + +### Well, It Started Off Great... +- **Out of the blue**: The wallet recovery guy contacted me and let me know that he'd cracked the password +- **Process**: I sent him my wallet.dat file, he took his cut--20% or 30%--and sent me the rest of my Bitcoin +- **Lesson**: The Bitcoin community is awesome + +### The Great Crash +Bitcoin crashed from $69,000 to $35,000, then to $20,000: +- **Portfolio devastation**: Down 70% from peak +- **Psychological impact**: Depression, regret, anger at myself +- **The realization**: I had no idea what Bitcoin actually was and how it is, in fact, a zero-to-one discovery of digital scarcity + +### Celsius Collapse +- **The event**: Celsius went bankrupt +- **Loss**: Most of my crypto (and a significant amount of my Bitcoin) +- **Lesson**: Centralized "crypto" platforms are extremely risky + +### The Learning Awakening +This was my rock bottom: +- **Total losses**: Substantial amount in Bitcoin value lost +- **Psychological state**: Complete demoralization and shame +- **The pivot**: Learn if Bitcoin was really the apex predator or if it was all a scam +- **Decision**: Suck it up, Buttercup + +--- + +## 2023: The Recovery Year + +### Return to Dollar-Cost Averaging (but disciplined this time) +- **Strategy**: Regular Bitcoin purchases regardless of price +- **Discipline**: Automated purchases, emotion removed +- **Focus**: Long-term accumulation, not trading +- **Results**: Slow but steady position rebuilding + +### Executive Presentation +- **First attempt**: Gave my initial pitch to the company to really get into Bitcoin + +### Bitcoin Focus +- **Conversions**: Traded shitcoins for Bitcoin +- **Philosophical Alignment**: Started preferring Bitcoin-only companies + +### The Education Marathon +Instead of more mistakes, I chose education: +- **Books consumed**: The Bitcoin Standard, Inventing Bitcoin, The Sovereign Individual (I'll post a list of all of the books on this site soon) +- **Whitepaper study**: Read and reread Satoshi's whitepaper multiple times +- **Technical learning**: Nodes, mining, pools, security, privacy +- **Bitcoin node**: Set up two Bitcoin nodes (for redundancy) +- **LND node**: Set up LND to test out Lightning + +### Upgraded Security Implementation +- **Hardware wallet**: Blockstream Jade (later upgraded to Foundation Passport & ColdCard models) +- **Seed phrase backup**: Multiple copies in different secure locations +- **Security hygiene**: MFA everywhere, password manager, TOR/VPN when required +- **Recovery testing**: Successfully restored from seed phrase multiple times + +--- + +## 2024: The First Step Is To Admit You Have A Problem + +### Attended a Mining Bootcamp +Decided to talk with industry professionals to get a better understanding of the backbone of Bitcoin production +- **Hands-on experience**: Learned ASIC operation, maintenance, and optimization +- **Mining economics**: Understanding hash rate, electricity costs, mining difficulty adjustments, and profitability calculations +- **Industry insights**: Learned about real estate acquisition, differences in power grids, market dynamics, and how financial regulations impair development of mines +- **Networking**: Connected with professional miners and industry experts + +### More Education +After a few years without social media, I set up a few accounts to engage with the Bitcoin community: +- **NOSTR**: Tested a number of clients in the (quite obvious) early days +- **Orange Pill App**: Joined a few groups, including Lifetime, Mining, and Lightning +- **Telegram**: Joined a number of channels, especially dedicated to modding miners + +### Focusing On Helping Others +Realized my painful experiences had value: +- **Community participation**: Helping newcomers in Bitcoin communities +- **Mentorship**: Helped friends, family, and co-workers familiarize themselves with Bitcoin +- **Wrestle with reality**: Started really thinking through the causality chain of every mistake + +### Hosted Mining & Dedicated Bitcoin Spreadsheet Modeling +Utilizing the data analysis skills obtained in my career, I started writing spreadsheets to model: +- **Personal Finances**: How Bitcoin affects retirement planning +- **Miner Profitability**: Fastest ROI vs longest "survival" rate vs tax writeoffs +- **Miner Optimization**: Optimized parameters in custom firmware to get more hashrate at the lowest possible electrical cost + +--- + +## 2025: Meatspace FTW + +### Attended Multiple Conferences +- **Heatpunk Summit**: Best signal-to-noise ratio at a conference I've ever attended -- the thought leadership in this space is incredible +- **BitBlockBoom**: Another great Bitcoin-only conference: many friendships made and solidified here +- **Kansas City Bitcoin Summit**: Proves just how much "Bitcoin-only" leads to better signal +- **Mining Disrupt**: Proves just how much "Bitcoin-only" leads to better signal + +### Presentations +- **Simply Bitcoin appearance**: Appeared as a guest on a live show to discuss some of the topics on this website +- **5th Bitcoin Block Party in KC**: Asked to speak during the event after my appearance on the Simply Bitcoin live show +- **More executive presentations**: Gave the "Bitcoin should be on the balance sheet" pitch to the Board of Directors + +### Bitcoin-only +- **Migrated IRA**: Moved from iTrustCapital to Unchained for a multi-sig, self-sovereign IRA + +### No Spam Allowed +- **Switched to Knots**: After conversations with Bitcoin Mechanic in meatspace and researching the travesty of Bitcoin Core 30, it was the obvious answer + +### Started Wichita Bitcoiners +- **Inaugural meeting**: First meetup was a success, more are in the works + +### Personal Progress +- **Portfolio recovery**: Back to a disciplined accumulation through dollar-cost averaging +- **Security posture**: Maximum security practices with redundancy +- **Teaching effectiveness**: Better at explaining complex Bitcoin concepts +- **Psychological health**: Much healthier relationship with Bitcoin + +--- + +## 2026: Present Day - Different Kind of Wealth + +### Real Wealth Redefined +I've discovered the true wealth gained wasn't Bitcoin: +- **Knowledge**: Deep understanding of monetary systems and Bitcoin's role +- **Security expertise**: Best practices that actually protect digital assets +- **Community**: Connections with amazing people in the Bitcoin space +- **Purpose**: Helping others avoid the pain I experienced + +### Continued Growth +The Bitcoin story never ends: +- **Ongoing learning**: Lightning Network, privacy tools, technical developments +- **Community service**: More people needing guidance as Bitcoin adoption grows +- **Personal development**: Still learning, still making (much smaller) mistakes +- **Education evolution**: Finding better ways to teach Bitcoin concepts + +--- + +## The Complete Lessons Summary + +### Technical Lessons (The Hard Way) +1. **Not your keys, not your Bitcoin**: The most expensive lesson, learned multiple times +2. **Seed phrase security**: Never, ever store seed phrases digitally +3. **Exchange risk**: Only keep trading amounts on exchanges +4. **Backup everything**: Test backups, verify recovery processes +5. **Address hygiene**: Never reuse Bitcoin addresses + +### Psychological Lessons (Even More Expensive) +1. **FOMO kills**: Emotional trading always leads to losses +2. **Market timing impossible**: Dollar-cost averaging beats genius +3. **Get-rich-quick is a trap**: Bitcoin is not a lottery ticket +4. **Patience pays**: Long-term thinking beats short-term gambling +5. **Humility required**: I don't know everything, and that's okay + +### Security Lessons (The Most Important) +1. **Security first, always**: Convenience costs more than you think +2. **Assume you're targeted**: Act like hackers specifically want your Bitcoin +3. **Defense in depth**: Multiple layers of security protection +4. **Test everything**: Verify backups, transactions, recovery processes +5. **Stay updated**: Bitcoin security practices evolve over time + +--- + +## The Story Continues + +My Bitcoin story has cost me over half a million dollars in direct and indirect losses, so...don't be Chad. + +Bitcoin taught me: +- **What money actually is**: Store of value, medium of exchange, unit of account +- **The importance of security**: Digital asset protection is non-negotiable +- **The value of patience**: Long-term thinking beats short-term gambling +- **Power of community**: Learning together is better than failing alone +- **The need for humility**: Recognizing what you don't know is strength + +The story continues, but now I'm helping others navigate it more safely. That's the real victory. + +--- + +**Want to share your own Bitcoin journey?** +I'd love to hear your story (anonymously if preferred): chad@dontbechad.com + +*Last updated: January 2026* \ No newline at end of file diff --git a/dev.sh b/dev.sh new file mode 100755 index 0000000..8421a16 --- /dev/null +++ b/dev.sh @@ -0,0 +1,148 @@ +#!/bin/bash + +# Development script for dontbechad.com +# This script helps with local development and testing + +set -e + +echo "🚀 Don't Be Chad Development Script" +echo "=================================" + +# Check if Hugo is installed +if ! command -v hugo &> /dev/null; then + echo "❌ Hugo is not installed. Please install Hugo first:" + echo " https://gohugo.io/getting-started/installing/" + exit 1 +fi + +# Function to start development server +start_dev() { + echo "🔧 Starting Hugo development server..." + hugo server -D --bind 0.0.0.0 --port 1313 +} + +# Function to build for production +build_prod() { + echo "🏗️ Building for production..." + hugo --minify + echo "✅ Site built successfully in public/ directory" +} + +# Function to check content +check_content() { + echo "📝 Checking content structure..." + + # Check for required files + required_files=( + "content/_index.md" + "content/about.md" + "content/mistakes/_index.md" + "content/guides/_index.md" + "hugo.yaml" + ) + + for file in "${required_files[@]}"; do + if [[ -f "$file" ]]; then + echo "✅ $file exists" + else + echo "❌ $file missing" + fi + done + + # Check for images directory + if [[ -d "static/images" ]]; then + echo "✅ Images directory exists" + else + echo "⚠️ Images directory missing (create if needed)" + fi +} + +# Function to validate links +validate_links() { + echo "🔗 Validating internal links..." + # Note: This would require additional tooling + echo "⚠️ Link validation requires additional setup" +} + +# Function to run security checks +security_check() { + echo "🔒 Running security checks..." + + # Check for sensitive files + sensitive_patterns=( + "*.key" + "*.pem" + "id_rsa" + ".env" + "password" + ) + + echo "Checking for sensitive files..." + find . -name "*.key" -o -name "*.pem" -o -name "id_rsa" -o -name ".env" | grep -v node_modules || echo "✅ No sensitive files found" + + # Check for hardcoded secrets + echo "Checking for hardcoded secrets..." + grep -r "password\|secret\|key\|token" content/ static/ --include="*.md" --include="*.js" --include="*.css" | grep -v "bitcoin\|Bitcoin" || echo "✅ No hardcoded secrets found" +} + +# Function to optimize images +optimize_images() { + echo "🖼️ Optimizing images..." + if [[ -d "static/images" ]]; then + echo "Found images directory. Consider optimizing images before deployment." + else + echo "No images directory found." + fi +} + +# Function to deploy preview +deploy_preview() { + echo "🚀 Deploying preview build..." + build_prod + + # Check if netlify CLI is installed + if command -v netlify &> /dev/null; then + netlify deploy --dir=public --message="Development preview" + else + echo "⚠️ Netlify CLI not installed. Install with: npm install -g netlify-cli" + fi +} + +# Main menu +case "${1:-dev}" in + "dev") + start_dev + ;; + "build") + build_prod + ;; + "check") + check_content + ;; + "security") + security_check + ;; + "optimize") + optimize_images + ;; + "preview") + deploy_preview + ;; + "help"|"-h"|"--help") + echo "Usage: $0 [command]" + echo "" + echo "Commands:" + echo " dev Start development server (default)" + echo " build Build for production" + echo " check Check content structure" + echo " security Run security checks" + echo " optimize Optimize images" + echo " preview Deploy preview build" + echo " help Show this help message" + ;; + *) + echo "❌ Unknown command: $1" + echo "Use '$0 help' for available commands" + exit 1 + ;; +esac \ No newline at end of file diff --git a/hugo.yaml b/hugo.yaml new file mode 100644 index 0000000..b48f706 --- /dev/null +++ b/hugo.yaml @@ -0,0 +1,35 @@ +baseURL: 'https://dontbechad.com' +languageCode: 'en-us' +title: "Don't Be Chad - Bitcoin Education" +theme: 'dontbechad' + +params: + description: "I made the mistakes so you don't have to. Learn Bitcoin security, trading, and technical concepts from real-world errors." + author: "Chad" + tagline: "Bitcoin Education from Real Mistakes" + colors: + primary: "#FF6B35" + background: "#0A1929" + text: "#1A1A1A" + card: "#000000" + accent: "#FF8C42" + +markup: + goldmark: + renderer: + unsafe: true + highlight: + style: "monokai" + +security: + enableInlineShortcodes: false + exec: + allow: [] + http: + methods: [] + urls: [] + +outputs: + home: ["HTML", "RSS"] + page: ["HTML"] + section: ["HTML"] \ No newline at end of file diff --git a/layouts/_default/rss.xml b/layouts/_default/rss.xml new file mode 100644 index 0000000..d89a5d9 --- /dev/null +++ b/layouts/_default/rss.xml @@ -0,0 +1,32 @@ +{{- $rss := .Site.Home.OutputFormats.Get "rss" -}} +{{- $content := where .Site.RegularPages "Type" "in" (slice "mistakes" "guides") -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $content = $content | first $limit -}} +{{- end -}} + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ .Site.Title }} + Hugo -- gohugo.io{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{ with .OutputFormats.Get "RSS" }} + {{- printf `` .Permalink .MediaType | safeHTML -}} + {{ end }} + {{ range $content }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + {{ .Summary | html }} + + {{ end }} + + \ No newline at end of file diff --git a/netlify.toml b/netlify.toml new file mode 100644 index 0000000..8ff188f --- /dev/null +++ b/netlify.toml @@ -0,0 +1,62 @@ +# Don't Be Ch.ad Netlify Configuration + +[build] + publish = "public" + command = "hugo --minify" + +[build.environment] + HUGO_VERSION = "0.121.0" + HUGO_ENV = "production" + +[context.production] + command = "hugo --minify" + +[context.deploy-preview] + command = "hugo --minify --buildFuture" + +[context.branch-deploy] + command = "hugo --minify" + +[[headers]] + for = "/*" + [headers.values] + X-Frame-Options = "DENY" + X-XSS-Protection = "1; mode=block" + X-Content-Type-Options = "nosniff" + Referrer-Policy = "strict-origin-when-cross-origin" + Permissions-Policy = "geolocation=(), microphone=(), camera=()" + +[[headers]] + for = "/css/*" + [headers.values] + Cache-Control = "public, max-age=31536000, immutable" + +[[headers]] + for = "/js/*" + [headers.values] + Cache-Control = "public, max-age=31536000, immutable" + +[[headers]] + for = "/images/*" + [headers.values] + Cache-Control = "public, max-age=31536000, immutable" + +[[headers]] + for = "/*.html" + [headers.values] + Cache-Control = "public, max-age=3600" + +[[redirects]] + from = "/bitcoin-mistakes" + to = "/mistakes/" + status = 301 + +[[redirects]] + from = "/bitcoin-security" + to = "/guides/security-best-practices/" + status = 301 + +[[redirects]] + from = "/bitcoin-guide" + to = "/guides/getting-started/" + status = 301 \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..f46b219 --- /dev/null +++ b/package.json @@ -0,0 +1,40 @@ +{ + "name": "dontbechad", + "version": "1.0.0", + "description": "Bitcoin education website - I made the mistakes so you don't have to", + "main": "index.js", + "scripts": { + "dev": "hugo server -D", + "build": "hugo --minify", + "deploy": "netlify deploy --prod --dir=public", + "preview": "netlify deploy --dir=public", + "check": "hugo check", + "optimize": "npm run optimize:css && npm run optimize:js", + "optimize:css": "cleancss -o static/css/style.min.css static/css/style.css", + "optimize:js": "terser static/js/script.js -o static/js/script.min.js", + "serve": "hugo server" + }, + "keywords": [ + "bitcoin", + "education", + "security", + "mistakes", + "cryptocurrency", + "hugo", + "static-site" + ], + "author": "Chad", + "license": "MIT", + "repository": { + "type": "git", + "url": "https://github.com/yourusername/dontbechad.git" + }, + "devDependencies": { + "clean-css-cli": "^5.6.0", + "terser": "^5.19.0", + "netlify-cli": "^17.0.0" + }, + "engines": { + "node": ">=16.0.0" + } +} \ No newline at end of file diff --git a/static/apple-touch-icon.svg b/static/apple-touch-icon.svg new file mode 100644 index 0000000..3b8c343 --- /dev/null +++ b/static/apple-touch-icon.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/css/journey.css b/static/css/journey.css new file mode 100644 index 0000000..14c93e2 --- /dev/null +++ b/static/css/journey.css @@ -0,0 +1,447 @@ +/* Dynamic Story Page Styles */ +.story-page { + background: linear-gradient(135deg, #0A1929 0%, #1A2332 50%, #0F172A 100%); + background-attachment: fixed; + position: relative; + overflow: hidden; +} + +/* Logo styling */ +.logo-image { + height: 40px; + width: auto; + filter: drop-shadow(0 2px 8px rgba(255, 107, 53, 0.3)); + transition: all 0.3s ease; +} + +.logo-image:hover { + transform: scale(1.05); + filter: drop-shadow(0 4px 12px rgba(255, 107, 53, 0.5)); +} + +.logo-svg { + animation: subtle-glow 4s ease-in-out infinite alternate; +} + +@keyframes subtle-glow { + 0% { filter: brightness(1) drop-shadow(0 0 5px rgba(255, 107, 53, 0.3)); } + 100% { filter: brightness(1.1) drop-shadow(0 0 8px rgba(255, 107, 53, 0.5)); } +} + +.story-page::before { + content: ''; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + radial-gradient(circle at 20% 50%, rgba(255, 107, 53, 0.1) 0%, transparent 50%), + radial-gradient(circle at 80% 80%, rgba(255, 107, 53, 0.05) 0%, transparent 50%), + url('data:image/svg+xml;utf8,'); + background-size: 100% 100%, 100% 100%, 100px 100px; + pointer-events: none; + z-index: 1; +} + +.story-container { + max-width: 1000px; + margin: 0 auto; + padding: 40px 20px; + position: relative; + z-index: 2; +} + +.story-intro { + text-align: center; + margin-bottom: 60px; +} + +.story-intro h1 { + color: var(--primary-color); + margin-bottom: 20px; + font-size: 2.5rem; + font-weight: 700; + text-shadow: 0 0 20px rgba(255, 107, 53, 0.3); + background: linear-gradient(135deg, #FF6B35, #FF8F65); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.story-intro p { + max-width: 600px; + margin: 0 auto; + line-height: 1.6; + color: #E2E8F0; + font-size: 1.1rem; +} + +.story-thread { + position: relative; + max-width: 800px; + margin: 0 auto; +} + +.year-section { + margin-bottom: 40px; + position: relative; +} + +.year-header { + background: linear-gradient(135deg, rgba(255, 107, 53, 0.9), rgba(255, 143, 101, 0.9)); + color: white; + padding: 20px 30px; + border-radius: 15px; + cursor: pointer; + display: flex; + justify-content: space-between; + align-items: center; + font-weight: bold; + font-size: 1.3rem; + transition: all 0.3s ease; + border: 2px solid rgba(255, 107, 53, 0.3); + width: 100%; + box-sizing: border-box; + backdrop-filter: blur(10px); + box-shadow: 0 8px 32px rgba(255, 107, 53, 0.2); + position: relative; + overflow: hidden; +} + +.year-header::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); + transition: left 0.5s ease; +} + +.year-header:hover::before { + left: 100%; +} + +.year-header:hover { + transform: translateY(-3px); + box-shadow: 0 12px 40px rgba(255, 107, 53, 0.4); + border-color: rgba(255, 107, 53, 0.5); +} + +.year-arrow { + transition: transform 0.3s ease; + font-size: 1.5rem; +} + +.year-header.active .year-arrow { + transform: rotate(90deg); +} + +.year-badge { + background: rgba(255, 255, 255, 0.2); + padding: 4px 12px; + border-radius: 20px; + font-size: 0.9rem; +} + +.year-content { + background: rgba(26, 35, 50, 0.8); + border: 1px solid rgba(255, 107, 53, 0.2); + border-radius: 15px; + margin-top: 15px; + overflow: hidden; + max-height: 0; + transition: max-height 0.5s ease, opacity 0.3s ease; + opacity: 0; + backdrop-filter: blur(10px); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); +} + +.year-content.active { + max-height: 2000px; + opacity: 1; +} + +.year-content-inner { + padding: 35px; + color: #E2E8F0; +} + +.year-content-inner h3 { + color: #FF6B35; + font-size: 1.3rem; + margin-bottom: 15px; + font-weight: 600; +} + +.year-content-inner h4 { + color: #FF8F65; + font-size: 1.1rem; + margin-bottom: 10px; + font-weight: 500; +} + +.year-content-inner p { + line-height: 1.7; + margin-bottom: 15px; + color: #CBD5E1; +} + +.year-content-inner ul { + list-style: none; + padding: 0; + margin-bottom: 20px; +} + +.year-content-inner li { + margin-bottom: 12px; + padding-left: 25px; + position: relative; + line-height: 1.6; + color: #CBD5E1; +} + +.year-content-inner li:before { + content: '₿'; + position: absolute; + left: 0; + color: #FF6B35; + font-weight: bold; + font-size: 1.1rem; +} + +.year-content-inner strong { + color: #FF8F65; + font-weight: 600; +} + +.timeline-marker { + position: absolute; + left: 50%; + top: 50px; + width: 12px; + height: 12px; + background: var(--primary-color); + border-radius: 50%; + transform: translateX(-50%); + z-index: 10; + box-shadow: 0 0 20px rgba(255, 107, 53, 0.5); +} + +.timeline-line { + position: absolute; + left: 50%; + top: 56px; + bottom: 0; + width: 2px; + background: linear-gradient(180deg, var(--primary-color), transparent); + transform: translateX(-50%); +} + +.experience-section { + margin-bottom: 40px; + padding-left: 60px; + position: relative; +} + +.experience-section:before { + content: ''; + position: absolute; + left: 20px; + top: 8px; + bottom: 8px; + width: 2px; + background: var(--border-color); +} + +.experience-title { + color: var(--primary-color); + font-size: 1.1rem; + font-weight: bold; + margin-bottom: 15px; + position: relative; +} + +.experience-title:before { + content: ''; + position: absolute; + left: -45px; + top: 50%; + width: 8px; + height: 8px; + background: var(--primary-color); + border-radius: 50%; + transform: translateY(-50%); +} + +.experience-content { + margin-bottom: 20px; +} + +.experience-content ul { + list-style: none; + padding: 0; +} + +.experience-content li { + margin-bottom: 12px; + padding-left: 20px; + position: relative; + line-height: 1.5; +} + +.experience-content li:before { + content: '₿'; + position: absolute; + left: 0; + color: var(--primary-color); + font-weight: bold; +} + +.milestone-highlight { + background: rgba(255, 107, 53, 0.1); + border-left: 4px solid var(--primary-color); + padding: 15px; + margin: 20px 0; + border-radius: 0 8px 8px 0; +} + +.milestone-title { + color: var(--primary-color); + font-weight: bold; + margin-bottom: 10px; +} + +.story-navigation { + display: flex; + justify-content: center; + gap: 20px; + margin: 40px 0; + flex-wrap: wrap; +} + +.story-nav-btn { + background: rgba(26, 35, 50, 0.8); + border: 2px solid rgba(255, 107, 53, 0.3); + color: #FF6B35; + padding: 10px 18px; + border-radius: 10px; + text-decoration: none; + font-weight: 600; + transition: all 0.3s ease; + backdrop-filter: blur(10px); + font-size: 0.9rem; +} + +.story-nav-btn:hover { + background: rgba(255, 107, 53, 0.9); + color: white; + transform: translateY(-2px); + box-shadow: 0 5px 20px rgba(255, 107, 53, 0.3); + border-color: rgba(255, 107, 53, 0.5); +} + +.year-number { + font-size: 1.5rem; + font-weight: bold; + text-shadow: 0 0 10px rgba(255, 107, 53, 0.5); +} + +/* Add glowing effect for active sections */ +.year-header.active { + background: linear-gradient(135deg, rgba(255, 107, 53, 1), rgba(255, 143, 101, 1)); + box-shadow: 0 0 30px rgba(255, 107, 53, 0.5); + border-color: rgba(255, 107, 53, 0.8); +} + +/* Add pulse animation to year arrow */ +@keyframes pulse { + 0%, 100% { transform: scale(1); } + 50% { transform: scale(1.1); } +} + +.year-header.active .year-arrow { + animation: pulse 2s infinite; +} + +/* Add smooth fade-in animation */ +@keyframes fadeInUp { + from { + opacity: 0; + transform: translateY(30px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +.year-content.active .year-content-inner { + animation: fadeInUp 0.5s ease; +} + +/* Add hover effect for navigation buttons */ +.story-nav-btn { + position: relative; + overflow: hidden; +} + +.story-nav-btn::after { + content: ''; + position: absolute; + top: 50%; + left: 50%; + width: 0; + height: 0; + border-radius: 50%; + background: rgba(255, 255, 255, 0.2); + transform: translate(-50%, -50%); + transition: width 0.3s ease, height 0.3s ease; +} + +.story-nav-btn:hover::after { + width: 100%; + height: 100%; +} + +.quick-jump { + text-align: center; + margin-bottom: 40px; +} + +.quick-jump label { + color: #E2E8F0; + margin-bottom: 15px; + display: block; + font-weight: 600; + font-size: 1.1rem; + text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); +} + +@media (max-width: 768px) { + .story-container { + padding: 20px 15px; + } + + .timeline-marker { + left: 20px; + } + + .timeline-line { + left: 20px; + } + + .experience-section { + padding-left: 40px; + } + + .experience-section:before { + left: 10px; + } + + .experience-title:before { + left: -25px; + } +} \ No newline at end of file diff --git a/static/css/style.css b/static/css/style.css new file mode 100644 index 0000000..2710569 --- /dev/null +++ b/static/css/style.css @@ -0,0 +1,658 @@ +/* CSS Variables for Theme */ +:root { + --primary-color: #FF6B35; + --primary-hover: #FF8C42; + --background-color: #0A1929; + --text-color: #1A1A1A; + --card-background: rgba(26, 35, 50, 0.8); + --accent-color: #FF8C42; + --border-color: rgba(255, 107, 53, 0.2); + --text-light: #E2E8F0; + --text-muted: #94A3B8; +} + +/* Reset and Base Styles */ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; + background: linear-gradient(135deg, #0A1929 0%, #1A2332 50%, #0F172A 100%); + background-attachment: fixed; + color: var(--text-light); + line-height: 1.6; + min-height: 100vh; + position: relative; + overflow-x: hidden; +} + +body::before { + content: ''; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-image: + radial-gradient(circle at 20% 50%, rgba(255, 107, 53, 0.1) 0%, transparent 50%), + radial-gradient(circle at 80% 80%, rgba(255, 107, 53, 0.05) 0%, transparent 50%), + url('data:image/svg+xml;utf8,'); + background-size: 100% 100%, 100% 100%, 100px 100px; + pointer-events: none; + z-index: 1; +} + +/* Container */ +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 20px; +} + +/* Header and Navigation */ +.header { + background: rgba(26, 35, 50, 0.95); + border-bottom: 1px solid rgba(255, 107, 53, 0.2); + position: sticky; + top: 0; + z-index: 100; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); +} + +.nav-container { + max-width: 1200px; + margin: 0 auto; + padding: 0 20px; + display: flex; + justify-content: space-between; + align-items: center; + height: 70px; + position: relative; + z-index: 2; +} + +.nav-logo { + color: var(--primary-color); + text-decoration: none; + font-size: 1.5rem; + font-weight: bold; + display: flex; + align-items: center; +} + +.logo-image { + height: 40px; + width: auto; + filter: drop-shadow(0 2px 8px rgba(255, 107, 53, 0.3)); + transition: all 0.3s ease; +} + +.logo-image:hover { + transform: scale(1.05); + filter: drop-shadow(0 4px 12px rgba(255, 107, 53, 0.5)); +} + +.nav-menu { + display: flex; + list-style: none; + gap: 2rem; +} + +.nav-link { + color: var(--text-light); + text-decoration: none; + transition: all 0.3s ease; + padding: 8px 16px; + border-radius: 6px; +} + +.nav-link:hover { + color: var(--primary-color); + background: rgba(255, 107, 53, 0.1); +} + +.nav-toggle { + display: none; + flex-direction: column; + background: none; + border: none; + cursor: pointer; + padding: 5px; +} + +.nav-toggle span { + width: 25px; + height: 3px; + background-color: var(--text-light); + margin: 3px 0; + transition: 0.3s; +} + +/* Hero Section */ +.hero { + padding: 100px 0; + text-align: center; + position: relative; + z-index: 2; +} + +.hero-container { + max-width: 800px; + margin: 0 auto; + padding: 0 20px; + position: relative; + z-index: 2; +} + +.hero-title { + font-size: 3.5rem; + font-weight: bold; + color: var(--primary-color); + margin-bottom: 1rem; + line-height: 1.2; + text-shadow: 0 0 20px rgba(255, 107, 53, 0.3); + background: linear-gradient(135deg, #FF6B35, #FF8F65); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.hero-tagline { + font-size: 1.5rem; + color: var(--accent-color); + margin-bottom: 1.5rem; + text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); +} + +.hero-description { + font-size: 1.1rem; + color: var(--text-light); + margin-bottom: 2.5rem; + max-width: 600px; + margin-left: auto; + margin-right: auto; + line-height: 1.7; +} + +.hero-buttons { + display: flex; + gap: 1rem; + justify-content: center; + flex-wrap: wrap; +} + +/* Container */ +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 20px; + position: relative; + z-index: 2; +} + +/* Buttons */ +.btn { + display: inline-block; + padding: 12px 24px; + text-decoration: none; + border-radius: 10px; + font-weight: 600; + transition: all 0.3s ease; + position: relative; + overflow: hidden; + backdrop-filter: blur(10px); +} + +.btn::before { + content: ''; + position: absolute; + top: 0; + left: -100%; + width: 100%; + height: 100%; + background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent); + transition: left 0.5s ease; +} + +.btn:hover::before { + left: 100%; +} + +.btn { + background: rgba(26, 35, 50, 0.8); + color: var(--primary-color); + border: 2px solid rgba(255, 107, 53, 0.3); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); +} + +.btn:hover { + background: rgba(255, 107, 53, 0.9); + color: white; + transform: translateY(-3px); + box-shadow: 0 12px 40px rgba(255, 107, 53, 0.3); + border-color: rgba(255, 107, 53, 0.5); +} + +.btn-large { + padding: 16px 32px; + font-size: 1.1rem; +} + +/* Sections */ +.content-section { + padding: 80px 0; +} + +.section-title { + font-size: 2.5rem; + color: var(--primary-color); + text-align: center; + margin-bottom: 3rem; + text-shadow: 0 0 20px rgba(255, 107, 53, 0.3); + background: linear-gradient(135deg, #FF6B35, #FF8F65); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +/* Cards */ +.card-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(350px, 1fr)); + gap: 2rem; + margin-top: 2rem; +} + +.card { + background: rgba(26, 35, 50, 0.8); + border: 1px solid rgba(255, 107, 53, 0.2); + border-radius: 15px; + overflow: hidden; + transition: all 0.3s ease; + backdrop-filter: blur(10px); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); + position: relative; +} + +.card::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient(135deg, rgba(255, 107, 53, 0.05), transparent); + pointer-events: none; +} + +.card:hover { + transform: translateY(-5px); + box-shadow: 0 12px 40px rgba(255, 107, 53, 0.3); + border-color: rgba(255, 107, 53, 0.4); +} + +.card-content { + padding: 2rem; + position: relative; + z-index: 2; +} + +.card-title { + font-size: 1.5rem; + color: var(--primary-color); + margin-bottom: 1rem; + text-shadow: 0 0 10px rgba(255, 107, 53, 0.3); +} + +.card-title a { + color: inherit; + text-decoration: none; + transition: all 0.3s ease; +} + +.card-title a:hover { + color: var(--primary-hover); + text-shadow: 0 0 15px rgba(255, 107, 53, 0.5); +} + +.card-excerpt { + color: var(--text-light); + margin-bottom: 1.5rem; + line-height: 1.6; +} + +.card-meta { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 0.9rem; + color: var(--text-muted); +} + +.card-category { + background-color: var(--primary-color); + color: white; + padding: 2px 8px; + border-radius: 4px; + font-size: 0.8rem; +} + +/* CTA Section */ +.cta-section { + padding: 80px 0; + text-align: center; + background: linear-gradient(135deg, #1a2b3d 0%, var(--background-color) 100%); +} + +.cta-section .section-title { + margin-bottom: 1.5rem; +} + +.cta-section p { + font-size: 1.2rem; + color: var(--text-light); + margin-bottom: 2.5rem; + max-width: 600px; + margin-left: auto; + margin-right: auto; +} + +/* Page Headers */ +.page-header { + text-align: center; + margin-bottom: 3rem; + padding-top: 2rem; +} + +.page-title { + font-size: 3rem; + color: var(--primary-color); + margin-bottom: 1rem; + text-shadow: 0 0 20px rgba(255, 107, 53, 0.3); + background: linear-gradient(135deg, #FF6B35, #FF8F65); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} + +.page-description { + font-size: 1.2rem; + color: var(--text-light); + max-width: 600px; + margin: 0 auto; +} + +/* Content Styles */ +.content { + max-width: 800px; + margin: 0 auto; + padding: 0 20px; +} + +.content h1, +.content h2, +.content h3, +.content h4, +.content h5, +.content h6 { + color: var(--primary-color); + margin-top: 2rem; + margin-bottom: 1rem; +} + +.content h1 { + font-size: 2.5rem; + text-shadow: 0 0 15px rgba(255, 107, 53, 0.3); +} + +.content h2 { + font-size: 2rem; + text-shadow: 0 0 10px rgba(255, 107, 53, 0.2); +} + +.content h3 { + font-size: 1.5rem; + color: #FF8F65; +} + +.content p { + margin-bottom: 1.5rem; + color: #CBD5E1; + line-height: 1.7; +} + +.content ul, +.content ol { + margin-bottom: 1.5rem; + padding-left: 2rem; + color: var(--text-light); +} + +.content li { + margin-bottom: 0.5rem; +} + +.content a { + color: var(--primary-color); + text-decoration: none; + border-bottom: 1px solid transparent; + transition: border-color 0.3s ease; +} + +.content a:hover { + border-bottom-color: var(--primary-color); +} + +.content blockquote { + border-left: 4px solid var(--primary-color); + padding-left: 1.5rem; + margin: 1.5rem 0; + font-style: italic; + color: var(--text-muted); +} + +.content code { + background-color: rgba(255, 107, 53, 0.1); + color: var(--accent-color); + padding: 2px 6px; + border-radius: 4px; + font-family: 'Monaco', 'Menlo', monospace; +} + +.content pre { + background: rgba(26, 35, 50, 0.8); + border: 1px solid rgba(255, 107, 53, 0.2); + border-radius: 10px; + padding: 1.5rem; + overflow-x: auto; + margin: 1.5rem 0; + backdrop-filter: blur(10px); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); +} + +.content pre code { + background: none; + padding: 0; + color: var(--text-light); +} + +/* Footer */ +.footer { + background: rgba(26, 35, 50, 0.9); + border-top: 1px solid rgba(255, 107, 53, 0.2); + padding: 3rem 0; + margin-top: 4rem; + backdrop-filter: blur(15px); + box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.3); +} + +.footer-container { + max-width: 1200px; + margin: 0 auto; + padding: 0 20px; + text-align: center; +} + +.footer p { + color: var(--text-muted); + margin-bottom: 0.5rem; +} + +.footer-disclaimer { + font-size: 0.9rem; + font-style: italic; +} + +/* Responsive Design */ +@media (max-width: 768px) { + .nav-menu { + display: none; + position: absolute; + top: 100%; + left: 0; + right: 0; + background-color: rgba(0, 0, 0, 0.95); + flex-direction: column; + padding: 1rem; + border-top: 1px solid var(--border-color); + } + + .nav-menu.active { + display: flex; + } + + .nav-toggle { + display: flex; + } + + .hero-title { + font-size: 2.5rem; + } + + .hero-tagline { + font-size: 1.2rem; + } + + .section-title { + font-size: 2rem; + } + + .page-title { + font-size: 2.5rem; + } + + .card-grid { + grid-template-columns: 1fr; + } + + .hero-buttons { + flex-direction: column; + align-items: center; + } + + .btn { + width: 200px; + text-align: center; + } +} + +@media (max-width: 480px) { + .hero { + padding: 60px 0; + } + + .hero-title { + font-size: 2rem; + } + + .content-section, + .cta-section { + padding: 60px 0; + } +} + +/* Main content wrapper */ +main { + position: relative; + z-index: 2; +} + +/* Enhanced list styling */ +.content ul li, +.content ol li { + color: #CBD5E1; + margin-bottom: 0.8rem; + position: relative; + padding-left: 1.5rem; +} + +.content ul li::before { + content: '₿'; + position: absolute; + left: 0; + color: #FF6B35; + font-weight: bold; + font-size: 0.9rem; +} + +/* Enhanced link styling */ +.content a { + color: #FF8F65; + text-decoration: none; + transition: all 0.3s ease; + border-bottom: 1px solid transparent; +} + +.content a:hover { + color: #FF6B35; + border-bottom-color: rgba(255, 107, 53, 0.5); + text-shadow: 0 0 10px rgba(255, 107, 53, 0.3); +} + +/* Enhanced blockquote styling */ +.content blockquote { + border-left: 4px solid var(--primary-color); + background: rgba(26, 35, 50, 0.8); + padding: 1.5rem; + margin: 1.5rem 0; + border-radius: 0 10px 10px 0; + color: #E2E8F0; + backdrop-filter: blur(10px); + box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); +} + +.content blockquote p { + margin-bottom: 0; +} + +/* Enhanced table styling */ +.content table { + width: 100%; + border-collapse: collapse; + margin: 1.5rem 0; + background: rgba(26, 35, 50, 0.8); + border-radius: 10px; + overflow: hidden; + backdrop-filter: blur(10px); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); +} + +.content th, +.content td { + padding: 1rem; + text-align: left; + border-bottom: 1px solid rgba(255, 107, 53, 0.2); +} + +.content th { + background: rgba(255, 107, 53, 0.1); + color: var(--primary-color); + font-weight: bold; +} + +.content tr:hover { + background: rgba(255, 107, 53, 0.05); +} \ No newline at end of file diff --git a/static/favicon-16.svg b/static/favicon-16.svg new file mode 100644 index 0000000..1894087 --- /dev/null +++ b/static/favicon-16.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/favicon-192.svg b/static/favicon-192.svg new file mode 100644 index 0000000..0cca7c8 --- /dev/null +++ b/static/favicon-192.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/static/favicon-32.svg b/static/favicon-32.svg new file mode 100644 index 0000000..e3c5088 --- /dev/null +++ b/static/favicon-32.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/static/favicon-test.html b/static/favicon-test.html new file mode 100644 index 0000000..1176020 --- /dev/null +++ b/static/favicon-test.html @@ -0,0 +1,48 @@ + + + + + + Favicon Test + + + + + + + + +

Bitcoin Symbol Favicons Test

+ +
+
Favicon SVG (16x16)
+ 16x16 favicon +
+ +
+
Favicon SVG (32x32)
+ 32x32 favicon +
+ +
+
Favicon SVG (192x192)
+ 192x192 favicon +
+ +
+
Apple Touch Icon
+ Apple touch icon +
+ +
+
Main Favicon
+ Main favicon +
+ + \ No newline at end of file diff --git a/static/favicon.svg b/static/favicon.svg new file mode 100644 index 0000000..644c618 --- /dev/null +++ b/static/favicon.svg @@ -0,0 +1,4 @@ + + + B + \ No newline at end of file diff --git a/static/images/logo.svg b/static/images/logo.svg new file mode 100644 index 0000000..bd5e019 --- /dev/null +++ b/static/images/logo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + DON'T ₿E CHAD + \ No newline at end of file diff --git a/static/js/journey.js b/static/js/journey.js new file mode 100644 index 0000000..43e7431 --- /dev/null +++ b/static/js/journey.js @@ -0,0 +1,173 @@ +// Journey Page JavaScript - Convert markdown to interactive timeline +document.addEventListener('DOMContentLoaded', function() { + console.log('Journey.js loaded - DOM content loaded'); + + // Find the container with story content + const container = document.querySelector('.container') || document.querySelector('main'); + if (!container) { + console.log('No container found'); + return; + } + + console.log('Container found, looking for year sections...'); + + // Find all h2 elements that contain years + const yearHeaders = Array.from(container.querySelectorAll('h2')).filter(h2 => { + const text = h2.textContent; + return /\d{4}/.test(text); + }); + + console.log('Found year headers:', yearHeaders.length); + + if (yearHeaders.length === 0) { + console.log('No year headers found'); + return; + } + + // Wrap everything in story structure + const storyPage = document.createElement('div'); + storyPage.className = 'story-page'; + + const storyContainer = document.createElement('div'); + storyContainer.className = 'story-container'; + + const storyThread = document.createElement('div'); + storyThread.className = 'story-thread'; + + // Move all content to new structure + while (container.firstChild) { + storyContainer.appendChild(container.firstChild); + } + + storyThread.appendChild(storyContainer); + storyPage.appendChild(storyThread); + container.appendChild(storyPage); + + // Now convert h2 elements to collapsible sections + const allH2Elements = storyContainer.querySelectorAll('h2'); + const sections = []; + + allH2Elements.forEach((h2, index) => { + const text = h2.textContent; + const yearMatch = text.match(/(\d{4})/); + + if (yearMatch) { + const year = yearMatch[1]; + const title = text.replace(/^\d{4}\s*[:\-]?\s*/, ''); + + console.log(`Processing year ${year}: ${title}`); + + // Create year section + const yearSection = document.createElement('div'); + yearSection.className = 'year-section'; + yearSection.dataset.year = year; + + // Create header button + const headerButton = document.createElement('div'); + headerButton.className = 'year-header'; + headerButton.innerHTML = ` + ${year} - ${title} + + `; + + // Create content container + const yearContent = document.createElement('div'); + yearContent.className = 'year-content'; + + const yearContentInner = document.createElement('div'); + yearContentInner.className = 'year-content-inner'; + + // Collect all content until next h2 or end + let nextElement = h2.nextElementSibling; + const contentElements = []; + + while (nextElement && !nextElement.matches('h2')) { + contentElements.push(nextElement); + nextElement = nextElement.nextElementSibling; + } + + // Move content to inner container + contentElements.forEach(element => { + yearContentInner.appendChild(element); + }); + + // Assemble the section + yearContent.appendChild(yearContentInner); + yearSection.appendChild(headerButton); + yearSection.appendChild(yearContent); + + // Replace the h2 with the new section + h2.parentNode.insertBefore(yearSection, h2); + h2.remove(); + + sections.push(yearSection); + } + }); + + // Add click handlers + sections.forEach(section => { + const header = section.querySelector('.year-header'); + const content = section.querySelector('.year-content'); + const arrow = section.querySelector('.year-arrow'); + + header.addEventListener('click', function() { + const isActive = content.classList.contains('active'); + + // Close all other sections + document.querySelectorAll('.year-content').forEach(c => c.classList.remove('active')); + document.querySelectorAll('.year-arrow').forEach(a => a.style.transform = 'rotate(0deg)'); + + // Open this section if it wasn't active + if (!isActive) { + content.classList.add('active'); + arrow.style.transform = 'rotate(90deg)'; + + // Smooth scroll to section + setTimeout(() => { + header.scrollIntoView({ behavior: 'smooth', block: 'nearest' }); + }, 100); + } + }); + }); + + // Open first section by default + if (sections.length > 0) { + const firstContent = sections[0].querySelector('.year-content'); + const firstArrow = sections[0].querySelector('.year-arrow'); + firstContent.classList.add('active'); + firstArrow.style.transform = 'rotate(90deg)'; + } + + // Add quick jump navigation + if (sections.length > 1) { + const quickJump = document.createElement('div'); + quickJump.className = 'quick-jump'; + quickJump.innerHTML = ` + +
+ ${sections.map(section => { + const year = section.dataset.year; + return `${year}`; + }).join('')} +
+ `; + + storyContainer.insertBefore(quickJump, storyThread); + + // Add jump handlers + quickJump.querySelectorAll('.jump-to-year').forEach(btn => { + btn.addEventListener('click', function(e) { + e.preventDefault(); + const year = this.dataset.year; + const targetSection = document.querySelector(`[data-year="${year}"]`); + + if (targetSection) { + const header = targetSection.querySelector('.year-header'); + header.click(); + } + }); + }); + } + + console.log('Story conversion completed with', sections.length, 'sections'); +}); \ No newline at end of file diff --git a/static/js/script.js b/static/js/script.js new file mode 100644 index 0000000..010873a --- /dev/null +++ b/static/js/script.js @@ -0,0 +1,60 @@ +// Minimal JavaScript for functionality +document.addEventListener('DOMContentLoaded', function() { + // Mobile navigation toggle + const navToggle = document.querySelector('.nav-toggle'); + const navMenu = document.querySelector('.nav-menu'); + + if (navToggle && navMenu) { + navToggle.addEventListener('click', function() { + navMenu.classList.toggle('active'); + + // Animate hamburger menu + const spans = navToggle.querySelectorAll('span'); + spans.forEach((span, index) => { + if (navMenu.classList.contains('active')) { + if (index === 0) span.style.transform = 'rotate(45deg) translate(5px, 5px)'; + if (index === 1) span.style.opacity = '0'; + if (index === 2) span.style.transform = 'rotate(-45deg) translate(7px, -6px)'; + } else { + span.style.transform = ''; + span.style.opacity = ''; + } + }); + }); + } + + // Smooth scrolling for anchor links + const links = document.querySelectorAll('a[href^="#"]'); + links.forEach(link => { + link.addEventListener('click', function(e) { + e.preventDefault(); + const target = document.querySelector(this.getAttribute('href')); + if (target) { + target.scrollIntoView({ + behavior: 'smooth', + block: 'start' + }); + } + }); + }); + + // Add scroll effect to header + let lastScroll = 0; + const header = document.querySelector('.header'); + + window.addEventListener('scroll', function() { + const currentScroll = window.pageYOffset; + + if (header) { + if (currentScroll > 100) { + header.style.backgroundColor = 'rgba(0, 0, 0, 0.95)'; + } else { + header.style.backgroundColor = 'rgba(0, 0, 0, 0.9)'; + } + } + + lastScroll = currentScroll; + }); +}); + +// Security: No external dependencies, no eval(), no inline scripts \ No newline at end of file diff --git a/static/robots.txt b/static/robots.txt new file mode 100644 index 0000000..3e8becf --- /dev/null +++ b/static/robots.txt @@ -0,0 +1,20 @@ +User-agent: * +Allow: / + +Sitemap: https://dontbechad.com/sitemap.xml + +# Block unnecessary bots +Disallow: /admin/ +Disallow: /.git/ +Disallow: /node_modules/ + +# Allow search engines to index content +Allow: /content/ +Allow: /guides/ +Allow: /mistakes/ +Allow: /about/ + +# Block access to sensitive files +Disallow: /hugo.yaml +Disallow: /config/ +Disallow: /themes/*/theme.yaml \ No newline at end of file diff --git a/themes/dontbechad/layouts/_default/baseof.html b/themes/dontbechad/layouts/_default/baseof.html new file mode 100644 index 0000000..6f45d4a --- /dev/null +++ b/themes/dontbechad/layouts/_default/baseof.html @@ -0,0 +1,63 @@ + + + + + + {{ if .Title }}{{ .Title }} - {{ end }}{{ .Site.Title }} + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+ {{ block "main" . }}{{ end }} +
+ + + + + + + \ No newline at end of file diff --git a/themes/dontbechad/layouts/_default/list.html b/themes/dontbechad/layouts/_default/list.html new file mode 100644 index 0000000..3dfc323 --- /dev/null +++ b/themes/dontbechad/layouts/_default/list.html @@ -0,0 +1,29 @@ +{{ define "main" }} +
+ + +
+ {{ .Content }} +
+ +
+ {{ range .Pages }} +
+
+

{{ .Title }}

+

{{ .Summary }}

+
+ {{ .Date.Format "Jan 2, 2006" }} + {{ .Params.category | default "Security" }} +
+
+
+ {{ end }} +
+
+{{ end }} \ No newline at end of file diff --git a/themes/dontbechad/layouts/_default/single.html b/themes/dontbechad/layouts/_default/single.html new file mode 100644 index 0000000..6897d3b --- /dev/null +++ b/themes/dontbechad/layouts/_default/single.html @@ -0,0 +1,33 @@ +{{ define "main" }} +
+ + +
+ {{ .Content }} +
+ + {{ if .Params.related_mistakes }} + + {{ end }} +
+{{ end }} \ No newline at end of file diff --git a/themes/dontbechad/layouts/index.html b/themes/dontbechad/layouts/index.html new file mode 100644 index 0000000..21ec1dd --- /dev/null +++ b/themes/dontbechad/layouts/index.html @@ -0,0 +1,41 @@ +{{ define "main" }} +
+
+

{{ .Site.Title }}

+

{{ .Site.Params.tagline }}

+

{{ .Site.Params.description }}

+ +
+
+ +
+
+

Recent Mistakes & Lessons

+
+ {{ range first 3 (where .Site.RegularPages "Type" "mistakes") }} +
+
+

{{ .Title }}

+

{{ .Summary }}

+
+ {{ .Date.Format "Jan 2, 2006" }} + {{ .Params.category | default "Security" }} +
+
+
+ {{ end }} +
+
+
+ +
+
+

Ready to Avoid Costly Mistakes?

+

Start your Bitcoin story with real-world lessons from someone who's been there.

+ Begin Learning +
+
+{{ end }} \ No newline at end of file diff --git a/themes/dontbechad/layouts/shortcodes/year.html b/themes/dontbechad/layouts/shortcodes/year.html new file mode 100644 index 0000000..555b30f --- /dev/null +++ b/themes/dontbechad/layouts/shortcodes/year.html @@ -0,0 +1,11 @@ +
+
+ {{ .Get "year" }} - {{ .Get "title" }} + +
+
+
+ {{ .Inner }} +
+
+
\ No newline at end of file diff --git a/themes/dontbechad/layouts/story/single.html b/themes/dontbechad/layouts/story/single.html new file mode 100644 index 0000000..20c9ef3 --- /dev/null +++ b/themes/dontbechad/layouts/story/single.html @@ -0,0 +1,66 @@ + + + + + + {{ .Title }} - {{ .Site.Title }} + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+ {{ .Content }} +
+
+ + + + \ No newline at end of file diff --git a/themes/dontbechad/theme.yaml b/themes/dontbechad/theme.yaml new file mode 100644 index 0000000..dd9fd21 --- /dev/null +++ b/themes/dontbechad/theme.yaml @@ -0,0 +1,7 @@ +name: "dontbechad" +license: "MIT" +description: "A Bitcoin education theme focused on learning from mistakes" + +author: + name: "Chad" + homepage: "https://dontbechad.com" \ No newline at end of file