diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..fd093bd --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,40 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: [main] + workflow_dispatch: + +permissions: + contents: read + pages: write + id-token: write + +concurrency: + group: "pages" + cancel-in-progress: false + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Pages + uses: actions/configure-pages@v4 + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: '.' + + deploy: + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + runs-on: ubuntu-latest + needs: build + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e38056b --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +# OS +.DS_Store +Thumbs.db + +# IDE +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# Build +dist/ +build/ +node_modules/ + +# Environment +.env +.env.local diff --git a/about/index.html b/about/index.html new file mode 100644 index 0000000..95f9e7f --- /dev/null +++ b/about/index.html @@ -0,0 +1,79 @@ + + + + + + About CartSnitch + + + +
+ +
+ +
+
+ + +
+

About CartSnitch

+ +
+

Our Mission

+

We believe every shopper deserves to get the most value from what they spend at the grocery store. CartSnitch exists to eliminate the friction between you and the deals you deserve.

+ +

The Problem We're Solving

+

Grocery shopping is stressful. You're juggling a full schedule, a family, and a tight budget. By the time you get to the store, you've already forgotten which items were on sale. Coupons are scattered across apps and paper. You never know if you got a good deal.

+

The result? Shoppers leave money on the table—on average, $50+ per month in missed deals—even when they're trying their best.

+ +

Our Solution

+

CartSnitch aggregates real-time deals from your favorite stores and matches coupons to your shopping list. In two minutes, you know exactly which items are on sale, which coupons apply, and how much you'll save. At checkout, you save big—without thinking.

+ +

How We're Different

+
    +
  • Real-time accuracy: We pull data directly from store systems, not social media or crowd-sourced tips.
  • +
  • Shopper-first design: We optimize for the five minutes you have at the store, not engagement metrics.
  • +
  • Privacy by default: Your shopping data stays on your phone. We never sell it or share it without consent.
  • +
  • Actually free: No ads, no subscriptions, no hidden fees. We succeed when you save money.
  • +
+ +

Built for Busy Parents

+

CartSnitch is designed by people who grocery shop on real budgets. We understand that saving $10 or $20 per trip matters. We built CartSnitch to make it effortless.

+ +

Our Values

+
    +
  • Customer obsession: Every decision starts with the question "Does this help shoppers save?"
  • +
  • Simplicity: CartSnitch should be easier than clipping coupons, not another task on your list.
  • +
  • Transparency: We tell you how much you save and we never hide what we're doing with your data.
  • +
  • Reliability: You depend on CartSnitch to help you budget. We take that responsibility seriously.
  • +
+ +

Get in Touch

+

Have a question or feedback? We'd love to hear from you. Email support@cartsnitch.com anytime.

+
+
+
+
+ + + + diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..2e4d7a9 --- /dev/null +++ b/css/style.css @@ -0,0 +1,282 @@ +:root { + --primary: #10b981; + --dark: #1f2937; + --light: #f9fafb; + --text: #374151; + --border: #e5e7eb; +} + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; + line-height: 1.6; + color: var(--text); + background: white; +} + +html { + scroll-behavior: smooth; +} + +header { + background: white; + border-bottom: 1px solid var(--border); + position: sticky; + top: 0; + z-index: 100; +} + +nav { + max-width: 1200px; + margin: 0 auto; + padding: 1rem 2rem; + display: flex; + justify-content: space-between; + align-items: center; +} + +.logo { + font-size: 1.5rem; + font-weight: 700; + color: var(--dark); + text-decoration: none; +} + +.nav-links { + display: flex; + gap: 2rem; + list-style: none; +} + +.nav-links a { + color: var(--text); + text-decoration: none; + font-weight: 500; + transition: color 0.2s; +} + +.nav-links a:hover { + color: var(--primary); +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 2rem; +} + +.hero { + background: linear-gradient(135deg, var(--primary) 0%, #059669 100%); + color: white; + padding: 6rem 2rem; + text-align: center; + margin-bottom: 3rem; +} + +.hero h1 { + font-size: 3rem; + margin-bottom: 1rem; + line-height: 1.2; +} + +.hero p { + font-size: 1.25rem; + margin-bottom: 2rem; + opacity: 0.95; +} + +.cta-button { + display: inline-block; + background: white; + color: var(--primary); + padding: 0.75rem 2rem; + border-radius: 0.5rem; + text-decoration: none; + font-weight: 600; + transition: all 0.2s; + border: none; + cursor: pointer; + font-size: 1rem; +} + +.cta-button:hover { + transform: translateY(-2px); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); +} + +.cta-button.secondary { + background: transparent; + color: white; + border: 2px solid white; + margin-left: 1rem; +} + +.cta-button.secondary:hover { + background: white; + color: var(--primary); +} + +section { + padding: 3rem 0; +} + +h2 { + font-size: 2rem; + margin-bottom: 2rem; + color: var(--dark); + text-align: center; +} + +h3 { + font-size: 1.25rem; + margin-bottom: 1rem; + color: var(--dark); +} + +.features { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); + gap: 2rem; + margin-bottom: 3rem; +} + +.feature { + padding: 2rem; + background: var(--light); + border-radius: 0.5rem; + border-left: 4px solid var(--primary); +} + +.feature h3 { + color: var(--primary); +} + +.benefits { + background: var(--light); + padding: 3rem 2rem; + border-radius: 0.5rem; +} + +.benefits li { + margin-bottom: 1rem; + margin-left: 2rem; +} + +.benefits strong { + color: var(--dark); +} + +footer { + background: var(--dark); + color: white; + padding: 2rem; + text-align: center; + margin-top: 4rem; +} + +footer a { + color: var(--primary); + text-decoration: none; +} + +footer a:hover { + text-decoration: underline; +} + +.breadcrumb { + padding: 1rem 0; + font-size: 0.875rem; + color: var(--text); +} + +.breadcrumb a { + color: var(--primary); + text-decoration: none; +} + +.breadcrumb a:hover { + text-decoration: underline; +} + +.doc-content { + max-width: 800px; + margin: 2rem auto; + padding: 0 1rem; +} + +.doc-content h2 { + text-align: left; + border-bottom: 2px solid var(--border); + padding-bottom: 1rem; +} + +.doc-content h3 { + text-align: left; + margin-top: 2rem; +} + +.doc-content p { + margin-bottom: 1rem; +} + +.doc-content code { + background: var(--light); + padding: 0.2rem 0.4rem; + border-radius: 0.25rem; + font-family: "Courier New", monospace; +} + +.doc-content pre { + background: var(--dark); + color: #e0e0e0; + padding: 1rem; + border-radius: 0.5rem; + overflow-x: auto; + margin-bottom: 1rem; +} + +.doc-toc { + background: var(--light); + padding: 1.5rem; + border-radius: 0.5rem; + margin-bottom: 2rem; +} + +.doc-toc h4 { + margin-bottom: 1rem; + color: var(--dark); +} + +.doc-toc ul { + list-style: none; +} + +.doc-toc a { + color: var(--primary); + text-decoration: none; +} + +.doc-toc a:hover { + text-decoration: underline; +} + +@media (max-width: 768px) { + .hero h1 { + font-size: 2rem; + } + + .cta-button.secondary { + display: block; + margin-left: 0; + margin-top: 1rem; + } + + .nav-links { + display: none; + } +} diff --git a/docs/faq.html b/docs/faq.html new file mode 100644 index 0000000..a6cd584 --- /dev/null +++ b/docs/faq.html @@ -0,0 +1,78 @@ + + + + + + FAQ – CartSnitch + + + +
+ +
+ +
+
+ + +
+

Frequently Asked Questions

+ +

Is CartSnitch really free?

+

Yes. CartSnitch is completely free to download and use. We don't charge subscription fees, and you never need to enter a credit card to use the app.

+ +

How does CartSnitch make money?

+

CartSnitch partners with grocery retailers and coupon providers. We make money when shoppers find deals through our platform. This aligns our incentives with yours — we only succeed when you save money.

+ +

How accurate are the deals?

+

We pull real-time deal data directly from store systems. Prices and coupons update throughout the day. If you notice a deal is out of date, let us know at support@cartsnitch.com.

+ +

Which stores do you support?

+

We support deals from all major grocery chains and many regional retailers. When you set up your account, you'll see the full list of available stores in your area.

+ +

Can I use CartSnitch at self-checkout?

+

Yes. Digital coupons work at self-checkout, in-store payment, and traditional checkout lines. Coupon details are provided in the app for reference at checkout.

+ +

What happens to my shopping data?

+

Your shopping list and search history stay on your phone. CartSnitch never stores or shares your personal shopping behavior. We collect only aggregate, anonymized data to improve our deals and services.

+ +

How do you protect my personal information?

+

We use industry-standard encryption to protect all your data. Your login credentials and payment information (if applicable) are never shared with third parties. See our Privacy Policy for full details.

+ +

How do I report a bug or suggest a feature?

+

Email us at support@cartsnitch.com with your feedback. We read every message and take your suggestions seriously.

+ +

Can I delete my account?

+

Yes. Email support@cartsnitch.com with your request, and we'll delete your account and associated data within 30 days.

+ +

Does CartSnitch work offline?

+

CartSnitch requires an internet connection to fetch the latest deals. However, your saved list will be available offline for reference.

+ +

Still have questions?

+

Contact our support team at support@cartsnitch.com. We're here to help.

+
+
+
+ + + + diff --git a/docs/getting-started.html b/docs/getting-started.html new file mode 100644 index 0000000..f408497 --- /dev/null +++ b/docs/getting-started.html @@ -0,0 +1,78 @@ + + + + + + Getting Started – CartSnitch + + + +
+ +
+ +
+
+ + +
+

Getting Started with CartSnitch

+ +

Step 1: Download the App

+

CartSnitch is available for free on iOS and Android. Search for "CartSnitch" in the App Store or Google Play, then tap "Get" or "Install".

+

No credit card is required to download or use CartSnitch.

+ +

Step 2: Set Up Your Stores

+

When you open the app for the first time, you'll be asked to select your favorite grocery stores. Choose the retailers where you shop most often. You can add more stores anytime.

+

We support deals from all major grocery chains and many regional stores.

+ +

Step 3: Browse Deals

+

Once you've selected your stores, you'll see real-time deals from those retailers. Browse sales, see prices, and check coupon availability.

+

Use the search bar to look for specific items, or browse by category (produce, dairy, frozen foods, etc.).

+ +

Step 4: Add Items to Your List

+

Found a deal you like? Tap "Add to List" to save it. Your shopping list syncs across all your devices, so you can reference it at the store.

+ +

Step 5: Check Out and Clip Coupons

+

Before you head to the store, review your list and tap to apply any available coupons to items in your cart. When you get to the store, you're ready to check out and save.

+ +

Track Your Savings

+

CartSnitch automatically tracks how much you save on each trip. Check your "My Savings" dashboard to see your total monthly savings and favorite deals.

+ +

Tips for Maximum Savings

+
    +
  • Check multiple stores: Add all the stores near you. Sales rotate, and prices vary by location.
  • +
  • Set deal alerts: Get notified when specific items go on sale. Tap the bell icon on any deal.
  • +
  • Stack coupons: Use CartSnitch coupons with in-store promotions for even bigger savings.
  • +
  • Shop your list: Focus on deals for items you actually buy. That's where the real savings are.
  • +
  • Review before checkout: Take two minutes before the store trip to apply coupons and review your list.
  • +
+ +

Need Help?

+

If you run into any issues or have questions, contact our support team at support@cartsnitch.com.

+
+
+
+ + + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..dd1f6dc --- /dev/null +++ b/docs/index.html @@ -0,0 +1,74 @@ + + + + + + Help & Guides – CartSnitch + + + + +
+ +
+ +
+
+
+

Help & Guides

+

Everything you need to get the most out of CartSnitch

+
+
+ +
+ + +
+ +
+
+
+ + + + diff --git a/docs/privacy.html b/docs/privacy.html new file mode 100644 index 0000000..87bb6fb --- /dev/null +++ b/docs/privacy.html @@ -0,0 +1,84 @@ + + + + + + Privacy Policy – CartSnitch + + + +
+ +
+ +
+
+ + +
+

Privacy Policy

+

Last updated: April 14, 2026

+ +

1. Introduction

+

CartSnitch ("we," "us," "our") is committed to protecting your privacy. This Privacy Policy explains how we collect, use, disclose, and safeguard your information when you use our mobile application and related services.

+ +

2. Information We Collect

+

CartSnitch collects limited personal information necessary to provide our service:

+
    +
  • Account information (email, phone number)
  • +
  • Store preferences you select
  • +
  • Device information and app usage analytics
  • +
  • Crash reports to improve app stability
  • +
+ +

3. How We Use Your Information

+

We use collected information to:

+
    +
  • Provide and improve CartSnitch
  • +
  • Send deal alerts matching your interests
  • +
  • Fix bugs and optimize performance
  • +
  • Understand usage patterns (anonymized)
  • +
+ +

4. Data Security

+

CartSnitch uses industry-standard encryption and security practices to protect your data. However, no method of transmission over the internet is 100% secure.

+ +

5. Third-Party Sharing

+

CartSnitch never sells your personal data. We share data only with:

+
    +
  • Grocery retailers to fetch real-time deals
  • +
  • Service providers (analytics, hosting) under strict confidentiality agreements
  • +
  • Legal authorities when required by law
  • +
+ +

6. Your Rights

+

You have the right to access, update, or delete your personal information. Contact us at support@cartsnitch.com to exercise these rights.

+ +

7. Contact Us

+

Questions about this Privacy Policy? Email us at support@cartsnitch.com.

+
+
+
+ + + + diff --git a/docs/terms.html b/docs/terms.html new file mode 100644 index 0000000..47f2539 --- /dev/null +++ b/docs/terms.html @@ -0,0 +1,73 @@ + + + + + + Terms of Service – CartSnitch + + + +
+ +
+ +
+
+ + +
+

Terms of Service

+

Last updated: April 14, 2026

+ +

1. Agreement to Terms

+

By using CartSnitch, you agree to comply with these Terms of Service. If you do not agree, do not use CartSnitch.

+ +

2. License

+

CartSnitch grants you a limited, non-exclusive license to use our app for personal, non-commercial purposes.

+ +

3. Prohibited Conduct

+

You agree not to:

+
    +
  • Reverse engineer or attempt to access our systems
  • +
  • Use CartSnitch for unlawful purposes
  • +
  • Attempt to bypass security measures
  • +
  • Harass or abuse other users
  • +
+ +

4. Disclaimer of Warranties

+

CartSnitch is provided "as is" without warranties of any kind. We do not guarantee that deals, prices, or coupons will be accurate or available at all times.

+ +

5. Limitation of Liability

+

CartSnitch and its creators are not liable for any indirect, incidental, special, or consequential damages arising from your use of the app.

+ +

6. Changes to Terms

+

We may modify these Terms at any time. Continued use of CartSnitch constitutes acceptance of updated Terms.

+ +

7. Contact Us

+

Questions about these Terms? Email us at support@cartsnitch.com.

+
+
+
+ + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..dd2ad58 --- /dev/null +++ b/index.html @@ -0,0 +1,99 @@ + + + + + + CartSnitch – Save Money on Groceries + + + + +
+ +
+ +
+ +
+
+

Never Overpay at the Grocery Store Again

+

CartSnitch finds deals you'd miss. We monitor prices across your favorite stores in real time, match coupons to your cart, and alert you to sales on items you actually buy.

+
+ Get Started Free + Learn More +
+
+
+ + +
+
+

How It Works

+
+
+

1. See Real-Time Deals

+

Monitor prices and sales across your favorite grocery stores. Know exactly when items go on sale, and get notified about deals that match your shopping list.

+
+
+

2. Get Smart Coupon Matches

+

We match available coupons to items in your cart—one tap to apply them. No more clipping, no more searching.

+
+
+

3. Shop with Confidence

+

Plan your shopping around deals that matter to you. Never wonder if you got a good price. Track exactly how much you're saving.

+
+
+
+
+ + +
+
+

Built for Busy Parents

+
+
    +
  • Quick setup — Download and go. No signup hassle or long forms.
  • +
  • Mobile-first — Manage your savings on the go, at the store or at home.
  • +
  • Works at your stores — Find deals at the retailers you actually use every week.
  • +
  • Real dollars saved — Track exactly how much you're saving on every trip.
  • +
  • Privacy first — Your data stays yours. We never sell your shopping behavior.
  • +
  • No subscriptions — Free to use. Forever.
  • +
+
+
+
+ + +
+
+

Ready to Start Saving?

+

Join thousands of shoppers who are saving $50+ per month on groceries.

+ Download CartSnitch Free +

+ Available on iOS and Android. No credit card required. +

+
+
+
+ + + +