Migrate website to MealMood branding and placeholders
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>About — PorfolioJournal</title>
|
||||
<meta name="description" content="The story, values, and roadmap for PorfolioJournal.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/about.html">
|
||||
<title>About — MealMood</title>
|
||||
<meta name="description" content="The story, values, and roadmap for MealMood.">
|
||||
<link rel="canonical" href="https://mealmood.app/about.html">
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="About — PorfolioJournal">
|
||||
<meta property="og:description" content="The story, values, and roadmap for PorfolioJournal.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/about.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:title" content="About — MealMood">
|
||||
<meta property="og:description" content="The story, values, and roadmap for MealMood.">
|
||||
<meta property="og:url" content="https://mealmood.app/about.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="About — PorfolioJournal">
|
||||
<meta name="twitter:description" content="The story, values, and roadmap for PorfolioJournal.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:title" content="About — MealMood">
|
||||
<meta name="twitter:description" content="The story, values, and roadmap for MealMood.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -55,8 +55,8 @@
|
||||
<main id="main">
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>About PorfolioJournal</h1>
|
||||
<p>We believe calm financial reflection builds better long-term decisions.</p>
|
||||
<h1>About MealMood</h1>
|
||||
<p>We believe calmer weekly planning creates healthier and more varied family meals.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -64,13 +64,13 @@
|
||||
<div class="container">
|
||||
<div class="content-body">
|
||||
<h2>Our story</h2>
|
||||
<p>PorfolioJournal started with a simple idea: portfolio tracking should feel more like a thoughtful journal than a trading terminal. Monthly check-ins create space for reflection, helping investors learn from their decisions without the noise of daily volatility.</p>
|
||||
<p>MealMood started with a simple idea: meal planning should be visual, fast, and low-stress. Families should be able to decide lunches and dinners quickly without repeating the same dishes every week.</p>
|
||||
|
||||
<h2>Values</h2>
|
||||
<ul>
|
||||
<li><strong>Calm over noise:</strong> We encourage intentional, long-term habits.</li>
|
||||
<li><strong>Calm over stress:</strong> We help reduce Sunday planning fatigue.</li>
|
||||
<li><strong>Privacy by default:</strong> Your data stays on your device unless you choose to sync it.</li>
|
||||
<li><strong>Clarity first:</strong> Clear, readable insights beat complex dashboards.</li>
|
||||
<li><strong>Clarity first:</strong> A clear weekly board beats complicated setup.</li>
|
||||
<li><strong>Ownership:</strong> Export and control your data at any time.</li>
|
||||
</ul>
|
||||
|
||||
@@ -78,16 +78,16 @@
|
||||
<div class="cards-grid">
|
||||
<div class="card">
|
||||
<h3>Next up</h3>
|
||||
<p>More goal templates, improved streak insights, and smarter check-in reminders.</p>
|
||||
<p>More dish-management tools, improved auto-complete, and better weekly templates.</p>
|
||||
</div>
|
||||
<div class="card">
|
||||
<h3>Later this year</h3>
|
||||
<p>Custom analytics dashboards, better forecasting, and richer portfolio summaries.</p>
|
||||
<p>Shared family planning workflows, grocery-list export, and richer planning insights.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2>Get in touch</h2>
|
||||
<p>Have ideas or feedback? Email us at <a href="mailto:support@portfoliojournal.app">support@portfoliojournal.app</a>.</p>
|
||||
<p>Have ideas or feedback? Email us at <a href="mailto:support@mealmood.app">support@mealmood.app</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -99,9 +99,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -130,7 +130,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* PortfolioJournal - Apple-inspired Design System
|
||||
* MealMood - Apple-inspired Design System
|
||||
* Clean, minimal, accessible
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="180" height="180" viewBox="0 0 180 180" role="img" aria-label="PorfolioJournal">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="180" height="180" viewBox="0 0 180 180" role="img" aria-label="MealMood">
|
||||
<rect x="12" y="12" width="156" height="156" rx="36" fill="#ffffff" stroke="#e6e9ef" stroke-width="2"/>
|
||||
<rect x="48" y="52" width="20" height="90" fill="#1f2b3a"/>
|
||||
<rect x="74" y="78" width="20" height="64" fill="#4b7bf2"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 653 B After Width: | Height: | Size: 646 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="PorfolioJournal">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="64" height="64" viewBox="0 0 64 64" role="img" aria-label="MealMood">
|
||||
<rect x="4" y="4" width="56" height="56" rx="14" fill="#ffffff" stroke="#e6e9ef" stroke-width="1"/>
|
||||
<rect x="16" y="18" width="8" height="36" fill="#1f2b3a"/>
|
||||
<rect x="26" y="28" width="8" height="26" fill="#4b7bf2"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 636 B After Width: | Height: | Size: 629 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" role="img" aria-label="PorfolioJournal app icon">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512" role="img" aria-label="MealMood app icon">
|
||||
<rect x="32" y="32" width="448" height="448" rx="96" fill="#ffffff" stroke="#e6e9ef" stroke-width="4"/>
|
||||
<rect x="140" y="150" width="72" height="272" fill="#1f2b3a"/>
|
||||
<rect x="220" y="230" width="72" height="192" fill="#4b7bf2"/>
|
||||
|
||||
|
Before Width: | Height: | Size: 679 B After Width: | Height: | Size: 672 B |
@@ -1,4 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630" role="img" aria-label="PorfolioJournal">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="630" viewBox="0 0 1200 630" role="img" aria-label="MealMood">
|
||||
<rect width="1200" height="630" fill="#f6f7f9"/>
|
||||
<rect x="96" y="96" width="164" height="164" rx="40" fill="#ffffff" stroke="#e6e9ef" stroke-width="3"/>
|
||||
<rect x="136" y="148" width="20" height="88" fill="#1f2b3a"/>
|
||||
@@ -7,6 +7,6 @@
|
||||
<rect x="214" y="136" width="20" height="100" fill="#e9a23b"/>
|
||||
<path d="M160 196C176 176 198 166 224 150" fill="none" stroke="#1f2b3a" stroke-width="8" stroke-linecap="round"/>
|
||||
<circle cx="232" cy="146" r="10" fill="#1f2b3a"/>
|
||||
<text x="96" y="330" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif" font-size="64" fill="#1f2b3a" font-weight="600">PorfolioJournal</text>
|
||||
<text x="96" y="400" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif" font-size="32" fill="#4b5668">Offline-first portfolio tracking with calm monthly check-ins.</text>
|
||||
<text x="96" y="330" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Helvetica Neue', Arial, sans-serif" font-size="64" fill="#1f2b3a" font-weight="600">MealMood</text>
|
||||
<text x="96" y="400" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Helvetica Neue', Arial, sans-serif" font-size="32" fill="#4b5668">Weekly meal planning with drag-and-drop and smart auto-complete.</text>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1260" height="2736" viewBox="0 0 1260 2736" role="img" aria-label="MealMood screenshot placeholder 1">
|
||||
<defs>
|
||||
<linearGradient id="bg1" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#fff9f5"/>
|
||||
<stop offset="100%" stop-color="#f5f8ff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1260" height="2736" fill="url(#bg1)"/>
|
||||
<rect x="90" y="120" width="1080" height="2496" rx="72" fill="#ffffff" stroke="#d9e2f2" stroke-width="8"/>
|
||||
<text x="630" y="420" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', Arial, sans-serif" font-size="88" fill="#24324a" font-weight="700">MealMood</text>
|
||||
<text x="630" y="540" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="46" fill="#4d5f7f">Screenshot Placeholder 1</text>
|
||||
<text x="630" y="620" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="36" fill="#7a8bab">Replace with final iOS capture</text>
|
||||
<rect x="190" y="760" width="880" height="1600" rx="36" fill="#f7fbff" stroke="#dde9f8" stroke-width="6" stroke-dasharray="20 16"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1260" height="2736" viewBox="0 0 1260 2736" role="img" aria-label="MealMood screenshot placeholder 2">
|
||||
<defs>
|
||||
<linearGradient id="bg2" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#fff9f5"/>
|
||||
<stop offset="100%" stop-color="#f5f8ff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1260" height="2736" fill="url(#bg2)"/>
|
||||
<rect x="90" y="120" width="1080" height="2496" rx="72" fill="#ffffff" stroke="#d9e2f2" stroke-width="8"/>
|
||||
<text x="630" y="420" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', Arial, sans-serif" font-size="88" fill="#24324a" font-weight="700">MealMood</text>
|
||||
<text x="630" y="540" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="46" fill="#4d5f7f">Screenshot Placeholder 2</text>
|
||||
<text x="630" y="620" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="36" fill="#7a8bab">Replace with final iOS capture</text>
|
||||
<rect x="190" y="760" width="880" height="1600" rx="36" fill="#f7fbff" stroke="#dde9f8" stroke-width="6" stroke-dasharray="20 16"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1260" height="2736" viewBox="0 0 1260 2736" role="img" aria-label="MealMood screenshot placeholder 3">
|
||||
<defs>
|
||||
<linearGradient id="bg3" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#fff9f5"/>
|
||||
<stop offset="100%" stop-color="#f5f8ff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1260" height="2736" fill="url(#bg3)"/>
|
||||
<rect x="90" y="120" width="1080" height="2496" rx="72" fill="#ffffff" stroke="#d9e2f2" stroke-width="8"/>
|
||||
<text x="630" y="420" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', Arial, sans-serif" font-size="88" fill="#24324a" font-weight="700">MealMood</text>
|
||||
<text x="630" y="540" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="46" fill="#4d5f7f">Screenshot Placeholder 3</text>
|
||||
<text x="630" y="620" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="36" fill="#7a8bab">Replace with final iOS capture</text>
|
||||
<rect x="190" y="760" width="880" height="1600" rx="36" fill="#f7fbff" stroke="#dde9f8" stroke-width="6" stroke-dasharray="20 16"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1260" height="2736" viewBox="0 0 1260 2736" role="img" aria-label="MealMood screenshot placeholder 4">
|
||||
<defs>
|
||||
<linearGradient id="bg4" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#fff9f5"/>
|
||||
<stop offset="100%" stop-color="#f5f8ff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1260" height="2736" fill="url(#bg4)"/>
|
||||
<rect x="90" y="120" width="1080" height="2496" rx="72" fill="#ffffff" stroke="#d9e2f2" stroke-width="8"/>
|
||||
<text x="630" y="420" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', Arial, sans-serif" font-size="88" fill="#24324a" font-weight="700">MealMood</text>
|
||||
<text x="630" y="540" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="46" fill="#4d5f7f">Screenshot Placeholder 4</text>
|
||||
<text x="630" y="620" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="36" fill="#7a8bab">Replace with final iOS capture</text>
|
||||
<rect x="190" y="760" width="880" height="1600" rx="36" fill="#f7fbff" stroke="#dde9f8" stroke-width="6" stroke-dasharray="20 16"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1260" height="2736" viewBox="0 0 1260 2736" role="img" aria-label="MealMood screenshot placeholder 5">
|
||||
<defs>
|
||||
<linearGradient id="bg5" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#fff9f5"/>
|
||||
<stop offset="100%" stop-color="#f5f8ff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1260" height="2736" fill="url(#bg5)"/>
|
||||
<rect x="90" y="120" width="1080" height="2496" rx="72" fill="#ffffff" stroke="#d9e2f2" stroke-width="8"/>
|
||||
<text x="630" y="420" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', Arial, sans-serif" font-size="88" fill="#24324a" font-weight="700">MealMood</text>
|
||||
<text x="630" y="540" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="46" fill="#4d5f7f">Screenshot Placeholder 5</text>
|
||||
<text x="630" y="620" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="36" fill="#7a8bab">Replace with final iOS capture</text>
|
||||
<rect x="190" y="760" width="880" height="1600" rx="36" fill="#f7fbff" stroke="#dde9f8" stroke-width="6" stroke-dasharray="20 16"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1260" height="2736" viewBox="0 0 1260 2736" role="img" aria-label="MealMood screenshot placeholder 6">
|
||||
<defs>
|
||||
<linearGradient id="bg6" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#fff9f5"/>
|
||||
<stop offset="100%" stop-color="#f5f8ff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1260" height="2736" fill="url(#bg6)"/>
|
||||
<rect x="90" y="120" width="1080" height="2496" rx="72" fill="#ffffff" stroke="#d9e2f2" stroke-width="8"/>
|
||||
<text x="630" y="420" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', Arial, sans-serif" font-size="88" fill="#24324a" font-weight="700">MealMood</text>
|
||||
<text x="630" y="540" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="46" fill="#4d5f7f">Screenshot Placeholder 6</text>
|
||||
<text x="630" y="620" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="36" fill="#7a8bab">Replace with final iOS capture</text>
|
||||
<rect x="190" y="760" width="880" height="1600" rx="36" fill="#f7fbff" stroke="#dde9f8" stroke-width="6" stroke-dasharray="20 16"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1260" height="2736" viewBox="0 0 1260 2736" role="img" aria-label="MealMood screenshot placeholder 7">
|
||||
<defs>
|
||||
<linearGradient id="bg7" x1="0" y1="0" x2="1" y2="1">
|
||||
<stop offset="0%" stop-color="#fff9f5"/>
|
||||
<stop offset="100%" stop-color="#f5f8ff"/>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<rect width="1260" height="2736" fill="url(#bg7)"/>
|
||||
<rect x="90" y="120" width="1080" height="2496" rx="72" fill="#ffffff" stroke="#d9e2f2" stroke-width="8"/>
|
||||
<text x="630" y="420" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Display', Arial, sans-serif" font-size="88" fill="#24324a" font-weight="700">MealMood</text>
|
||||
<text x="630" y="540" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="46" fill="#4d5f7f">Screenshot Placeholder 7</text>
|
||||
<text x="630" y="620" text-anchor="middle" font-family="-apple-system, BlinkMacSystemFont, 'SF Pro Text', Arial, sans-serif" font-size="36" fill="#7a8bab">Replace with final iOS capture</text>
|
||||
<rect x="190" y="760" width="880" height="1600" rx="36" fill="#f7fbff" stroke="#dde9f8" stroke-width="6" stroke-dasharray="20 16"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -1,15 +1,15 @@
|
||||
/**
|
||||
* PorfolioJournal Site Configuration
|
||||
* MealMood Site Configuration
|
||||
* Edit these values to customize the site
|
||||
*/
|
||||
const CONFIG = {
|
||||
APP_NAME: 'PorfolioJournal',
|
||||
TAGLINE: 'Your personal portfolio, thoughtfully tracked.',
|
||||
DESCRIPTION: 'A calm, offline-first iOS app for tracking your portfolio with monthly check-ins, reflections, and long-term insights.',
|
||||
APP_STORE_URL: 'https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_other&mt=8',
|
||||
SUPPORT_EMAIL: 'support@portfoliojournal.app',
|
||||
COMPANY_NAME: 'PorfolioJournal',
|
||||
WEBSITE_URL: 'https://portfoliojournal.app',
|
||||
APP_NAME: 'MealMood',
|
||||
TAGLINE: 'Plan your family's week of meals in 5 minutes.',
|
||||
DESCRIPTION: 'A fast, visual iOS app for weekly meal planning with drag-and-drop, smart auto-complete, and optional calendar sync.',
|
||||
APP_STORE_URL: 'https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_other&mt=8',
|
||||
SUPPORT_EMAIL: 'support@mealmood.app',
|
||||
COMPANY_NAME: 'MealMood',
|
||||
WEBSITE_URL: 'https://mealmood.app',
|
||||
EFFECTIVE_DATE: 'today',
|
||||
COPYRIGHT_YEAR: new Date().getFullYear(),
|
||||
ENABLE_ANALYTICS: false,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/**
|
||||
* PortfolioJournal Main JavaScript
|
||||
* MealMood Main JavaScript
|
||||
* Handles dark mode, navigation, and dynamic content
|
||||
*/
|
||||
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Changelog — PorfolioJournal</title>
|
||||
<meta name="description" content="Latest updates and release notes for PorfolioJournal.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/changelog.html">
|
||||
<title>Changelog — MealMood</title>
|
||||
<meta name="description" content="Latest updates and release notes for MealMood.">
|
||||
<link rel="canonical" href="https://mealmood.app/changelog.html">
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Changelog — PorfolioJournal">
|
||||
<meta property="og:description" content="Latest updates and release notes for PorfolioJournal.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/changelog.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:title" content="Changelog — MealMood">
|
||||
<meta property="og:description" content="Latest updates and release notes for MealMood.">
|
||||
<meta property="og:url" content="https://mealmood.app/changelog.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Changelog — PorfolioJournal">
|
||||
<meta name="twitter:description" content="Latest updates and release notes for PorfolioJournal.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:title" content="Changelog — MealMood">
|
||||
<meta name="twitter:description" content="Latest updates and release notes for MealMood.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -56,7 +56,7 @@
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>Changelog</h1>
|
||||
<p>Release notes and product updates for PorfolioJournal.</p>
|
||||
<p>Release notes and product updates for MealMood.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
</div>
|
||||
<div class="changelog-body">
|
||||
<ul>
|
||||
<li>Initial release with monthly check-ins, snapshots, and goal tracking.</li>
|
||||
<li>Initial release with weekly planning, dishes, tags, and rule-aware scheduling.</li>
|
||||
<li>Offline-first storage with optional iCloud sync.</li>
|
||||
<li>CSV and JSON export options.</li>
|
||||
</ul>
|
||||
@@ -85,9 +85,9 @@
|
||||
</div>
|
||||
<div class="changelog-body">
|
||||
<ul>
|
||||
<li>New dashboard view with cashflow vs growth breakdown.</li>
|
||||
<li>Improved goal pacing indicators and streak tracking.</li>
|
||||
<li>Performance tuning for large portfolios.</li>
|
||||
<li>New dashboard view with variety and balance breakdown.</li>
|
||||
<li>Improved drag-and-drop responsiveness and slot validation feedback.</li>
|
||||
<li>Performance tuning for large meal plans.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
@@ -100,7 +100,7 @@
|
||||
<div class="changelog-body">
|
||||
<ul>
|
||||
<li>Fixed export formatting for decimal separators.</li>
|
||||
<li>Resolved an issue with monthly reminder notifications.</li>
|
||||
<li>Resolved an issue with weekly reminder notifications.</li>
|
||||
</ul>
|
||||
</div>
|
||||
</article>
|
||||
@@ -115,9 +115,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -146,7 +146,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Delete Data — PorfolioJournal</title>
|
||||
<meta name="description" content="Instructions for deleting your PorfolioJournal data on device and iCloud.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/delete-data.html">
|
||||
<title>Delete Data — MealMood</title>
|
||||
<meta name="description" content="Instructions for deleting your MealMood data on device and iCloud.">
|
||||
<link rel="canonical" href="https://mealmood.app/delete-data.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="Delete Data — PorfolioJournal">
|
||||
<meta property="og:description" content="Step-by-step instructions for deleting portfolio data.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/delete-data.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:title" content="Delete Data — MealMood">
|
||||
<meta property="og:description" content="Step-by-step instructions for deleting meal planning data.">
|
||||
<meta property="og:url" content="https://mealmood.app/delete-data.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Delete Data — PorfolioJournal">
|
||||
<meta name="twitter:description" content="Step-by-step instructions for deleting portfolio data.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:title" content="Delete Data — MealMood">
|
||||
<meta name="twitter:description" content="Step-by-step instructions for deleting meal planning data.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -56,7 +56,7 @@
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>Delete your data</h1>
|
||||
<p>PorfolioJournal does not require an account. You control all local data.</p>
|
||||
<p>MealMood does not require an account. You control all local data.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -65,24 +65,24 @@
|
||||
<div class="content-body">
|
||||
<h2>Delete data on your device</h2>
|
||||
<ol class="steps-list">
|
||||
<li>Open PorfolioJournal on your iPhone or iPad.</li>
|
||||
<li>Open MealMood on your iPhone or iPad.</li>
|
||||
<li>Go to Settings.</li>
|
||||
<li>Select “Delete All Data”.</li>
|
||||
<li>Confirm the deletion. This immediately removes local portfolio data and journal entries.</li>
|
||||
<li>Confirm the deletion. This immediately removes local dishes, tags, and weekly plans.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Delete iCloud data (if enabled)</h2>
|
||||
<ol class="steps-list">
|
||||
<li>Open the app and disable iCloud sync in Settings.</li>
|
||||
<li>Open iOS Settings > Apple ID > iCloud > Manage Storage.</li>
|
||||
<li>Locate PorfolioJournal and delete its iCloud data.</li>
|
||||
<li>Locate MealMood and delete its iCloud data.</li>
|
||||
</ol>
|
||||
|
||||
<h2>Account deletion</h2>
|
||||
<p>PorfolioJournal does not require an account. If an account system is introduced later, we will provide an in-app option to delete your account and associated data here.</p>
|
||||
<p>MealMood does not require an account. If an account system is introduced later, we will provide an in-app option to delete your account and associated data here.</p>
|
||||
|
||||
<h2>Need help?</h2>
|
||||
<p>If you need assistance, contact <a href="mailto:support@portfoliojournal.app">support@portfoliojournal.app</a>.</p>
|
||||
<p>If you need assistance, contact <a href="mailto:support@mealmood.app">support@mealmood.app</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -94,9 +94,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -125,7 +125,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>PorfolioJournal — Calm portfolio journaling for iOS</title>
|
||||
<meta name="description" content="PorfolioJournal is a calm, offline-first iOS app for tracking your portfolio with monthly check-ins, reflections, and long-term insights.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/">
|
||||
<title>MealMood — Weekly meal planning for iOS families</title>
|
||||
<meta name="description" content="MealMood helps you plan lunches and dinners in minutes with drag-and-drop, smart auto-complete, and optional iOS Calendar sync.">
|
||||
<link rel="canonical" href="https://mealmood.app/">
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="PorfolioJournal">
|
||||
<meta property="og:description" content="Calm, offline-first portfolio tracking with monthly check-ins and reflections.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:title" content="MealMood">
|
||||
<meta property="og:description" content="Plan your family meals in minutes with drag-and-drop, smart auto-complete, and optional calendar sync.">
|
||||
<meta property="og:url" content="https://mealmood.app/">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="PorfolioJournal">
|
||||
<meta name="twitter:description" content="Calm, offline-first portfolio tracking with monthly check-ins and reflections.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:title" content="MealMood">
|
||||
<meta name="twitter:description" content="Plan your family meals in minutes with drag-and-drop, smart auto-complete, and optional calendar sync.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -63,17 +63,17 @@
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
|
||||
<path d="M3 12l2-2 4 4 8-8 4 4"></path>
|
||||
</svg>
|
||||
Offline-first portfolio journaling
|
||||
Offline-first meal planning
|
||||
</div>
|
||||
<h1 class="hero-title">Build a calm portfolio habit with <span class="hero-title-gradient">PorfolioJournal</span>.</h1>
|
||||
<p class="hero-description">A focused iOS app for monthly portfolio check-ins, reflection notes, and long-term clarity. Stay present, track growth, and build a record of your financial decisions without noise.</p>
|
||||
<h1 class="hero-title">Plan your family week with <span class="hero-title-gradient">MealMood</span>.</h1>
|
||||
<p class="hero-description">Create lunch and dinner plans in under 5 minutes with drag-and-drop, auto-complete, and simple food rules that help avoid repetition.</p>
|
||||
<div class="hero-features">
|
||||
<span class="feature-badge">✓ Offline-first</span>
|
||||
<span class="feature-badge">✓ No account required</span>
|
||||
<span class="feature-badge">✓ No account needed</span>
|
||||
<span class="feature-badge">✓ Privacy-focused</span>
|
||||
</div>
|
||||
<div class="hero-ctas">
|
||||
<a class="app-store-badge" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_hero&mt=8" aria-label="Download on the App Store">
|
||||
<a class="app-store-badge" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_hero&mt=8" aria-label="Download on the App Store">
|
||||
<img src="assets/images/app-store-badge.svg" alt="Download on the App Store">
|
||||
</a>
|
||||
<button class="cta-secondary" type="button" data-cta="learn-more">Learn More</button>
|
||||
@@ -97,17 +97,17 @@
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true">
|
||||
<path d="M3 12l2-2 4 4 8-8 4 4"></path>
|
||||
</svg>
|
||||
Offline-first portfolio journaling
|
||||
Offline-first meal planning
|
||||
</div>
|
||||
<h1 class="hero-title">Build a calm portfolio habit with <span class="hero-title-gradient">PorfolioJournal</span>.</h1>
|
||||
<p class="hero-description">A focused iOS app for monthly portfolio check-ins, reflection notes, and long-term clarity. Stay present, track growth, and build a record of your financial decisions without noise.</p>
|
||||
<h1 class="hero-title">Plan your family week with <span class="hero-title-gradient">MealMood</span>.</h1>
|
||||
<p class="hero-description">Create lunch and dinner plans in under 5 minutes with drag-and-drop, auto-complete, and simple food rules that help avoid repetition.</p>
|
||||
<div class="hero-features">
|
||||
<span class="feature-badge">✓ Offline-first</span>
|
||||
<span class="feature-badge">✓ No account required</span>
|
||||
<span class="feature-badge">✓ No account needed</span>
|
||||
<span class="feature-badge">✓ Privacy-focused</span>
|
||||
</div>
|
||||
<div class="hero-ctas">
|
||||
<a class="app-store-badge" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_hero&mt=8" aria-label="Download on the App Store">
|
||||
<a class="app-store-badge" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_hero&mt=8" aria-label="Download on the App Store">
|
||||
<img src="assets/images/app-store-badge.svg" alt="Download on the App Store">
|
||||
</a>
|
||||
<button class="cta-secondary" type="button" data-cta="learn-more">Learn More</button>
|
||||
@@ -124,10 +124,10 @@
|
||||
<section class="section features features-section" id="features">
|
||||
<div class="container">
|
||||
<div class="features-header">
|
||||
<h2>Portfolio clarity, without the noise</h2>
|
||||
<p>Everything PorfolioJournal does is built around gentle monthly updates and a durable record of your progress.</p>
|
||||
<h2>Meal planning without Sunday stress</h2>
|
||||
<p>MealMood is built from the app PRD around speed, variety, and low-friction planning for families.</p>
|
||||
<div class="features-cta">
|
||||
<a class="btn btn-primary" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_features&mt=8">Download on the App Store</a>
|
||||
<a class="btn btn-primary" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_features&mt=8">Download on the App Store</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="features-grid">
|
||||
@@ -135,44 +135,44 @@
|
||||
<div class="feature-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 19h16M4 15h10M4 11h16M4 7h10"/></svg>
|
||||
</div>
|
||||
<h3>Monthly check-ins</h3>
|
||||
<p>Log updates once a month with mood, rating, notes, and progress streaks built in.</p>
|
||||
<h3>5-minute weekly planning</h3>
|
||||
<p>Fill your week visually with lunch and dinner slots using an easy drag-and-drop flow.</p>
|
||||
</article>
|
||||
<article class="feature-card">
|
||||
<div class="feature-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 3v18M5 12h14"/></svg>
|
||||
</div>
|
||||
<h3>Sources-based tracking</h3>
|
||||
<p>Track sources, snapshots, and category tags to keep allocations readable at a glance.</p>
|
||||
<h3>Dishes + tags</h3>
|
||||
<p>Create dishes once, assign tags, and reuse them to keep your weekly menu organized.</p>
|
||||
</article>
|
||||
<article class="feature-card">
|
||||
<div class="feature-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 12h6l3-7 3 14 3-7h3"/></svg>
|
||||
</div>
|
||||
<h3>Home dashboard</h3>
|
||||
<p>See total value, evolution, category mix, cashflow vs growth, and returns in one view.</p>
|
||||
<h3>Rule-aware weekly board</h3>
|
||||
<p>See your full week at a glance and validate assignments before dropping each dish.</p>
|
||||
</article>
|
||||
<article class="feature-card">
|
||||
<div class="feature-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M7 21h10M12 17V3"/></svg>
|
||||
</div>
|
||||
<h3>Goals tracking</h3>
|
||||
<p>Set targets with pace status, ETA, and shareable goal cards to stay motivated.</p>
|
||||
<h3>Nutrition rules</h3>
|
||||
<p>Set limits like max per week, no consecutive repeats, and meal-type restrictions.</p>
|
||||
</article>
|
||||
<article class="feature-card">
|
||||
<div class="feature-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16v16H4z"/><path d="M8 8h8v8H8z"/></svg>
|
||||
</div>
|
||||
<h3>Import & export</h3>
|
||||
<p>Move data in or out with CSV/JSON for long-term continuity and peace of mind.</p>
|
||||
<h3>Calendar sync (optional)</h3>
|
||||
<p>Send planned meals to your iOS Calendar with custom times, durations, and reminders.</p>
|
||||
</article>
|
||||
<article class="feature-card">
|
||||
<div class="premium-badge">Premium</div>
|
||||
<div class="feature-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M12 2l3 7h7l-5.5 4 2.5 7-7-4-7 4 2.5-7L2 9h7z"/></svg>
|
||||
</div>
|
||||
<h3>Advanced analytics</h3>
|
||||
<p>Allocation, risk/return, drawdown, volatility, cashflow, and 12‑month forecasting.</p>
|
||||
<h3>Smart auto-complete</h3>
|
||||
<p>Fill empty slots automatically while respecting your configured tag rules.</p>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
@@ -181,29 +181,44 @@
|
||||
<section class="section screenshots">
|
||||
<div class="container">
|
||||
<div class="screenshots-header">
|
||||
<h2>Designed for calm focus</h2>
|
||||
<p>Every screen is built to reduce noise and help you reflect on what matters most.</p>
|
||||
<h2>All screenshots are placeholders</h2>
|
||||
<p>Replace these temporary frames with final App Store screenshots when available.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="screenshots-gallery" aria-label="App screenshots">
|
||||
<div class="screenshot-item">
|
||||
<picture>
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-1.png" alt="Portfolio dashboard placeholder" loading="lazy">
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-1.svg" alt="Screenshot placeholder 1" loading="lazy">
|
||||
</picture>
|
||||
</div>
|
||||
<div class="screenshot-item">
|
||||
<picture>
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-2.png" alt="Monthly check-in placeholder" loading="lazy">
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-2.svg" alt="Screenshot placeholder 2" loading="lazy">
|
||||
</picture>
|
||||
</div>
|
||||
<div class="screenshot-item">
|
||||
<picture>
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-3.png" alt="Goals tracking placeholder" loading="lazy">
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-3.svg" alt="Screenshot placeholder 3" loading="lazy">
|
||||
</picture>
|
||||
</div>
|
||||
<div class="screenshot-item">
|
||||
<picture>
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-4.png" alt="Analytics placeholder" loading="lazy">
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-4.svg" alt="Screenshot placeholder 4" loading="lazy">
|
||||
</picture>
|
||||
</div>
|
||||
<div class="screenshot-item">
|
||||
<picture>
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-5.svg" alt="Screenshot placeholder 5" loading="lazy">
|
||||
</picture>
|
||||
</div>
|
||||
<div class="screenshot-item">
|
||||
<picture>
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-6.svg" alt="Screenshot placeholder 6" loading="lazy">
|
||||
</picture>
|
||||
</div>
|
||||
<div class="screenshot-item">
|
||||
<picture>
|
||||
<img class="screenshot-frame" src="assets/images/screenshots/screen-7.svg" alt="Screenshot placeholder 7" loading="lazy">
|
||||
</picture>
|
||||
</div>
|
||||
</div>
|
||||
@@ -213,7 +228,7 @@
|
||||
<div class="container">
|
||||
<div class="ios-features-header">
|
||||
<h2>Built for iOS, built for privacy</h2>
|
||||
<p>PorfolioJournal keeps your data on-device by default, with optional iCloud sync when you choose it.</p>
|
||||
<p>MealMood keeps your data on-device by default, with optional iCloud sync when you choose it.</p>
|
||||
</div>
|
||||
<div class="ios-features-grid">
|
||||
<div class="ios-feature">
|
||||
@@ -221,7 +236,7 @@
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 12l2-2 4 4 8-8 4 4"/></svg>
|
||||
</div>
|
||||
<h4>Offline-first</h4>
|
||||
<p>Full portfolio history stays on your device, even when you are off the grid.</p>
|
||||
<p>Full meal plan history stays on your device, even when you are off the grid.</p>
|
||||
</div>
|
||||
<div class="ios-feature">
|
||||
<div class="ios-feature-icon" aria-hidden="true">
|
||||
@@ -241,8 +256,8 @@
|
||||
<div class="ios-feature-icon" aria-hidden="true">
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4h16v16H4z"/><path d="M8 8h8v8H8z"/></svg>
|
||||
</div>
|
||||
<h4>Widgets</h4>
|
||||
<p>Track your total value at a glance with iOS widgets.</p>
|
||||
<h4>Bilingual from day one</h4>
|
||||
<p>Built for English and Spanish users with localized labels and flows.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -252,7 +267,7 @@
|
||||
<div class="container">
|
||||
<div class="early-adopters-header">
|
||||
<h2>Join Early Adopters</h2>
|
||||
<p>Portfolio Journal just launched. Be part of the first wave of calm investors building better financial habits.</p>
|
||||
<p>MealMood is in active development. Early users help shape features and polish before scale.</p>
|
||||
</div>
|
||||
<div class="early-adopters-grid">
|
||||
<div class="early-adopter-card">
|
||||
@@ -272,7 +287,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="early-adopters-cta">
|
||||
<a class="btn btn-primary btn-lg" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=early_adopters&mt=8">Download Portfolio Journal</a>
|
||||
<a class="btn btn-primary btn-lg" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=early_adopters&mt=8">Download MealMood</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -281,13 +296,13 @@
|
||||
<div class="container">
|
||||
<div class="faq-header">
|
||||
<h2>Questions, answered</h2>
|
||||
<p>Clear answers for iOS users who care about privacy and long-term tracking.</p>
|
||||
<p>Quick answers for families planning meals on iPhone and iPad.</p>
|
||||
</div>
|
||||
<div class="faq-list">
|
||||
<div class="faq-item">
|
||||
<button class="faq-question" aria-expanded="false">Does PorfolioJournal work offline?</button>
|
||||
<button class="faq-question" aria-expanded="false">Does MealMood work offline?</button>
|
||||
<div class="faq-answer">
|
||||
<div class="faq-answer-inner">Yes. All portfolio data and journal entries are stored locally by default, so you can update anywhere.</div>
|
||||
<div class="faq-answer-inner">Yes. Your dishes, tags, and week plans are stored on-device by default.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
@@ -315,10 +330,10 @@
|
||||
<section class="section cta">
|
||||
<div class="container">
|
||||
<div class="cta-content">
|
||||
<h2>Start your calm portfolio habit</h2>
|
||||
<p>Download PorfolioJournal and build a record of your investing journey that you will actually want to revisit.</p>
|
||||
<h2>Start your calm meal plan habit</h2>
|
||||
<p>Download MealMood and build a record of your meal planning routine that you will actually want to revisit.</p>
|
||||
<div class="cta-actions">
|
||||
<a class="btn btn-primary btn-lg" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_cta_bottom&mt=8">Download on the App Store</a>
|
||||
<a class="btn btn-primary btn-lg" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_cta_bottom&mt=8">Download on the App Store</a>
|
||||
<a class="btn btn-secondary btn-lg" href="support.html">Contact Support</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -332,10 +347,10 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<a class="footer-appstore" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_footer&mt=8">Download on the App Store</a>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
<a class="footer-appstore" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_footer&mt=8">Download on the App Store</a>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -364,7 +379,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
@@ -378,13 +393,13 @@
|
||||
<div class="modal-content" role="dialog" aria-modal="true" aria-labelledby="exit-modal-title">
|
||||
<button class="modal-close" type="button" aria-label="Close" data-exit-close>×</button>
|
||||
<h3 id="exit-modal-title">Before you go... 📱</h3>
|
||||
<p>Portfolio Journal is free to download. Give it a try!</p>
|
||||
<a href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=exit_intent&mt=8" class="modal-cta">Download on App Store</a>
|
||||
<p>MealMood is free to download. Give it a try!</p>
|
||||
<a href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=exit_intent&mt=8" class="modal-cta">Download on App Store</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="sticky-mobile-cta" class="sticky-cta" aria-hidden="true">
|
||||
<a href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=sticky_mobile&mt=8">Download App</a>
|
||||
<a href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=sticky_mobile&mt=8">Download App</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
APP_NAME=portfoliojournal-og
|
||||
APP_NAME=mealmood-og
|
||||
BUILD_DIR=bin
|
||||
PORT?=8090
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# OG Share Service
|
||||
|
||||
This service powers dynamic Open Graph share pages and images for Portfolio Journal.
|
||||
This service powers dynamic Open Graph share pages and images for MealMood.
|
||||
|
||||
## Endpoints
|
||||
|
||||
@@ -44,16 +44,16 @@ Example steps (requires root):
|
||||
```bash
|
||||
# Build and install the binary
|
||||
make build
|
||||
cp og-service/bin/portfoliojournal-og /usr/local/bin/portfoliojournal-og
|
||||
chmod +x /usr/local/bin/portfoliojournal-og
|
||||
cp og-service/bin/mealmood-og /usr/local/bin/mealmood-og
|
||||
chmod +x /usr/local/bin/mealmood-og
|
||||
|
||||
# Install the OpenRC script
|
||||
cp og-service/portfoliojournal-og.openrc /etc/init.d/portfoliojournal-og
|
||||
chmod +x /etc/init.d/portfoliojournal-og
|
||||
cp og-service/mealmood-og.openrc /etc/init.d/mealmood-og
|
||||
chmod +x /etc/init.d/mealmood-og
|
||||
|
||||
# Enable and start
|
||||
rc-update add portfoliojournal-og default
|
||||
rc-service portfoliojournal-og start
|
||||
rc-update add mealmood-og default
|
||||
rc-service mealmood-og start
|
||||
```
|
||||
|
||||
Or run the helper script (requires root):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
module portfoliojournal.app/ogservice
|
||||
module mealmood.app/ogservice
|
||||
|
||||
go 1.22
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
APP_NAME="portfoliojournal-og"
|
||||
APP_NAME="mealmood-og"
|
||||
SERVICE_FILE="/etc/init.d/${APP_NAME}"
|
||||
BIN_TARGET="/usr/local/bin/${APP_NAME}"
|
||||
|
||||
|
||||
@@ -164,7 +164,7 @@ func buildShareView(data shareData, r *http.Request, rawParam string) shareView
|
||||
|
||||
goalName := data.Name
|
||||
if goalName == "" {
|
||||
goalName = "Investment Goal"
|
||||
goalName = "Weekly Plan"
|
||||
}
|
||||
|
||||
description := fmt.Sprintf("%s toward %s", percentText, formattedGoal)
|
||||
@@ -177,7 +177,7 @@ func buildShareView(data shareData, r *http.Request, rawParam string) shareView
|
||||
ogImageURL := fmt.Sprintf("%s/og?data=%s", baseURL, url.QueryEscape(rawParam))
|
||||
|
||||
return shareView{
|
||||
Title: fmt.Sprintf("Portfolio Journal — %s", goalName),
|
||||
Title: fmt.Sprintf("MealMood — %s", goalName),
|
||||
Description: description,
|
||||
OGImageURL: ogImageURL,
|
||||
ShareURL: shareURL,
|
||||
@@ -203,7 +203,7 @@ func renderShareHTML(view shareView) string {
|
||||
|
||||
<meta name="title" content="` + escapeHTML(view.Title) + `">
|
||||
<meta name="description" content="` + escapeHTML(view.Description) + `">
|
||||
<meta name="author" content="Portfolio Journal">
|
||||
<meta name="author" content="MealMood">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
@@ -213,7 +213,7 @@ func renderShareHTML(view shareView) string {
|
||||
<meta property="og:image" content="` + escapeHTML(view.OGImageURL) + `">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta property="og:site_name" content="Portfolio Journal">
|
||||
<meta property="og:site_name" content="MealMood">
|
||||
<meta property="og:locale" content="en_US">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
@@ -306,7 +306,7 @@ func renderShareHTML(view shareView) string {
|
||||
</head>
|
||||
<body>
|
||||
<div class="card">
|
||||
<div class="eyebrow">Portfolio Journal</div>
|
||||
<div class="eyebrow">MealMood</div>
|
||||
<h1>` + escapeHTML(view.GoalName) + `</h1>
|
||||
<div class="amounts">
|
||||
<div>
|
||||
@@ -321,7 +321,7 @@ func renderShareHTML(view shareView) string {
|
||||
<div>` + escapeHTML(view.PercentText) + `</div>
|
||||
<div class="progress"><div class="bar"></div></div>
|
||||
<div class="meta">` + escapeHTML(joinLabels(view.TargetDateLabel, view.EstimateDateLabel)) + `</div>
|
||||
<a class="cta" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_other&mt=8">Download on the App Store</a>
|
||||
<a class="cta" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_other&mt=8">Download on the App Store</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>`
|
||||
@@ -346,7 +346,7 @@ func renderOGImage(data shareData) ([]byte, error) {
|
||||
|
||||
goalName := data.Name
|
||||
if goalName == "" {
|
||||
goalName = "Investment Goal"
|
||||
goalName = "Weekly Plan"
|
||||
}
|
||||
|
||||
dc := gg.NewContext(imageWidth, imageHeight)
|
||||
@@ -381,7 +381,7 @@ func renderOGImage(data shareData) ([]byte, error) {
|
||||
}
|
||||
dc.SetFontFace(labelFace)
|
||||
dc.SetRGBA(1, 1, 1, 0.8)
|
||||
dc.DrawString("Portfolio Journal", marginX+120, marginY+34)
|
||||
dc.DrawString("MealMood", marginX+120, marginY+34)
|
||||
|
||||
titleFace, err := loadFontFace(54, true)
|
||||
if err != nil {
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
name="mealmood-og"
|
||||
description="MealMood Open Graph share service"
|
||||
|
||||
command="/usr/local/bin/mealmood-og"
|
||||
command_args=""
|
||||
command_background="yes"
|
||||
output_log="/var/log/mealmood-og.log"
|
||||
error_log="/var/log/mealmood-og.err"
|
||||
pidfile="/run/mealmood-og.pid"
|
||||
|
||||
start_pre() {
|
||||
checkpath --file --mode 0644 --owner root:root "$output_log"
|
||||
checkpath --file --mode 0644 --owner root:root "$error_log"
|
||||
}
|
||||
|
||||
depend() {
|
||||
need net
|
||||
after firewall
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
name="portfoliojournal-og"
|
||||
description="Portfolio Journal Open Graph share service"
|
||||
|
||||
command="/usr/local/bin/portfoliojournal-og"
|
||||
command_args=""
|
||||
command_background="yes"
|
||||
output_log="/var/log/portfoliojournal-og.log"
|
||||
error_log="/var/log/portfoliojournal-og.err"
|
||||
pidfile="/run/portfoliojournal-og.pid"
|
||||
|
||||
start_pre() {
|
||||
checkpath --file --mode 0644 --owner root:root "$output_log"
|
||||
checkpath --file --mode 0644 --owner root:root "$error_log"
|
||||
}
|
||||
|
||||
depend() {
|
||||
need net
|
||||
after firewall
|
||||
}
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Press Kit — PorfolioJournal</title>
|
||||
<meta name="description" content="Press kit for PorfolioJournal with app description, icons, screenshots, and brand guidelines.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/press-kit.html">
|
||||
<title>Press Kit — MealMood</title>
|
||||
<meta name="description" content="Press kit for MealMood with app description, icons, screenshots, and brand guidelines.">
|
||||
<link rel="canonical" href="https://mealmood.app/press-kit.html">
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Press Kit — PorfolioJournal">
|
||||
<meta property="og:title" content="Press Kit — MealMood">
|
||||
<meta property="og:description" content="App description, icon placeholders, screenshots, and brand guidelines.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/press-kit.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:url" content="https://mealmood.app/press-kit.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Press Kit — PorfolioJournal">
|
||||
<meta name="twitter:title" content="Press Kit — MealMood">
|
||||
<meta name="twitter:description" content="App description, icon placeholders, screenshots, and brand guidelines.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -56,7 +56,7 @@
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>Press kit</h1>
|
||||
<p>Everything you need to write about PorfolioJournal in one place.</p>
|
||||
<p>Everything you need to write about MealMood in one place.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
<div class="container">
|
||||
<div class="content-body">
|
||||
<h2>App description</h2>
|
||||
<p>PorfolioJournal is an offline-first iOS app that helps investors build a long-term portfolio record through calm monthly check-ins, reflection notes, and clear allocation snapshots. It combines a focused journal with lightweight analytics, so users can track growth without the noise of day-to-day market swings.</p>
|
||||
<p>MealMood is an iOS app for planning family lunches and dinners in minutes. It combines drag-and-drop scheduling, configurable tag rules, smart auto-complete, and optional iOS Calendar sync in a simple, privacy-friendly experience.</p>
|
||||
|
||||
<h2>Download assets</h2>
|
||||
<div class="cards-grid">
|
||||
@@ -81,7 +81,7 @@
|
||||
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 5h16v14H4z"/><path d="M4 15l4-4 4 4 4-4 4 4"/></svg>
|
||||
</div>
|
||||
<h3>Screenshots</h3>
|
||||
<p>Replace with actual iOS screenshots when available.</p>
|
||||
<p>All screenshots are placeholders for now.</p>
|
||||
<a class="btn btn-secondary" href="assets/images/screenshots/screen-1.svg">Download sample</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -89,11 +89,11 @@
|
||||
<h2>App icons</h2>
|
||||
<div class="icon-grid">
|
||||
<div class="icon-item">
|
||||
<img src="assets/images/app-icon.svg" alt="PorfolioJournal app icon">
|
||||
<img src="assets/images/app-icon.svg" alt="MealMood app icon">
|
||||
<span>App Icon (SVG)</span>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<img src="assets/icons/favicon.svg" alt="PorfolioJournal favicon">
|
||||
<img src="assets/icons/favicon.svg" alt="MealMood favicon">
|
||||
<span>Favicon (SVG)</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -102,19 +102,31 @@
|
||||
<div class="icon-grid">
|
||||
<div class="icon-item">
|
||||
<img src="assets/images/screenshots/screen-1.svg" alt="Screenshot placeholder 1">
|
||||
<span>Dashboard</span>
|
||||
<span>Placeholder 1</span>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<img src="assets/images/screenshots/screen-2.svg" alt="Screenshot placeholder 2">
|
||||
<span>Monthly check-in</span>
|
||||
<span>Placeholder 2</span>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<img src="assets/images/screenshots/screen-3.svg" alt="Screenshot placeholder 3">
|
||||
<span>Goals</span>
|
||||
<span>Placeholder 3</span>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<img src="assets/images/screenshots/screen-4.svg" alt="Screenshot placeholder 4">
|
||||
<span>Analytics</span>
|
||||
<span>Placeholder 4</span>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<img src="assets/images/screenshots/screen-5.svg" alt="Screenshot placeholder 5">
|
||||
<span>Placeholder 5</span>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<img src="assets/images/screenshots/screen-6.svg" alt="Screenshot placeholder 6">
|
||||
<span>Placeholder 6</span>
|
||||
</div>
|
||||
<div class="icon-item">
|
||||
<img src="assets/images/screenshots/screen-7.svg" alt="Screenshot placeholder 7">
|
||||
<span>Placeholder 7</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -129,7 +141,7 @@
|
||||
</div>
|
||||
|
||||
<h2>Press contact</h2>
|
||||
<p>For media inquiries, reach us at <a href="mailto:press@portfoliojournal.app">press@portfoliojournal.app</a>.</p>
|
||||
<p>For media inquiries, reach us at <a href="mailto:press@mealmood.app">press@mealmood.app</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -141,9 +153,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -172,7 +184,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Privacy Policy — PorfolioJournal</title>
|
||||
<meta name="description" content="PorfolioJournal privacy policy explaining data handling, storage, and deletion options.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/privacy.html">
|
||||
<title>Privacy Policy — MealMood</title>
|
||||
<meta name="description" content="MealMood privacy policy explaining data handling, storage, and deletion options.">
|
||||
<link rel="canonical" href="https://mealmood.app/privacy.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="Privacy Policy — PorfolioJournal">
|
||||
<meta property="og:description" content="How PorfolioJournal handles your data, iCloud sync, and deletion requests.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/privacy.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:title" content="Privacy Policy — MealMood">
|
||||
<meta property="og:description" content="How MealMood handles your data, iCloud sync, and deletion requests.">
|
||||
<meta property="og:url" content="https://mealmood.app/privacy.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Privacy Policy — PorfolioJournal">
|
||||
<meta name="twitter:description" content="How PorfolioJournal handles your data, iCloud sync, and deletion requests.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:title" content="Privacy Policy — MealMood">
|
||||
<meta name="twitter:description" content="How MealMood handles your data, iCloud sync, and deletion requests.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -56,13 +56,13 @@
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>Privacy Policy</h1>
|
||||
<p>PorfolioJournal is designed to keep your portfolio data private by default.</p>
|
||||
<p>MealMood is designed to keep your meal planning data private by default.</p>
|
||||
<div class="page-header-meta">
|
||||
<span>Effective date: <strong data-effective-date></strong></span>
|
||||
<span>Applies to iOS app and this website</span>
|
||||
</div>
|
||||
<div class="page-header-actions">
|
||||
<a class="btn btn-primary" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=privacy_page&mt=8">Download on the App Store</a>
|
||||
<a class="btn btn-primary" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=privacy_page&mt=8">Download on the App Store</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -73,7 +73,7 @@
|
||||
<div class="summary-box">
|
||||
<h3>Privacy summary</h3>
|
||||
<ul>
|
||||
<li>Your portfolio data and journal notes stay on your device by default.</li>
|
||||
<li>Your dishes, tags, and weekly plans stay on your device by default.</li>
|
||||
<li>iCloud sync is optional and only enabled by you.</li>
|
||||
<li>We collect usage data and device identifiers for product performance and advertising measurement.</li>
|
||||
<li>Some identifiers and usage data may be used to track you across apps and websites.</li>
|
||||
@@ -82,11 +82,11 @@
|
||||
</div>
|
||||
|
||||
<h2>What data we collect</h2>
|
||||
<p>PorfolioJournal collects the data you choose to enter into the app, such as portfolio sources, snapshots, contributions, categories, goals, and journal notes. This information is stored locally on your device unless you enable iCloud sync or export your data.</p>
|
||||
<p>MealMood collects the data you choose to enter, such as dishes, tags, meal slots, weekly plans, and optional notes. This information stays local unless you enable iCloud sync or export your data.</p>
|
||||
<p>We also collect usage data and device identifiers. This includes product interaction data, device ID, other usage data, and advertising data.</p>
|
||||
|
||||
<h2>How we use your data</h2>
|
||||
<p>Your data is used to provide app functionality: portfolio calculations, charts, progress tracking, and reminders. Usage data and identifiers are also used to understand performance and measure advertising effectiveness.</p>
|
||||
<p>Your data is used to provide app functionality: meal plan calculations, charts, progress tracking, and reminders. Usage data and identifiers are also used to understand performance and measure advertising effectiveness.</p>
|
||||
|
||||
<h2>App Store privacy labels</h2>
|
||||
<p>For transparency, our App Store privacy labels include:</p>
|
||||
@@ -97,7 +97,7 @@
|
||||
<p>These data types include product interaction, device ID, other usage data, and advertising data.</p>
|
||||
|
||||
<h2>Data storage and sync</h2>
|
||||
<p>By default, all content is stored on-device. If you enable iCloud sync, your data is stored in your iCloud account and synced across devices signed in with the same Apple ID. PorfolioJournal does not operate separate servers for user data.</p>
|
||||
<p>By default, all content is stored on-device. If you enable iCloud sync, your data is stored in your iCloud account and synced across devices signed in with the same Apple ID. MealMood does not operate separate servers for user data.</p>
|
||||
|
||||
<h2>Exports</h2>
|
||||
<p>You can export your data in CSV or JSON format at any time. Exported files are stored wherever you choose (Files app, local storage, or another provider you control).</p>
|
||||
@@ -110,13 +110,13 @@
|
||||
<p>Your data is retained on your device until you delete it. If you enable iCloud, data is retained in your iCloud account until you delete it from the app or remove it in iCloud settings.</p>
|
||||
|
||||
<h2>Deleting your data</h2>
|
||||
<p>You can delete your portfolio data at any time from within the app. For iCloud data removal, follow the steps on the <a href="delete-data.html">Delete Data</a> page.</p>
|
||||
<p>You can delete your meal planning data at any time from within the app. For iCloud data removal, follow the steps on the <a href="delete-data.html">Delete Data</a> page.</p>
|
||||
|
||||
<h2>Children's privacy</h2>
|
||||
<p>PorfolioJournal is not directed to children under 13 and does not knowingly collect personal data from children.</p>
|
||||
<p>MealMood is not directed to children under 13 and does not knowingly collect personal data from children.</p>
|
||||
|
||||
<h2>Contact</h2>
|
||||
<p>If you have any questions about this policy or a data deletion request, contact us at <a href="mailto:support@portfoliojournal.app">support@portfoliojournal.app</a>.</p>
|
||||
<p>If you have any questions about this policy or a data deletion request, contact us at <a href="mailto:support@mealmood.app">support@mealmood.app</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -128,9 +128,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -159,7 +159,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
User-agent: *
|
||||
Allow: /
|
||||
|
||||
Sitemap: https://portfoliojournal.app/sitemap.xml
|
||||
Sitemap: https://mealmood.app/sitemap.xml
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Security — PorfolioJournal</title>
|
||||
<meta name="description" content="Security and data protection details for PorfolioJournal, including on-device storage and iCloud sync.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/security.html">
|
||||
<title>Security — MealMood</title>
|
||||
<meta name="description" content="Security and data protection details for MealMood, including on-device storage and iCloud sync.">
|
||||
<link rel="canonical" href="https://mealmood.app/security.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="Security — PorfolioJournal">
|
||||
<meta property="og:description" content="Learn how PorfolioJournal secures your portfolio data.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/security.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:title" content="Security — MealMood">
|
||||
<meta property="og:description" content="Learn how MealMood secures your meal planning data.">
|
||||
<meta property="og:url" content="https://mealmood.app/security.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Security — PorfolioJournal">
|
||||
<meta name="twitter:description" content="Learn how PorfolioJournal secures your portfolio data.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:title" content="Security — MealMood">
|
||||
<meta name="twitter:description" content="Learn how MealMood secures your meal planning data.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -56,7 +56,7 @@
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>Security & data protection</h1>
|
||||
<p>PorfolioJournal is built to keep your portfolio data secure, private, and under your control.</p>
|
||||
<p>MealMood is built to keep your meal planning data secure, private, and under your control.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -64,10 +64,10 @@
|
||||
<div class="container">
|
||||
<div class="content-body">
|
||||
<h2>On-device storage</h2>
|
||||
<p>All portfolio data and journal notes are stored locally on your device by default. This keeps sensitive information off external servers.</p>
|
||||
<p>All meal planning data and journal notes are stored locally on your device by default. This keeps sensitive information off external servers.</p>
|
||||
|
||||
<h2>Optional passcode and Face ID</h2>
|
||||
<p>PorfolioJournal can use iOS security features, including device passcodes and Face ID, to keep your data protected from unauthorized access.</p>
|
||||
<p>MealMood can use iOS security features, including device passcodes and Face ID, to keep your data protected from unauthorized access.</p>
|
||||
|
||||
<h2>iCloud sync</h2>
|
||||
<p>If you enable iCloud sync, your data is stored and synced through your Apple ID. iCloud uses Apple-managed encryption in transit and at rest.</p>
|
||||
@@ -78,13 +78,13 @@
|
||||
<h2>Best practices</h2>
|
||||
<ul>
|
||||
<li>Use a strong device passcode and Face ID.</li>
|
||||
<li>Keep iOS and PorfolioJournal updated.</li>
|
||||
<li>Keep iOS and MealMood updated.</li>
|
||||
<li>Protect your Apple ID with two-factor authentication.</li>
|
||||
<li>Do not share your Apple ID credentials with others.</li>
|
||||
</ul>
|
||||
|
||||
<h2>Responsible disclosure</h2>
|
||||
<p>If you discover a security issue, contact us at <a href="mailto:security@portfoliojournal.app">security@portfoliojournal.app</a>. We appreciate responsible disclosure and will respond promptly.</p>
|
||||
<p>If you discover a security issue, contact us at <a href="mailto:security@mealmood.app">security@mealmood.app</a>. We appreciate responsible disclosure and will respond promptly.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -96,9 +96,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -127,7 +127,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/</loc>
|
||||
<loc>https://mealmood.app/</loc>
|
||||
<lastmod>2025-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/privacy.html</loc>
|
||||
<loc>https://mealmood.app/privacy.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/terms.html</loc>
|
||||
<loc>https://mealmood.app/terms.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/support.html</loc>
|
||||
<loc>https://mealmood.app/support.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/security.html</loc>
|
||||
<loc>https://mealmood.app/security.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/press-kit.html</loc>
|
||||
<loc>https://mealmood.app/press-kit.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/status.html</loc>
|
||||
<loc>https://mealmood.app/status.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/changelog.html</loc>
|
||||
<loc>https://mealmood.app/changelog.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/delete-data.html</loc>
|
||||
<loc>https://mealmood.app/delete-data.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
<url>
|
||||
<loc>https://portfoliojournal.app/about.html</loc>
|
||||
<loc>https://mealmood.app/about.html</loc>
|
||||
<lastmod>2026-01-15</lastmod>
|
||||
</url>
|
||||
</urlset>
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Status — PorfolioJournal</title>
|
||||
<meta name="description" content="PorfolioJournal system status and maintenance updates.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/status.html">
|
||||
<title>Status — MealMood</title>
|
||||
<meta name="description" content="MealMood system status and maintenance updates.">
|
||||
<link rel="canonical" href="https://mealmood.app/status.html">
|
||||
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:title" content="Status — PorfolioJournal">
|
||||
<meta property="og:title" content="Status — MealMood">
|
||||
<meta property="og:description" content="Current system status and historical incidents.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/status.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:url" content="https://mealmood.app/status.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Status — PorfolioJournal">
|
||||
<meta name="twitter:title" content="Status — MealMood">
|
||||
<meta name="twitter:description" content="Current system status and historical incidents.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -56,7 +56,7 @@
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>Status</h1>
|
||||
<p>Manual updates and current system health for PorfolioJournal.</p>
|
||||
<p>Manual updates and current system health for MealMood.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
@@ -96,9 +96,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -127,7 +127,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Support — PorfolioJournal</title>
|
||||
<meta name="description" content="Get help with PorfolioJournal, including FAQs, contact options, and troubleshooting tips.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/support.html">
|
||||
<title>Support — MealMood</title>
|
||||
<meta name="description" content="Get help with MealMood, including FAQs, contact options, and troubleshooting tips.">
|
||||
<link rel="canonical" href="https://mealmood.app/support.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="Support — PorfolioJournal">
|
||||
<meta property="og:description" content="Help and support resources for PorfolioJournal.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/support.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:title" content="Support — MealMood">
|
||||
<meta property="og:description" content="Help and support resources for MealMood.">
|
||||
<meta property="og:url" content="https://mealmood.app/support.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Support — PorfolioJournal">
|
||||
<meta name="twitter:description" content="Help and support resources for PorfolioJournal.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:title" content="Support — MealMood">
|
||||
<meta name="twitter:description" content="Help and support resources for MealMood.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -56,9 +56,9 @@
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>Support</h1>
|
||||
<p>We are here to help you stay on track with your portfolio journaling.</p>
|
||||
<p>We are here to help you stay on track with your meal planning.</p>
|
||||
<div class="page-header-actions">
|
||||
<a class="btn btn-primary" href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=support_page&mt=8">Download on the App Store</a>
|
||||
<a class="btn btn-primary" href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=support_page&mt=8">Download on the App Store</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -73,7 +73,7 @@
|
||||
</div>
|
||||
<h3>Email support</h3>
|
||||
<p>Send a direct message to the support team. We reply within 2 business days.</p>
|
||||
<a class="btn btn-secondary" href="mailto:support@portfoliojournal.app?subject=PorfolioJournal%20Support%20Request">Email support</a>
|
||||
<a class="btn btn-secondary" href="mailto:support@mealmood.app?subject=MealMood%20Support%20Request">Email support</a>
|
||||
</div>
|
||||
<div class="card">
|
||||
<div class="card-icon" aria-hidden="true">
|
||||
@@ -81,7 +81,7 @@
|
||||
</div>
|
||||
<h3>Report a bug</h3>
|
||||
<p>Use the template below to share steps, device model, and iOS version.</p>
|
||||
<a class="btn btn-secondary" href="mailto:support@portfoliojournal.app?subject=PorfolioJournal%20Bug%20Report&body=Device%20Model%3A%0AiOS%20Version%3A%0AApp%20Version%3A%0ASteps%20to%20Reproduce%3A%0AExpected%20Result%3A%0AActual%20Result%3A%0A">Report a bug</a>
|
||||
<a class="btn btn-secondary" href="mailto:support@mealmood.app?subject=MealMood%20Bug%20Report&body=Device%20Model%3A%0AiOS%20Version%3A%0AApp%20Version%3A%0ASteps%20to%20Reproduce%3A%0AExpected%20Result%3A%0AActual%20Result%3A%0A">Report a bug</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -102,25 +102,25 @@
|
||||
<div class="faq-item">
|
||||
<button class="faq-question" aria-expanded="false">Can I restore purchases?</button>
|
||||
<div class="faq-answer">
|
||||
<div class="faq-answer-inner">If PorfolioJournal offers paid features, use “Restore Purchases” in the app or in your App Store account settings.</div>
|
||||
<div class="faq-answer-inner">If MealMood offers paid features, use “Restore Purchases” in the app or in your App Store account settings.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question" aria-expanded="false">Do I need a subscription?</button>
|
||||
<div class="faq-answer">
|
||||
<div class="faq-answer-inner">If PorfolioJournal offers paid features, the core experience remains available with the base version. Premium unlocks advanced analytics and multiple accounts.</div>
|
||||
<div class="faq-answer-inner">If MealMood offers paid features, the core weekly planning flow remains available in the base version. Premium may unlock higher limits and advanced planning tools.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="faq-item">
|
||||
<button class="faq-question" aria-expanded="false">How do I export data for taxes or reporting?</button>
|
||||
<button class="faq-question" aria-expanded="false">How do I export my data?</button>
|
||||
<div class="faq-answer">
|
||||
<div class="faq-answer-inner">Export CSV files and share them directly with your reporting tools. You stay in control of where the files go.</div>
|
||||
<div class="faq-answer-inner">Export CSV or JSON files from the app and save them in Files, iCloud Drive, or any provider you use.</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info-box">
|
||||
<p>Need immediate help? Email <a href="mailto:support@portfoliojournal.app">support@portfoliojournal.app</a> and include your device model and iOS version.</p>
|
||||
<p>Need immediate help? Email <a href="mailto:support@mealmood.app">support@mealmood.app</a> and include your device model and iOS version.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -133,9 +133,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -164,7 +164,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -3,20 +3,20 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Terms of Service — PorfolioJournal</title>
|
||||
<meta name="description" content="Terms of Service for PorfolioJournal, the iOS portfolio journaling app.">
|
||||
<link rel="canonical" href="https://portfoliojournal.app/terms.html">
|
||||
<title>Terms of Service — MealMood</title>
|
||||
<meta name="description" content="Terms of Service for MealMood, the iOS meal planning app.">
|
||||
<link rel="canonical" href="https://mealmood.app/terms.html">
|
||||
|
||||
<meta property="og:type" content="article">
|
||||
<meta property="og:title" content="Terms of Service — PorfolioJournal">
|
||||
<meta property="og:description" content="Usage terms, disclaimers, and service details for PorfolioJournal.">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/terms.html">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta property="og:title" content="Terms of Service — MealMood">
|
||||
<meta property="og:description" content="Usage terms, disclaimers, and service details for MealMood.">
|
||||
<meta property="og:url" content="https://mealmood.app/terms.html">
|
||||
<meta property="og:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="Terms of Service — PorfolioJournal">
|
||||
<meta name="twitter:description" content="Usage terms, disclaimers, and service details for PorfolioJournal.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/assets/images/og-image.svg">
|
||||
<meta name="twitter:title" content="Terms of Service — MealMood">
|
||||
<meta name="twitter:description" content="Usage terms, disclaimers, and service details for MealMood.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/assets/images/og-image.svg">
|
||||
|
||||
<link rel="icon" href="assets/icons/favicon.svg" type="image/svg+xml">
|
||||
<link rel="apple-touch-icon" href="assets/icons/apple-touch-icon.svg">
|
||||
@@ -24,7 +24,7 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<link rel="stylesheet" href="assets/css/style.css">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
<script src="assets/js/config.js"></script>
|
||||
<script src="assets/js/main.js" defer></script>
|
||||
</head>
|
||||
@@ -32,9 +32,9 @@
|
||||
<a class="skip-link" href="#main">Skip to content</a>
|
||||
<header class="nav" role="banner">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-logo" href="index.html" aria-label="PorfolioJournal home">
|
||||
<a class="nav-logo" href="index.html" aria-label="MealMood home">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</a>
|
||||
<nav aria-label="Primary">
|
||||
<button class="mobile-menu-toggle" aria-label="Open navigation" aria-expanded="false"></button>
|
||||
@@ -56,7 +56,7 @@
|
||||
<section class="page-header">
|
||||
<div class="container">
|
||||
<h1>Terms of Service</h1>
|
||||
<p>These terms explain your rights and responsibilities when using PorfolioJournal.</p>
|
||||
<p>These terms explain your rights and responsibilities when using MealMood.</p>
|
||||
<div class="page-header-meta">
|
||||
<span>Effective date: <strong data-effective-date></strong></span>
|
||||
</div>
|
||||
@@ -67,31 +67,31 @@
|
||||
<div class="container">
|
||||
<div class="content-body">
|
||||
<h2>Acceptance of terms</h2>
|
||||
<p>By using PorfolioJournal, you agree to these Terms of Service. If you do not agree, do not use the app.</p>
|
||||
<p>By using MealMood, you agree to these Terms of Service. If you do not agree, do not use the app.</p>
|
||||
|
||||
<h2>Use of the app</h2>
|
||||
<p>PorfolioJournal provides tools for personal portfolio tracking and journaling. You are responsible for the accuracy of the information you enter and for safeguarding your device.</p>
|
||||
<p>MealMood provides tools for personal and family meal planning. You are responsible for the accuracy of the information you enter and for safeguarding your device.</p>
|
||||
|
||||
<h2>Not financial advice</h2>
|
||||
<p>PorfolioJournal is provided for informational and organizational purposes only. It does not provide investment advice, brokerage services, or recommendations.</p>
|
||||
<h2>General information</h2>
|
||||
<p>MealMood is provided for organizational purposes only. It does not provide medical, nutritional, or dietary advice.</p>
|
||||
|
||||
<h2>Subscriptions and paid features</h2>
|
||||
<p>If PorfolioJournal offers paid features, prices and terms will be shown in the App Store. Subscriptions are managed by Apple and can be cancelled in your Apple ID settings.</p>
|
||||
<p>If MealMood offers paid features, prices and terms will be shown in the App Store. Subscriptions are managed by Apple and can be cancelled in your Apple ID settings.</p>
|
||||
|
||||
<h2>iCloud and device storage</h2>
|
||||
<p>Content is stored locally unless you enable iCloud sync. You are responsible for managing your iCloud settings and device backups.</p>
|
||||
|
||||
<h2>Intellectual property</h2>
|
||||
<p>PorfolioJournal and its content are owned by PorfolioJournal or its licensors. You may not copy, modify, or distribute the app except as permitted by Apple.</p>
|
||||
<p>MealMood and its content are owned by MealMood or its licensors. You may not copy, modify, or distribute the app except as permitted by Apple.</p>
|
||||
|
||||
<h2>Service availability</h2>
|
||||
<p>We work to keep the app reliable but do not guarantee uninterrupted access or error-free operation. Features may change or be discontinued with reasonable notice.</p>
|
||||
|
||||
<h2>Limitation of liability</h2>
|
||||
<p>To the fullest extent permitted by law, PorfolioJournal is not liable for indirect or consequential damages related to your use of the app.</p>
|
||||
<p>To the fullest extent permitted by law, MealMood is not liable for indirect or consequential damages related to your use of the app.</p>
|
||||
|
||||
<h2>Contact</h2>
|
||||
<p>If you have questions about these terms, contact us at <a href="mailto:support@portfoliojournal.app">support@portfoliojournal.app</a>.</p>
|
||||
<p>If you have questions about these terms, contact us at <a href="mailto:support@mealmood.app">support@mealmood.app</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -103,9 +103,9 @@
|
||||
<div class="footer-brand">
|
||||
<div class="footer-logo">
|
||||
<img src="assets/images/app-icon.svg" alt="" aria-hidden="true">
|
||||
<span>PorfolioJournal</span>
|
||||
<span>MealMood</span>
|
||||
</div>
|
||||
<p>Calm, offline-first portfolio journaling for iOS.</p>
|
||||
<p>Fast, visual weekly meal planning for iOS.</p>
|
||||
</div>
|
||||
<div class="footer-column">
|
||||
<h5>Product</h5>
|
||||
@@ -134,7 +134,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer-bottom">
|
||||
<div class="footer-copyright">© <span data-year></span> PorfolioJournal. All rights reserved.</div>
|
||||
<div class="footer-copyright">© <span data-year></span> MealMood. All rights reserved.</div>
|
||||
<div class="footer-legal">
|
||||
<a href="privacy.html">Privacy</a>
|
||||
<a href="terms.html">Terms</a>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
## Required Image: `og-share-card.png`
|
||||
|
||||
Create this image and place it at: `https://portfoliojournal.app/images/og-share-card.png`
|
||||
Create this image and place it at: `https://mealmood.app/images/og-share-card.png`
|
||||
|
||||
### Dimensions
|
||||
- **Size:** 1200 x 630 pixels (Facebook/LinkedIn optimal)
|
||||
@@ -16,16 +16,16 @@ Create this image and place it at: `https://portfoliojournal.app/images/og-share
|
||||
| |
|
||||
| [App Icon] |
|
||||
| |
|
||||
| Portfolio Journal |
|
||||
| MealMood |
|
||||
| ───────────────── |
|
||||
| |
|
||||
| Track your investment goals |
|
||||
| and celebrate your wins. |
|
||||
| Plan your family meals in minutes |
|
||||
| with less stress and more variety. |
|
||||
| |
|
||||
| [Progress bar illustration] |
|
||||
| |
|
||||
| ★ Goal Tracking ★ Smart Predictions |
|
||||
| ★ Portfolio Analytics ★ Privacy Focused |
|
||||
| ★ Drag & Drop ★ Smart Auto-complete |
|
||||
| ★ Calendar Sync ★ Privacy Focused |
|
||||
| |
|
||||
| [App Store Badge] |
|
||||
| |
|
||||
@@ -39,7 +39,7 @@ Create this image and place it at: `https://portfoliojournal.app/images/og-share
|
||||
|
||||
### Elements to Include
|
||||
1. App icon (prominent, top-left or center)
|
||||
2. App name "Portfolio Journal"
|
||||
2. App name "MealMood"
|
||||
3. Tagline or value proposition
|
||||
4. Visual element (progress bar, chart icon, or screenshot)
|
||||
5. Feature highlights
|
||||
|
||||
@@ -3,31 +3,31 @@
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Portfolio Journal - Track Your Investment Goals</title>
|
||||
<title>MealMood - Plan Your Weekly Meals</title>
|
||||
|
||||
<!-- Primary Meta Tags -->
|
||||
<meta name="title" content="Portfolio Journal - Track Your Investment Goals">
|
||||
<meta name="description" content="Set financial goals, track your progress, and celebrate your investment milestones. Available on the App Store.">
|
||||
<meta name="keywords" content="investment tracker, portfolio tracker, financial goals, investment app, iOS app, wealth tracking">
|
||||
<meta name="author" content="Portfolio Journal">
|
||||
<meta name="title" content="MealMood - Plan Your Weekly Meals">
|
||||
<meta name="description" content="Plan lunches and dinners in minutes with drag-and-drop and smart auto-complete. Available on the App Store.">
|
||||
<meta name="keywords" content="meal planner, family meal planning, weekly menu, iOS app, meal schedule">
|
||||
<meta name="author" content="MealMood">
|
||||
|
||||
<!-- Open Graph / Facebook -->
|
||||
<meta property="og:type" content="website">
|
||||
<meta property="og:url" content="https://portfoliojournal.app/share">
|
||||
<meta property="og:title" content="Portfolio Journal - Track Your Investment Goals">
|
||||
<meta property="og:description" content="Set financial goals, track your progress, and celebrate your investment milestones. Download now on the App Store.">
|
||||
<meta property="og:image" content="https://portfoliojournal.app/images/og-share-card.png">
|
||||
<meta property="og:url" content="https://mealmood.app/share">
|
||||
<meta property="og:title" content="MealMood - Plan Your Weekly Meals">
|
||||
<meta property="og:description" content="Plan lunches and dinners in minutes with drag-and-drop and smart auto-complete. Download now on the App Store.">
|
||||
<meta property="og:image" content="https://mealmood.app/images/og-share-card.png">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta property="og:site_name" content="Portfolio Journal">
|
||||
<meta property="og:site_name" content="MealMood">
|
||||
<meta property="og:locale" content="en_US">
|
||||
|
||||
<!-- Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:url" content="https://portfoliojournal.app/share">
|
||||
<meta name="twitter:title" content="Portfolio Journal - Track Your Investment Goals">
|
||||
<meta name="twitter:description" content="Set financial goals, track your progress, and celebrate your investment milestones. Download now on the App Store.">
|
||||
<meta name="twitter:image" content="https://portfoliojournal.app/images/og-share-card.png">
|
||||
<meta name="twitter:url" content="https://mealmood.app/share">
|
||||
<meta name="twitter:title" content="MealMood - Plan Your Weekly Meals">
|
||||
<meta name="twitter:description" content="Plan lunches and dinners in minutes with drag-and-drop and smart auto-complete. Download now on the App Store.">
|
||||
<meta name="twitter:image" content="https://mealmood.app/images/og-share-card.png">
|
||||
|
||||
<!-- Apple Smart App Banner -->
|
||||
<meta name="apple-itunes-app" content="app-id=6744983373">
|
||||
@@ -39,24 +39,24 @@
|
||||
<link rel="preconnect" href="https://plausible.io">
|
||||
|
||||
<!-- Canonical URL -->
|
||||
<link rel="canonical" href="https://portfoliojournal.app/share">
|
||||
<script defer data-domain="portfoliojournal.app" src="https://plausible.io/js/script.js"></script>
|
||||
<link rel="canonical" href="https://mealmood.app/share">
|
||||
<script defer data-domain="mealmood.app" src="https://plausible.io/js/script.js"></script>
|
||||
|
||||
<!-- Schema.org structured data for SEO/AEO -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "MobileApplication",
|
||||
"name": "Portfolio Journal",
|
||||
"name": "MealMood",
|
||||
"operatingSystem": "iOS",
|
||||
"applicationCategory": "FinanceApplication",
|
||||
"description": "Track your investment portfolio, set financial goals, and monitor your progress with beautiful charts and predictions.",
|
||||
"url": "https://portfoliojournal.app",
|
||||
"downloadUrl": "https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_other&mt=8",
|
||||
"screenshot": "https://portfoliojournal.app/images/og-share-card.png",
|
||||
"applicationCategory": "FoodApplication",
|
||||
"description": "Plan weekly family lunches and dinners in minutes with drag-and-drop scheduling and smart auto-complete.",
|
||||
"url": "https://mealmood.app",
|
||||
"downloadUrl": "https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_other&mt=8",
|
||||
"screenshot": "https://mealmood.app/images/og-share-card.png",
|
||||
"author": {
|
||||
"@type": "Organization",
|
||||
"name": "Portfolio Journal"
|
||||
"name": "MealMood"
|
||||
},
|
||||
"offers": {
|
||||
"@type": "Offer",
|
||||
@@ -171,19 +171,19 @@
|
||||
<body>
|
||||
<div class="container">
|
||||
<!-- Replace with your actual app icon -->
|
||||
<img src="/images/app-icon.png" alt="Portfolio Journal" class="app-icon">
|
||||
<img src="/images/app-icon.png" alt="MealMood" class="app-icon">
|
||||
|
||||
<h1>Portfolio Journal</h1>
|
||||
<p class="tagline">Track your investment goals and celebrate your financial milestones.</p>
|
||||
<h1>MealMood</h1>
|
||||
<p class="tagline">Plan your weekly family meals with less stress and more variety.</p>
|
||||
|
||||
<div class="features">
|
||||
<span class="feature">Goal Tracking</span>
|
||||
<span class="feature">Portfolio Analytics</span>
|
||||
<span class="feature">Smart Predictions</span>
|
||||
<span class="feature">Drag & Drop</span>
|
||||
<span class="feature">Smart Auto-complete</span>
|
||||
<span class="feature">Calendar Sync</span>
|
||||
<span class="feature">Privacy Focused</span>
|
||||
</div>
|
||||
|
||||
<a href="https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_other&mt=8" class="download-btn">
|
||||
<a href="https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_other&mt=8" class="download-btn">
|
||||
<svg viewBox="0 0 24 24" fill="currentColor">
|
||||
<path d="M18.71 19.5c-.83 1.24-1.71 2.45-3.05 2.47-1.34.03-1.77-.79-3.29-.79-1.53 0-2 .77-3.27.82-1.31.05-2.3-1.32-3.14-2.53C4.25 17 2.94 12.45 4.7 9.39c.87-1.52 2.43-2.48 4.12-2.51 1.28-.02 2.5.87 3.29.87.78 0 2.26-1.07 3.81-.91.65.03 2.47.26 3.64 1.98-.09.06-2.17 1.28-2.15 3.81.03 3.02 2.65 4.03 2.68 4.04-.03.07-.42 1.44-1.38 2.83M13 3.5c.73-.83 1.94-1.46 2.94-1.5.13 1.17-.34 2.35-1.04 3.19-.69.85-1.83 1.51-2.95 1.42-.15-1.15.41-2.35 1.05-3.11z"/>
|
||||
</svg>
|
||||
@@ -191,7 +191,7 @@
|
||||
</a>
|
||||
|
||||
<p class="footer">
|
||||
<a href="https://portfoliojournal.app">portfoliojournal.app</a>
|
||||
<a href="https://mealmood.app">mealmood.app</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -199,7 +199,7 @@
|
||||
<script>
|
||||
// Uncomment to enable auto-redirect
|
||||
// setTimeout(function() {
|
||||
// window.location.href = 'https://apps.apple.com/us/app/portfolio-journal/id6757678318?pt=123456&ct=homepage_other&mt=8';
|
||||
// window.location.href = 'https://apps.apple.com/us/app/mealmood/id0000000000?pt=123456&ct=homepage_other&mt=8';
|
||||
// }, 3000);
|
||||
</script>
|
||||
</body>
|
||||
|
||||