Today at a glance
Your home page. Click a section title to open that page, or a card to zoom straight into it.
Health
Daily habits, the habit calendar, and screen time.
Tasks
All your tasks in one list. Work and Personal are filtered views of the same list.
Faith
Bible reading schedule and prayer. Daily checks live on the Habit calendar.
Plants
Your plant database, watering checks, and Horty Junior.
Bible reading schedule
Genesis 1 → Revelation 22, in adaptive ~10-minute portions. You only move forward when you finish a reading.
Today’s reading
Up next
Projected dates assume one reading per day from here. Missed days push everything back — nothing gets skipped.
Progress
Recently completed
Plan settings
The start date is only used for the “behind by N days” indicator.
How the plan works
- A chapter with 25+ verses stands alone (18+ in the dense teaching books: Romans–Jude and Ecclesiastes).
- Shorter chapters keep pulling in the next one until the portion reaches that size, up to 5 chapters. A chapter isn’t added if it would push the portion past about 50 verses.
- Genealogy and list chapters (for example Genesis 5, 10, 11, 36, Numbers 1–3 and 7, 1 Chronicles 1–9, Ezra 2, Nehemiah 7, 11–12) count as half weight, so they get combined.
- Portions stay within one book. The exception is a tiny portion at the end of a book (under 15 verses, like 2 John), which joins the next book.
- The estimate is about 0.4 min per verse, so 25 verses is roughly 10 minutes.
Plant database
Every plant you own, with its care basics.
Add a plant
Your plants
Watering tracker
Each plant has its own check interval. A plant is due once that many days have passed since its last watering (or since you added it).
Due now
All plants
Plant care guide
General care by plant type. Each plant’s profile inherits these defaults, and you only override what’s different.
Plant profile
👑 Horty Junior
Your plant-care advisor. Reads your plant database and watering log and tells you what needs attention.
Today’s report
Plant by plant
Habit calendar
Cardio, weight training, meal prep, Bible reading, prayer, and daily weight — one day at a time.
Today
This month
Habits
Daily checklist with streaks.
Daily habits
Check off habits for today. Streaks count consecutive days completed.
Add / edit habits
Work
Work tasks only. Anything added here also shows in Tasks.
Personal
Personal tasks only. Anything added here also shows in Tasks.
Training
Cardio and weight training by day since Oct 12, 2026, plus Strong CSV import, volume, and PRs.
Training calendar
Same checkmarks as the overview and the Habit calendar, so a check anywhere shows up everywhere.
Why I skipped the gym
Log a reason for a day you didn't train. It defaults to today; pick a date to log a past day. Days with a reason get a 📝 in the calendar above.
Past reasons
Training (Strong)
Import a Strong app CSV export. Try sample-strong.csv in this folder. History is stored locally (and synced if cloud is on).
Volume by workout
Recent workouts
Exercise PRs (max weight)
| Exercise | Max weight | Best set | Date |
|---|
Screen time
Instagram and YouTube minutes.
Screen time
Date,App,Minutes) — e.g. via Shortcuts. Sample: sample-screentime.csv.
Last 7 days
Work inbox placeholder.
Work email
Ecosystem
Every app you use, how you work with it, and how they connect.
Standard operating procedures
One card per app: what it's for, exact click paths, and the keys you've issued. Key values are never shown here, because this site is public.
🏠 IGNIS ORALive
Your personal hub for habits, tasks, training, faith, plants, and this Ecosystem map. Data is saved in your browser and syncs to Supabase once you sign in.
How to
- Open it at jared-dashboard-3847.netlify.app.
- To turn on cloud sync, go to Sidebar > ⚙️ Settings > Cloud sync (Supabase), enter your email, and send the sign-in link.
- Open the email in Gmail and click the link. The sync pill at the top of the sidebar should read "Synced".
- To add it to your iPhone home screen, open it in Safari and tap Share > Add to Home Screen.
Keys & tokens
No keys of its own. It uses the Supabase public anon key, listed on the Supabase card.
▲ NetlifyLive
Hosts the dashboard website (site jared-dashboard-3847) and the Sugoroku CRM (site sugoroku-crm-6898, behind a Netlify login). Chief of Engineering deploys new versions here.
How to
- Sign in at app.netlify.com.
- To see the site and its deploy history, go to Sites > jared-dashboard-3847 > Deploys.
- To manage tokens, go to Avatar (top right) > User settings > Applications > Personal access tokens.
Keys & tokens
- Stored as
NETLIFY_AUTH_TOKEN, a secret on the shared bot computer- Used by
- Chief of Staff and Assistant COS, to deploy the dashboard
- Scope
- Your whole Netlify account
- Issued
- Oct 19, 2026
- Expires
- Set by Jared, check Netlify
☁️ CloudflareSetting up
The free host we're moving IGNIS ORA and the Sugoroku CRM to (Cloudflare Pages), with Cloudflare Access as the CRM's login lock. Chief of Engineering publishes new versions here. Free plan: about 500 deploys a month, no deploy credits, and visits are free.
How to
- Sign in at dash.cloudflare.com.
- To see the sites and their deploy history, go to Workers & Pages > (site name) > Deployments.
- To manage the login lock, go to Zero Trust > Access > Applications.
- To see or revoke API tokens, go to Profile icon (top right) > My Profile > API Tokens.
Keys & tokens
- Stored as
CLOUDFLARE_API_TOKEN, a secret on the shared bot computer (rule only)- Used by
- Chief of Engineering only
- Account
- Jared's Cloudflare account (ID
e9945c1207bdb755a77bb39632476d7d) - Scope
- Account: Cloudflare Pages: Edit; Access: Apps and Policies: Edit; Access: Organizations: Edit
- Issued
- Oct 19, 2026
- Expires
- No expiry yet; the replacement token gets 90 days (My Profile > API Tokens > Edit > TTL)
⚡ SupabaseLive
The cloud database and email sign-in behind the dashboard (project socnwythmvgzrlzrcoul). Row-level security keeps the data readable by your account only.
How to
- Sign in at supabase.com/dashboard and open project socnwythmvgzrlzrcoul.
- To view your data, go to Project > Table Editor.
- To check sign-in users and email settings, go to Project > Authentication > Users and Authentication > Emails.
- To find the project keys, go to Project > Project Settings > API Keys.
- To manage access tokens, go to Profile picture > Account preferences > Access Tokens.
- Sign-in is a magic link emailed to jaredddm1@gmail.com. Typing a sign-in code is paused because the free plan locks the email templates.
Keys & tokens
- Stored as
SUPABASE_ACCESS_TOKEN, a secret on the shared bot computer- Used by
- Chief of Staff, for project setup
- Scope
- Your whole Supabase organization
- Issued
- Oct 19, 2026
- Expires
- 30 days, around Nov 18, 2026
- Stored as
- Built into the dashboard code. Public by design.
- Used by
- The dashboard, to sync your data
- Scope
- Only what row-level security allows
- Issued
- At project creation, Oct 19, 2026
- Expires
- Doesn't expire unless rotated
✉️ GmailLive
Your inbox (jaredddm1@gmail.com). It receives the Supabase sign-in links for the dashboard.
How to
- When you sign in to the dashboard, look for an email from Supabase in Gmail > Inbox. If it isn't there, check Spam.
- Click "Log In" in that email on the same device and browser you want signed in.
Keys & tokens
No keys or tokens issued from this app.
🤖 Grok Bot appLive
Where your bots live: Chief of Staff, Assistant COS, and Horty. The bots share one computer, which holds the secrets listed on these cards.
How to
- Open a bot from the sidebar of the Grok Bot app to chat with it.
- The "Chief of Staff team" group chat is where Chief of Staff and Assistant COS coordinate, so you can see everything.
- Whenever a new app is set up or connected, the bots update this SOPs page and the App Tree and redeploy.
Keys & tokens
No keys issued from it. It stores NETLIFY_AUTH_TOKEN and SUPABASE_ACCESS_TOKEN as secrets (values never shown).
📌 Claim rule (one editor at a time)Team rule
How your bots avoid editing the same file at once. Adopted Oct 19, 2026, and it applies to every bot, including ones added later.
How to
- Check. Before editing a shared folder (for example /workspace/dashboard/ or /workspace/sugoroku-crm/), the bot looks for a
CLAIM.mdfile there. If another bot wrote it, it stays out and asks in the "Chief of Staff team" room. - Claim. It creates
CLAIM.mdwith its bot name, the task, the paths covered, and the time in Pacific. - Announce. It posts "claiming <path> for <task>" in the room.
- Work. It backs up before editing, as usual.
- Release. Once the change is deployed and verified, it deletes
CLAIM.mdand posts "released <path>". - Stale claims. If a claim is over 2 hours old with no update, the room asks that bot. The file is removed only after that bot confirms or Chief of Staff approves.
Keys & tokens
None. The full write-up is at /workspace/sops/claim-rule.md on the shared bot computer.
🛍️ ShopifyCSV only
Your store. Its orders feed the Sugoroku CRM through a CSV file you export yourself. The bots have no Shopify login or access.
How to
- Sign in at admin.shopify.com.
- Go to Orders > Export (top right of the Orders list).
- Choose All orders and CSV for Excel, Numbers, or other spreadsheet programs, then click Export orders. Shopify emails you the file if it's large.
- Import it in the CRM at Sugoroku CRM > Import. The file holds customer details, so share it only in a private chat, never the group room.
Keys & tokens
No keys or tokens issued from this app.
📊 Google SheetsPlanned
Holds the customer list and item master for the Sugoroku CRM. Not connected yet.
How to
- Waiting on access. Click paths will be added once it's connected.
Keys & tokens
No keys or tokens issued from this app.
📇 Sugoroku CRMLive · example data
Your customer CRM: who's active or inactive each month, line preferences, open-item recommendations, match review, and promo drafts that are never sent automatically. It replaces the old Notion plan, so Notion isn't used.
How to
- Open sugoroku-crm-6898.netlify.app. Netlify asks you to log in first (your Netlify account), which is a second lock on the customer data.
- Then enter jaredddm1@gmail.com, click Send sign-in link, and open the Supabase email in Gmail on the same browser.
- Use the left sidebar: Overview, Customers, Inactive, Review, Items, Import.
- To load real orders, go to Import and pick the Shopify CSV. It's read in your browser only, and re-importing the same file skips duplicates.
- Set closing dates on Items. Only open items get recommended.
Keys & tokens
No keys of its own. It uses the same Supabase sign-in and public anon key as IGNIS ORA, and the Netlify token deploys it.
App tree
How your apps connect. Each line says what passes between the two apps. Greyed, dashed apps are planned and not connected yet.
Swipe sideways to see the whole map.
Connections
- 🤖 Grok Bot app → ☁️ Cloudflare
Chief of Engineering publishes with its "Chief of Engineering publish" token (Pages edit + Access) - ☁️ Cloudflare → 🏠 IGNIS ORA + 📇 Sugoroku CRM
Will host both sites and lock the CRM behind Cloudflare Access - 🤖 Grok Bot app → ▲ Netlify
Chief of Staff deploys new versions - 🤖 Grok Bot app → ⚡ Supabase
Chief of Staff sets up the project - 🤖 Grok Bot app → 🏠 IGNIS ORA
Bots build and edit the app - ▲ Netlify → 🏠 IGNIS ORA
Hosts and serves the site - 🏠 IGNIS ORA → ⚡ Supabase
Syncs your data after sign-in - ⚡ Supabase → ✉️ Gmail
Emails the magic sign-in link - ✉️ Gmail → 🏠 IGNIS ORA
You click the link to sign in - 🛍️ Shopify → 📇 Sugoroku CRM
You export an orders CSV and import it (no store login) - ▲ Netlify → 📇 Sugoroku CRM
Hosts the CRM behind a Netlify login - 📇 Sugoroku CRM → ⚡ Supabase
Email sign-in, limited to your address - 📊 Google Sheets → 📇 Sugoroku CRM
Customer list + item master (planned)
Recurring tasks
Every recurring task or routine any of your bots runs: what it does, when it runs (Pacific time), how often, which bot runs it, and whether it's active or paused.
Roles & responsibilities
Who does what on your team of bots, and how work moves between them.
About IGNIS ORA
What the name means.
- Ignis (fire) + ora (to pray)
- To go down still burning is its own kind of discipline
Settings
Cloud sync, backup, and about.
Cloud sync (Supabase)
Optional. Signed out, everything stays in this browser only and the app works fully. Sign in with your email and every device shares one live, private dataset (only your account can read or write it).
Tap the link in the email on this same browser, or type the code. Your session stays signed in on this device.
- Open SQL Editor → New query, paste the SQL below, and Run.
- In Authentication → URL Configuration, set Site URL to this dashboard's address and add it under Redirect URLs.
- To get a typeable code, add
{{ .Token }}to the Magic Link (and Confirm signup) email templates. - Optional: after you've signed in once, turn off new sign-ups under Authentication → Providers/Sign In settings.
create table if not exists dashboard_state (
id text primary key,
owner uuid not null default auth.uid() references auth.users(id) on delete cascade,
data jsonb not null default '{}'::jsonb,
updated_at timestamptz not null default now()
);
alter table dashboard_state enable row level security;
create policy "owner_select" on dashboard_state for select to authenticated using (owner = auth.uid());
create policy "owner_insert" on dashboard_state for insert to authenticated with check (owner = auth.uid());
create policy "owner_update" on dashboard_state for update to authenticated using (owner = auth.uid()) with check (owner = auth.uid());
create policy "owner_delete" on dashboard_state for delete to authenticated using (owner = auth.uid());
alter publication supabase_realtime add table dashboard_state;
Row-level security: only the signed-in owner can read or write their row. The anon key alone can't touch the data.
Advanced: Supabase project keys
Already set to your project. Only change these if you move to a different Supabase project.
Backup & restore
All data also lives in this browser’s localStorage. Export a JSON backup anytime.
About IGNIS ORA
- Ignis (fire) + ora (to pray)
- To go down still burning is its own kind of discipline
About this app
IGNIS ORA · single-file · dark Notion-style layout. Chart.js + Supabase JS load from CDN when online. Strong and screen-time CSV samples sit next to this file.