Changelog

What's shipping

Live log of user-visible updates to PeptideAIx. Updated as we ship. Currently on v0.2.310 beta.

  1. 🔧Fixedv0.2.3092026-06-27

    Footer: anchor links work from any page, not just the landing

    The Product column's Features / Pricing / How it works / For practitioners links + the FAQ link in Get started were relative anchors (href="#faq" etc.). They only did the right thing when you were already on the landing page — clicking them from /legal/privacy, /legal/terms, /legal/disclaimer, /support, /changelog, /signup, or /signin scrolled to nowhere on the current page (or nowhere at all, since none of those pages have a #faq, #features, etc. section). Changed the five anchor hrefs to absolute form (`/#faq` etc.) so clicking from anywhere navigates to / and scrolls to the section.

  2. 🔧Fixedv0.2.3082026-06-27

    Footer audit: fixed every dead link + shipped /changelog and /legal/disclaimer

    Went through every link in the landing footer. Seven were dead — all pointing to href="#": About, Blog, Changelog, Terms, Privacy, Disclaimer (+ contact-sales had already been fixed in v0.2.307). Terms + Privacy now point to the existing /legal/terms and /legal/privacy pages. Changelog gets a brand-new public /changelog page rendering every non-Admin CHANGELOG entry (143 of them today) with title + summary + category chip. Disclaimer gets a new /legal/disclaimer page using LegalShell — same TOC + typography as Terms and Privacy. About + Blog removed entirely — no content behind them and dead links are worse than absent links; restore when there's something to link to.

  3. 🔧Fixedv0.2.3072026-06-26

    Footer: Contact sales → Contact us (points to /support form)

    The landing footer's "Contact sales" link pointed to /contact-sales — a page that never existed; clicking it 404'd. Relabelled to "Contact us" and repointed to /support, which already hosts the live contact form (eight category dropdown including Partnerships / Collaboration / Press / Marketing — covers everything sales would, plus general support). Submissions go through the existing sendContactEmail Cloud Function → delivered to support@peptideaix.com. Two latent /contact-sales references in Pricing.tsx + Practitioner.tsx (behind "Coming soon" gates) also fixed so they don't break when the Pro/Practitioner tier launches.

  4. 📈Improvedv0.2.3052026-06-26

    Protocol page: collapse compound cards by default

    Same accordion treatment as the v0.2.304 Edit-protocol modal, applied to the actual protocol page cards. An 8-compound stack rendered as a 6000px scroll wall by default; now each card shows only the head row (avatar, name, badges, AIx Core link, cycle pill, Edit + More) and folds away the dose grid + weekly schedule until you click. Clicking anywhere on the head row toggles — Edit / More / AIx Core link / multi-window Cadence cell all stop propagation so they keep their own behaviour.

  5. 📈Improvedv0.2.3042026-06-17

    Edit-protocol: collapse compound editors by default

    An 8-compound protocol's Step 2 Compound schedules editor was scrolling forever — each card opened its Delivery + Dose windows table eagerly, so eight stacked editors rendered as a 4000px wall. Each card now defaults to collapsed and only shows the head row (dot, name, strength, dilution, treatment dates, duration + windows pills, trash). A new chevron button toggles the rest in/out. Clicking the chevron mounts the Delivery + Dose windows subtree on demand — the editor stays cheap to render even at 10+ compounds.

  6. 🔧Fixedv0.2.3032026-06-13

    Distinct colours for SS-31, Tesamorelin, MOTS-c

    On the protocol page + levels chart, SS-31, Tesamorelin, and MOTS-c all rendered as near-identical hot pink. Two reasons: (1) the curated colour map had Tesamorelin = pink (h~327°) and MOTS-c = magenta (h~308°), only 19° apart and visually indistinguishable; (2) SS-31 wasn't in the curated map, so the fnv hash fallback landed on magenta — triple collision. MOTS-c moves to coral (still warm but further from pink), SS-31 gets explicitly assigned to a new emerald hue. Tesamorelin stays pink so the muscle memory promise from v0.2.96 holds for anyone who's been using the app.

  7. 🔧Fixedv0.2.3012026-06-13

    Skip reason now actually captured + shown

    Typing a reason when skipping a dose was silently dropped at three different layers — the DoseLog type had no reason field, the dashboard skip-confirm handler took no parameter, and the activity feed hardcoded "—". So even users who took the trouble to write "rest day" or "supply delay" got nothing in their activity feed. All three layers now wire the reason through end-to-end: SkipDoseModal text → DoseLog.reason → /activity REASON row. Note: skipped doses from before this fix never had their reason persisted, so they'll still show "—" forever — only new skips will surface the text.

  8. Newv0.2.2952026-06-12

    Stacking: combined delivery for stacks (one chip per injection)

    When compounds are stacked, they're usually drawn into ONE syringe — the per-compound delivery model from v0.2.291 didn't match that reality (it showed e.g. '4 clicks + 4 clicks' when the user is actually dialing 8 clicks combined). Each stack now has an optional Combined delivery section in the Stacking modal — pick ONE method (Syringe + size OR Pen + colour + max) and Today's Schedule shows ONE combined-units chip on the stack (e.g. 'U100 0.5mL · 10 of 50 units'), hiding the per-compound chips. Math: sum of each stacked compound's volume (mg / mgPerMl) → units (× 100). Per-compound delivery still applies when stack-level isn't set — fully backwards compatible.

  9. 🔧Fixedv0.2.2942026-06-12

    Mobile fix: protocol card no longer clips Sun + edit pencil

    On phones <400px wide, the compound-card schedule grid (7 day cells at min-height 54px each + padding + gap) was wider than the card itself, which pushed the right edge past the viewport and clipped Sat partially + Sun entirely. The overflow also took the edit pencil at the top-right of each card with it. Schedule cells now have `min-width: 0` so they shrink with the container, padding is tightened (6×2 instead of 6×4), and the grid has overflow-x as a safety so even a 320px viewport scrolls instead of bleeding off-screen.

  10. 📈Improvedv0.2.2932026-06-12

    Delivery polish: schedule chip shows colour/size, syringe preset dropdown, mobile separator fix

    Three polish passes on the v0.2.291 delivery feature based on user feedback. Today's Schedule now shows pen colour AND clicks ('Blue pen · 8 clicks') or syringe size AND units ('U100 0.5mL · 30 units') instead of just the unit count alone. The syringe-size text field is now a Select with 5 preset sizes (U100 0.3/0.5/1.0mL, U40 0.5/1.0mL) + 'Other…' fallback for custom sizes. And the mobile dose row no longer fuses adjacent bold chips into one run-on string — a surviving separator keeps them readable.

  11. 📈Improvedv0.2.2922026-06-12

    Delivery row: single line + capacity-aware calculator

    Reworked the v0.2.291 Delivery row per user feedback: collapsed to a single horizontal line (was 2 rows taking too much space) and the preview chip now reflects the chosen syringe's capacity OR the pen's max dial level — e.g. 'U100 0.5mL → 30 of 50 units' instead of just '30 units'. Over-capacity doses render in amber so they're obvious at a glance.

  12. Newv0.2.2912026-06-11

    Protocol: Delivery method picker + unit/click calculator

    Each compound in a protocol now has a Delivery row (Syringe or Pen) sitting right under the compound head fields. Pick Syringe + size (e.g. 'U100 0.5mL'), OR pick Pen + colour + max level (e.g. Blue, 60), and a live preview chip shows how many units or clicks each dose translates to using the configured strength + dilution. The same units/clicks count appears on Today's Schedule next to the dose, so at injection time you know exactly what to dial up.

  13. 📈Improvedv0.2.2902026-06-11

    Library taxonomy — 'Melanocortin' category + 'On-demand' cadence

    Two taxonomy additions to fix PT-141's awkward classification. Category gets 'Melanocortin' (covers PT-141 today, Melanotan / kisspeptin / future MC-receptor agonists tomorrow). Cadence gets 'On-demand' (PT-141 is dosed pre-activity, not on a chronic on/off cycle — same shape as future migraine-abortive or sleep-aid peptides). Filter chips on AIx Core surface these automatically with live counts.

  14. 🔧Fixedv0.2.2892026-06-11

    Fix: AIx Core crash when a compound has an unknown category enum

    LibraryAppActions (the in-app 'Add to protocol' button island) crashed the whole detail page with 'Cannot read properties of undefined (reading label)' when a compound had a category not in CATEGORY_META — possible when a runtime-published Firestore compound carries a category outside the static seed union. Added the same defensive optional-chain pattern LibraryDetail already used on its META lookups.

  15. Newv0.2.2872026-06-11

    Library — 4 new blends seeded (BPC+TB, Tesa+Ipa, GHK-Cu+BPC, CJC+Tesa)

    Blends section was sparse with just CJC+Ipa. Added 4 more canonical pairings, each with the full v0.2.284 user-focused treatment (overview, pharmacology notes, safety, mechanism chips, 'what to expect' prose, caveats, week-by-week timeline, common side effects). Each blend's editorial framing is honest about where the pairing makes sense and where it doesn't — including a 'this stack is pharmacologically redundant, here are better alternatives' callout on the CJC+Tesa entry.

  16. Newv0.2.2862026-06-11

    Library — new 'Sexual health' goal + PT-141 / Bremelanotide seed

    Added 'Sexual health' as a new goal filter (alongside Weight management, Body composition, Recovery, etc) and seeded PT-141 / Bremelanotide as the first compound in that category. PT-141 is the FDA-approved (Vyleesi) melanocortin-receptor agonist for HSDD — the most-asked-about sexual-health peptide and the obvious starter entry. Honest framing: works on desire and arousal (CNS · MC4R), distinct from PDE5 inhibitors; nausea + transient BP rise are the real side effects.

  17. Newv0.2.2842026-06-11

    Blends — 'What to expect' hero panel makes the whole page user-focused

    Blends now lead with a prominent 'What to expect' panel that sits ABOVE the mechanism diagram. Four sections: plain-language outcome prose, a 'When you'll notice it' phase → feel timeline, 'What it won't do' caveats (to set honest expectations against vendor hype), and a 'Common side effects' list (pre-empts the 'is this normal?' panic message users send in week 1-2). Convergence card returns to being mechanism-focused — the user-facing answer to 'what will this do for me?' is now the very first thing on the page.

  18. 📈Improvedv0.2.2832026-06-11

    Blends — drop redundant 'What's in this blend' section

    Removed the 'What's in this blend' component-cards section that sat between the mechanism panel and the article overview. The convergence panel above it already links to each component's canonical entry via the 'See full mechanism →' button inside each receptor card — two link surfaces in quick succession read as duplicated UX.

  19. 🔧Fixedv0.2.2822026-06-11

    Blends — 'See full mechanism' link points to canonical compound entry

    The 'See full CJC-1295 mechanism →' link inside the blend receptor detail used to hit /library/cjc-1295 regardless of context. From inside the in-app shell that read as a duplicate page. It now routes to /app/aix-core/<id> when in-app or /library/<id> on the public surface, matching the existing 'What's in this blend' component cards at the top of the page. The destination is the user's canonical CJC-1295 entry, not a duplicate.

  20. 📈Improvedv0.2.2812026-06-11

    Blends — user-focused convergence card + mobile rework + compact expansion

    Three fixes on the blend page: (1) the convergence card now leads with 'What this does for you' in plain language and 'What it won't do' caveats — the mechanism chips are still there but demoted to a 'why' subsection underneath; (2) clicking a receptor no longer blows the layout out — the detail panel shows one engagement sentence + two downstream bullets + 'See full mechanism →' link to the compound page; (3) mobile no longer reads as a wall of giant violet pills — peptide bubbles shrink to compact chips, column headers disappear, and a '↓ Combines into' divider tees up the convergence card.

  21. 📈Improvedv0.2.2802026-06-11

    Blends — route-coloured streams, outcome chips, anchored detail

    Polished the v0.2.279 convergence flow on four fronts: each component peptide now flows in its OWN colour (CJC violet, Ipa teal) through bubble → arrow → receptor border → merge curve, so you literally see two distinct streams meeting; the convergence card replaces its prose with punchy outcome chips drawn from a new `blendOutcomes` seed field; expanded receptor detail anchors directly under its own card instead of spanning the full width; and the open card gets a stronger highlight (route-tinted fill + chevron flip).

  22. 📈Improvedv0.2.2792026-06-11

    Blends — convergence flow diagram (replaces v0.2.278 row table)

    Redesigned the blend mechanism panel as a three-zone convergence flow: component peptides on the left → their receptors in the middle → ONE shared target on the right. Bezier merge fork visually catches both receptor routes into the single convergence card, so the page literally shows two compounds blending into one downstream effect.

  23. 📈Improvedv0.2.2782026-06-11

    Blends — one combined mechanism panel (replaces stacked v0.2.277)

    Replaced v0.2.277's two side-by-side MechanismPanels with a SINGLE combined box for blends. One header, one row per component (compound bubble on the left → its receptor cards on the right), one 'Combined effect' footer that ties the story together. Reads as 'how this blend works' rather than 'two mechanisms parked next to each other'.

  24. 📈Improvedv0.2.2772026-06-11

    Blends — auto-stacked mechanism diagrams from each component

    Blend pages without a custom pathway now stack each component's mechanism diagram (the same interactive receptor-engagement panel single compounds get). For the CJC + Ipamorelin blend you see CJC-1295 → GHRH-R on top and Ipamorelin → GHSR-1a below, each with its own draggable receptor cards and click-to-expand detail. No data authoring needed — the component pathways are reused from their compound entries.

  25. Newv0.2.2762026-06-11

    Blends — full plumbing: auto-routing, component cards, sidebar deep-links

    Round-trip support for the v0.2.275 Blends tab: (a) sample CJC-1295 + Ipamorelin blend seeded so the design has a live home, (b) auto-routes any new request whose name contains '+', 'blend', 'combo', or 'mix' into Blends, (c) blend detail pages now render a 'What's in this blend' component-card row at the top showing each component's pharma-class one-liner, (d) clicking a component flips the sidebar to Compounds + jumps to that compound's entry.

  26. Newv0.2.2752026-06-11

    AIx Core — top picker for Compounds | Blends

    Added a top-of-sidebar picker on AIx Core that toggles between Compounds (single-peptide entries, every existing seed) and Blends (pre-mixed multi-peptide products sold as one vial — e.g. CJC-Ipa blend). 'Blends' chosen over 'stacks' because 'stack' already means something different in our protocol-side feature (user-pinned co-administration). Blends tab starts empty with explanatory copy until admin populates entries via marketplace sync or AI draft.

  27. 🔧Fixedv0.2.2732026-06-11

    Library: 'Stacks with X' pill — inline + visible on already-published compounds

    The 'Commonly stacked with' chip row introduced in v0.2.272 wasn't showing on Ipamorelin / BPC-157 because those compounds were published to Firestore BEFORE the new commonStacks field existed, so the runtime overlay had no value to render. Now: (1) collapsed to a single inline pill that lives in the badges row next to FDA-approved / Stack candidate, and (2) falls back to the static seed when the runtime doc lacks the field — so the pill is visible immediately, no re-publish required.

  28. Newv0.2.2722026-06-11

    Library: 'Commonly stacked with' field — seeded + chips + chart-driven

    Library compounds now carry a 'commonStacks' field listing the compounds they're literally co-administered with. Surfaces as a violet chip row at the top of the compound page (deep-links to the partner) and drives the fused-row logic on the protocol estimated-levels chart. Seeded for the canonical pairs (Ipamorelin↔CJC-1295, BPC-157↔TB-500). AI drafting pipeline updated so future entries get the field populated from web-search evidence.

  29. 📈Improvedv0.2.2712026-06-11

    Estimated levels — fuse known stack pairs into one row

    When two co-administered compounds are both in your protocol (CJC-1295 + Ipamorelin to start), the chart now shows ONE combined row labelled 'CJC-1295 + Ipamorelin' using the parseable partner's half-life. Solves the 'no curve — half-life couldn't be parsed' issue for compounds with variable / multi-variant half-lives, and reflects how you actually dose (same syringe → same curve).

  30. 🔧Fixedv0.2.2702026-06-11

    Estimated levels — splice in exact dose-time peaks

    Daily peak now uses the actual dose-time level (which is always the local max for that dose) instead of relying only on the 2-hour sample grid. For short half-life compounds, the sparse grid was missing the post-dose peak by hours, so each subsequent dose day appeared smaller than the last even with identical dosing. Now daily-dosed BPC-157 shows ~100% on every dose day, as expected.

  31. 🔧Fixedv0.2.2692026-06-11

    Estimated levels chart — switched from daily average to daily peak

    The 'Estimated levels' bars on the protocol page now show daily PEAK level instead of daily average. The average was technically correct but counter-intuitive: a 30-min-half-life compound dosed every morning returned to ~0 for most of the day, so the daily average came out tiny — making it look like daily dosing 'wasn't holding levels' when in fact each dose hit 100% peak. Daily peak answers the question users actually ask: 'how high did my level get on this day?' For daily-dosed short-half-life compounds every dose day now shows a tall bar; skip days show the residual decay.

  32. Newv0.2.2632026-06-10

    Buyers now get an auto email when their wanted order lands

    Submitting a wanted order on /marketplace now triggers an automatic confirmation email to the buyer. It echoes the compound, SKU, ship-to, and total in a clean receipt, makes clear no card has been charged, and sets expectations: admin reviews → seller pool claims → buyer gets a payment link to the same address. Matches the same styling as the other system emails.

  33. Newv0.2.2262026-06-03

    Marketplace v1 — wanted board + escrow scaffold

    First cut of the Marketplace surface at /marketplace. Members pick a compound + vial size from an admin-locked SKU/price table, post a wanted item, and watch the 5-step lifecycle (Open → Matched → Escrow → Shipped → Delivered) on the same page. Gated to admins-only for now via the existing NavItemId visibility system; everyone else sees an 'invite-only' splash. All data is mocked — Firestore + Cloud Functions wiring is the next pass.

  34. 🔧Fixedv0.2.2252026-06-03

    Fix mobile / PWA horizontal scroll caused by the new Reddit icon

    Adding the Reddit icon to the in-app Footer's right cluster (alongside Support / Privacy / Terms / cookies / Discord) tipped that row wider than mobile viewports. Wrapped the cluster, and added a defensive overflow-x: clip to the app + auth shells so no future width regression can leak as page-level horizontal scroll.

  35. 📈Improvedv0.2.2242026-06-03

    LandingFooter on every auth route (signin / signup / forgot / action)

    The full LandingFooter (Product / Company / Get started / Legal columns + cookie/Discord/Reddit icon row + brand band) now anchors the bottom of /signin, /signup, /forgot-password, and /auth/action. Same footer the marketing page uses, so the secondary affordances (cookie preferences, social channels, legal links) are reachable without bouncing back to /.

  36. 🔧Fixedv0.2.2232026-06-03

    Restore + extend the landing footer icon row (cookies · Discord · Reddit)

    The cookie + Discord icon cluster under the brand tagline in the public LandingFooter went missing during the v0.2.219 restore (the older snapshot we pulled from didn't have it yet). Brought the icon row back AND added the new Reddit icon to the same cluster.

  37. 📈Improvedv0.2.2222026-06-03

    Reddit icon-link in the in-app footer

    Added r/peptideaix to the in-app footer's social row, sitting next to the Discord icon. Hover state uses Reddit brand orange-red (#FF4500) so it feels native to the destination.

  38. 📈Improvedv0.2.2212026-06-03

    Pro beta pricing — $4.99/mo (60% off the $14 launch price)

    Dropped the Pro tier from $14/mo to $4.99/mo while we're in beta — about 60% off. The landing page Pricing card now shows the struck-through $14 next to the new price with a 'Beta — 60% off' badge. FinalCTA + the in-app Profile Plan & billing card both reflect the new price.

  39. 📈Improvedv0.2.2192026-06-01

    Restore Pro tier surface across the app

    Brought back the full Free / Pro / Practitioner pricing on the landing page, the Practitioner section, the Pro upsell copy across the in-app surfaces (profile Plan & billing, notification gating, Stacking + AI Coach paywalls, signup, member card, compound card), and the matching nav/footer links.

  40. 📈Improvedv0.2.2182026-06-01

    Compound card reflects the active window + windows breakdown modal

    Two fixes for titration ramps. (1) The Dose/Cadence on a compound card now show the WINDOW that applies today, not whichever was first. So when the user crosses into a new window (e.g. 1000mcg → 2000mcg), the card updates on its own. (2) For multi-window compounds, the Cadence cell is now clickable and opens a 'dose windows' modal that shows every window — past, current, and upcoming — with date range, projected dose count, and an expandable list of every dose date the window will fire on.

  41. 📈Improvedv0.2.2172026-06-01

    Center the 'Everything included' card

    The single 'Everything included' card on the landing page now sits centered under its heading instead of hugging the left grid column (leftover from the old 2-card layout).

  42. 📈Improvedv0.2.2162026-06-01

    Performance + in-app polish

    Account section simplified, in-development features (Weekly coach brief, Email digests, Stacking, AI Coach) clearly framed as 'Coming soon' across the app. No behaviour changes for shipped features.

  43. 📈Improvedv0.2.2152026-06-01

    Performance + copy polish

    Tightened up the marketing surface and in-app copy — homepage, signup, FAQ, profile, and the protocol page all got light edits for clarity and consistency. No behaviour changes.

  44. 🔧Fixedv0.2.2122026-06-01

    Protocol Levels: drop cloudy gradient + fix 8th-day axis tick

    Two visual fixes on the Estimated levels chart. (1) Dropped the v0.2.210 top-to-bottom gradient on future-day bars — it was meant to communicate 'projection' but read as a washed-out cloudy haze at the bottom of every bar. Future bars now use solid colour at 55% opacity, past/today at 92%; the distinction stays clear without the muddy fade. (2) Fixed an off-by-one in buildDayTicks that rendered an 8th day label (e.g. MON 8) past the right edge of the 7-day window.

  45. 📈Improvedv0.2.2102026-06-01

    Protocol Levels: AIx Core colours + planned doses + bigger pins

    Three asks from the Levels chart: (1) compound colours now come from the shared compoundColor() helper so Ipamorelin is green here just like in AIx Core (was a random palette pick before). (2) Upcoming scheduled doses (from each compound's dose windows) are now projected onto the chart, raising future-day bars to reflect 'what your levels WILL look like if you stick to the plan'. (3) The dose pin is now a tall thin marker (12x10) sitting on top of the bar instead of a tiny 8x8 dot — solid fill for taken doses, hollow ring for planned, count badge for multi-dose days.

  46. 📈Improvedv0.2.2082026-05-31

    Protocol Levels: 7 dense daily columns, calendar-week view

    Replaced the smooth-curve mini-strips with 7 densely-packed bar columns per compound — one per day of THIS week (Mon-Sun or Sun-Sat depending on locale-prefs), matching the dashboard schedule calendar. Each bar shows the daily average level (normalized per compound) so the up/down rhythm across the week is immediately legible. Today's column gets a soft violet halo. Future days render as outline-only bars (no real history yet). The 1W/2W toggle is gone — the window is fixed to the current calendar week.

  47. 📈Improvedv0.2.2072026-05-31

    Protocol Levels axis: daily ticks like the dashboard schedule

    Replaced the 5-tick generic date axis on the Estimated levels card with one tick per day in the window, formatted to match the dashboard schedule calendar — 'MON 1', 'TUE 2', 'WED 3' style — with today highlighted in violet. Added faint vertical day-boundary gridlines on every compound strip so dose markers and curve shape align visually with the day axis below.

  48. 📈Improvedv0.2.2062026-05-31

    Protocol Levels: small-multiples redesign (one row per compound)

    The combined multi-line chart was hard to read — eight normalized curves crossing on the same axis, overlapping markers, no clear per-compound story. Replaced with small-multiples: one row per compound, each with its own dedicated mini-chart strip (filled-area curve + dose markers + 'now' edge). Compounds no longer compete for the same vertical space, and there's no shared y-axis to confuse cross-compound comparison. The 1W/2W toggle and Recent-Activity correlation chips carry over from v0.2.205.

  49. 📈Improvedv0.2.2052026-05-31

    Protocol Levels: 1W/2W toggle + dose markers on the curves

    The Estimated levels chart now shows dose-taken events as small filled markers on each compound's curve, so the trend visual ties back to the Recent Activity feed at a glance. A compact 1W / 2W segmented toggle in the header switches the window between the last 7 and last 14 days. Each compound row in the legend also shows the dose count for the current window (e.g. 'Retatrutide · t½ ~6 days · 2× dosed').

  50. Newv0.2.2032026-05-31

    Protocol Levels — pharmacokinetic estimate chart

    New chart card on the /protocol page, beneath the Protocol Coach, that draws an estimated plasma-level curve over the last 14 days for every compound in the protocol. Curves come from logged doses + each compound's published half-life. Educational only — single-compartment decay, normalized per compound — but lets you see at a glance whether you've been keeping levels steady or letting them swing.

  51. 📈Improvedv0.2.1872026-05-30

    'What's changed' revisions are click-to-expand modals now

    The public revision-history cards on /library/{slug} were truncating long fact-check fix descriptions mid-word with no way to see the full text. Each card is now a button — tap to open a clean modal with the full summary + citations. Cards still clamp to 2 lines on the index page so the list stays scannable; the modal carries the full text including markdown-style line breaks and the complete source URLs.

  52. 🔧Fixedv0.2.1762026-05-30

    Fix filter popovers clipped inside the mobile picker sheet

    Tapping Category / Goal / Evidence / Route / Cadence inside the mobile picker only showed the first 2 options before the popover got covered by the card list below. Both the search-row and the aside were position:fixed at the same z-index, so each created its own stacking context — the popover's own z-index:200 only ranked it high WITHIN the search-row's context, while the aside (later DOM order) painted on top of the whole search-row stack. Split the layers: search-row at 103, aside at 101, so the popover overflows on top of the cards as intended.

  53. 🔧Fixedv0.2.1752026-05-30

    Mobile picker — flat bottom on the sheet head

    The rounded bottom corners on the v0.2.174 sheet head left a visible notch where the head met the search bar (the search-row below has flat sides). Dropped border-radius:0 0 16px 16px and added a thin border-bottom + softer drop shadow so the head sits flush.

  54. 📈Improvedv0.2.1742026-05-30

    AIx Core mobile — proper bottom-sheet picker, full cards back

    Reworked the mobile compound picker from scratch per feedback. The 'Currently viewing' violet panel is gone — replaced with a clean compact toolbar button. Tapping it now slides up a proper bottom-sheet modal with a backdrop, an iOS-style grabber bar, a close X, and the FULL-design compound cards (description, badges, evidence dots, bookmark star — everything that gave the cards 'amazing feel' is back). Reverts the v0.2.173 compact-row mode entirely.

  55. 📈Improvedv0.2.1732026-05-30

    Mobile AIx Core dropdown — compact rows, sticky search, capped height

    The v0.2.171 mobile dropdown opened to a wall of 22 full-size desktop cards — long vertical scroll, didn't feel like a dropdown at all. Recut: panel is now height-capped at 60vh with internal scroll, the search bar sticks to the top, and each card collapses to a compact row (stripe + 28px letter icon + name + warn triangle + small evidence dots). Same color identity, ~40% the vertical space.

  56. 📈Improvedv0.2.1712026-05-30

    AIx Core mobile — compound list collapses behind a browse trigger

    On mobile (≤900px) the 22-card sidebar was pushing the actual compound detail below the fold every time the page loaded. New layout: a single trigger button at the top shows the currently-viewing compound, and tapping it slides the full search + filter + sort + card list back in. Picking a card auto-closes the panel and snaps to the detail. Desktop is unchanged.

  57. 🔧Fixedv0.2.1702026-05-30

    Fix mobile bottom-tab 'AIx' route — points to /app/aix-core now

    The AIx tab on the mobile bottom-tab bar was routing to /library — the public marketing surface — instead of /app/aix-core. Signed-in members tapping it landed on the signed-out gateway page (stripped sidebar, no 'In your stack' pills, no 'Add to protocol' CTA, no bookmark star). Now matches the desktop NavRow which has always pointed at /app/aix-core.

  58. Newv0.2.1682026-05-30

    Working Sort dropdown on the library sidebar

    The 'Sort' label in the compound-sidebar header is now an actual dropdown with six options: Relevance (default), Name A→Z, Name Z→A, Last verified, Newest addition, and Popularity. Your choice persists across navigation + reload via localStorage. Sorting runs client-side over the already-filtered list, so combining 'Cognitive' + 'Last verified' just works.

  59. 📈Improvedv0.2.1672026-05-30

    Align 'What's changed' with the rest of the article sections

    The revision-log panel at the bottom of each compound page was rendering as a standalone gray rounded pill, which broke the article's vertical rhythm — every other section ('What to monitor', 'Sources', 'Related compounds') is flat prose with a thin top rule. Restyled it to match: thin top border, serif italic h2 heading on the left, meta line on the right, list flat below. Reads as part of the article flow now instead of a tacked-on widget.

  60. 📈Improvedv0.2.1662026-05-30

    Orange ⚠ disclaimer triangle on sidebar compound cards

    Compounds with an editorial caution banner now carry a small orange ⚠ triangle next to their name in the AIx Core / Library sidebar. Lets the reader spot 'this entry has extra caution' at the list level before they open it. Same orange as the in-page banner so the visual link is obvious. Hover tooltip surfaces the full disclaimer text.

  61. 📈Improvedv0.2.1652026-05-30

    Editorial caution banner — two-zone redesign with full-width body

    Reworked the Extra-caution card again per feedback: replaced the indent-+-decorative-dash treatment with a clean two-zone layout — saturated orange title bar across the top (icon + 'Extra caution' in white), then a cream body below with the disclaimer prose using the FULL container width (previously capped at 76ch, which left a chunk of white space on the right and read as awkward).

  62. 📈Improvedv0.2.1642026-05-30

    Editorial caution banner — redesign

    Rebuilt the Extra-caution banner from a centered system-alert look to an editorial call-out: filled orange circle badge on the left, uppercase title chip with a small inline rule, body paragraph at a generous reading size constrained to ~76ch. Subtle gradient + heavier left accent stripe + soft shadow add weight without shouting. All left-aligned now (previous render was inheriting a centered text-align).

  63. 📈Improvedv0.2.1632026-05-30

    Editorial caution banner sits between snapshot + mechanism

    Moved the orange 'Extra caution' banner from above the hero to between the compound snapshot and the receptor-engagement panel (AIx Core) / overview (public). Reads with more context: the reader now has the headline facts in mind when the caution lands, instead of seeing the warning before they've even seen what the compound is. Recoloured from amber to a clearer orange so it reads unambiguously.

  64. 📈Improvedv0.2.1582026-05-30

    Compact 'FDA' pill on sidebar compound cards

    Sidebar compound cards in AIx Core now show a small green 'FDA' pill (Liraglutide, Tirzepatide, Semaglutide, Tesamorelin, Sermorelin) next to the Stack / Popular badges. Same source of truth as the hero badge + JSON-LD — auto-derived from isApprovedDrug().

  65. 📈Improvedv0.2.1522026-05-30

    FDA approved pill on regulator-approved compounds

    Compounds with regulatory approval (Liraglutide, Tirzepatide, Semaglutide, Tesamorelin, and any future approved entries) now show a soft-green 'FDA approved' pill in the hero of both /library/[slug] and the in-app /app/aix-core/[slug] detail. Auto-derived from the same isApprovedDrug() helper that already drives the JSON-LD legalStatus, so it can't drift out of sync.

  66. 📈Improvedv0.2.1342026-05-29

    iPhone users get an 'Add to Home Screen' tip

    Because iPhone's Safari never offers an automatic 'install app' prompt, iOS visitors now see a one-time tip showing how to add PeptideAIx to their home screen (tap Share, then Add to Home Screen). It appears once, only in Safari, and never if the app is already installed.

  67. 🔧Fixedv0.2.1322026-05-29

    Tidier stacks on small screens

    On narrow phones, a stacked dose's 'Log stack' button used to sit next to Log + Skip and squeeze the compound name into a tiny vertical strip. 'Log stack' now sits in its own full-width button beneath the stack, so the name, dose and timing read cleanly again. Tapping it logs every dose in the stack that's still pending.

  68. Newv0.2.1312026-05-29

    Install PeptideAIx as an app

    You can now add PeptideAIx to your phone's home screen and launch it full-screen with its own icon — like a native app, no app store needed. On Android, Chrome will even offer to install it. If you lose signal, you get a tidy offline screen instead of a browser error, and your logged data syncs back up when you're online.

  69. 📈Improvedv0.2.1292026-05-28

    SEO + GEO pass — richer AIx Core pages, FAQ, AI crawlers welcomed

    Beefed up the public compound pages so they rank + get cited: full overview, a key-facts strip, monitored markers, and an auto-generated FAQ. Added FAQ structured data and explicitly invited the AI answer engines (ChatGPT, Claude, Gemini, Perplexity, etc.) to index the site.

  70. 📈Improvedv0.2.1282026-05-28

    Protocol coach — date-wise chat history

    The coach thread is now organised by day. You'll see date dividers (Today / Yesterday / Mon, May 26) down the conversation, and a new 'History' button opens a list of past days you can open to read that day's chat. Sending a message brings you back to the latest.

  71. 📈Improvedv0.2.1272026-05-28

    Dose history survives titrations — coach reads the timeline

    Every dose you log now records the exact dose at that moment. So when you titrate (e.g. 1000 mcg → 1500 mcg), the Protocol coach can read the real timeline — "1000 mcg for 4 weeks, then 1500 mcg for 2 weeks" — instead of back-projecting your current dose onto every past pin.

  72. 📈Improvedv0.2.1262026-05-28

    Smarter Protocol coach — reasons from your logs

    The coach now reads your actual dose history instead of hedging. It knows how many times you've taken each compound and at what dose, gets units right (no more treating 1000 mcg like a high dose), ties advice to YOUR numbers, proposes concrete changes, and ends every answer with a one-line bottom line.

  73. 📈Improvedv0.2.1252026-05-28

    Protocol coach replies now render formatting

    The Protocol coach's answers now show proper bold text and bullet lists instead of literal **asterisks** and dashes — much easier to read.

  74. Newv0.2.1242026-05-28

    Protocol Coach is live (Pro)

    The Protocol coach on the /protocol page is now a real AI chat for Pro members. It answers using everything about the protocol you're viewing — your schedule, compounds, dose logs, daily check-ins, recent activity, and AIx Core — direct and concise, no fluff. Chats are saved per protocol, and you can fold in another protocol any time. Free users see the upgrade prompt.

  75. 📈Improvedv0.2.1222026-05-28

    Protocol coach marked “coming soon”

    The Protocol coach on the /protocol page now shows a tidy “coming soon” card for everyone while we finish building it — no half-built tool, no paywall for it in the meantime.

  76. Newv0.2.1192026-05-28

    Redeem a promo code from your profile

    Got a promo code after signing up — or missed entering it? You can now redeem it any time from Profile → Plan & billing to unlock free Pro. Enter the code, hit Redeem, and your Pro term applies on the spot.

  77. 📈Improvedv0.2.1152026-05-28

    Compound requests now have a weekly allowance

    To keep AIx Core high-quality, 'Request a compound' now has a weekly allowance: Free members get 1 request a week, Pro and Practitioner get 5. The request form shows how many you have left and when it resets. This lets our team properly research and vet every suggestion instead of drowning in a flood of them.

  78. 🔧Fixedv0.2.1102026-05-28

    Newly-added compounds recognised everywhere

    Compounds we add after launch (like AHK-Cu, published through the request flow) now get their proper classification and a clickable 'AIx Core' link wherever they appear — protocol cards, today's schedule, recent activity, and the activity timeline — instead of being mislabelled 'Custom compound'. Typing one into the protocol builder also snaps to its official spelling.

  79. 🔧Fixedv0.2.1092026-05-28

    AIx Core no longer flickers when switching compounds

    Clicking between compounds in AIx Core no longer makes the list briefly shrink then grow. Newer compounds (the ones we've added since launch, like AHK-Cu) now stay put instead of vanishing for a second on each navigation.

  80. 📈Improvedv0.2.1082026-05-28

    Activity entries show when you pressed Log

    Dose/skip activity entries now record the exact time you clicked Log — appended to the recent-activity summary ('· logged 7:44 AM') and shown as a 'Logged' row in the /activity expanded detail. Makes backdated entries clear: you see both the dose date AND when it was actually recorded.

  81. 📈Improvedv0.2.1072026-05-28

    AIx Core link on activity feeds + removed misleading chevron

    Recent activity (dashboard) and the /activity timeline now show a clickable 'AIx Core' pill on each logged compound that's in the library — opening its reference. Also removed the '>' chevron on recent-activity rows, which made them look whole-row-openable when they weren't.

  82. 📈Improvedv0.2.1062026-05-28

    Added compounds matched to AIx Core — class label + clickable reference

    When a compound you add matches an AIx Core entry (Retatrutide, CJC-1295, Ipamorelin, etc.), it no longer reads 'Custom compound'. The protocol card shows the real classification and a clickable 'AIx Core' pill that opens the reference; the dashboard dose rows show the class too.

  83. 📈Improvedv0.2.1052026-05-28

    Protocol delete — allowed but flagged not-recommended with logged data

    Reframed the protocol danger-zone copy. Delete stays available even when entries are logged, but the note now recommends archive and warns that deleting is permanent + not recommended when there's log history — instead of the old 'still available while you're testing' framing.

  84. 📈Improvedv0.2.1042026-05-28

    Protocol page compound cards — clean header band, no more weird borders

    Applied the protocol-builder card treatment to the /protocol page compound cards: a darker header band over a lighter body, a heavier self-contained border + soft shadow. Removed the jarring 2px stack-coloured top/bottom borders that tried to 'join' consecutive stacked compounds and read as mismatched double-lines.

  85. 📈Improvedv0.2.1032026-05-28

    Protocol builder picks up AIx Core colour + name on match

    When you type a compound name in the protocol builder that matches an AIx Core entry, it now snaps to the canonical spelling on blur and the row dot adopts that compound's fixed colour live as you type. Previously the builder used a positional dot colour and kept whatever casing you typed.

  86. 🔧Fixedv0.2.1022026-05-28

    Fix: stacked doses now group together (Log stack appears)

    The 'Log stack' button (v0.2.99) never showed because same-day stack members weren't actually grouping into one stack container. Root cause: rows were grouped by their stack TITLE, which names the OTHER members and differs per row. Now grouped by the stable stack ID, so members group correctly and the lead row shows Log stack.

  87. 📈Improvedv0.2.1012026-05-27

    Protocol builder — clearer compound vs dose-window hierarchy

    In the protocol editor (Step 2), the compound header row now sits in a darker band, the dose windows under it stay on a lighter shade, and the border around each compound block is darker with a soft shadow — so it's obvious where one compound's section ends and the next begins.

  88. 📈Improvedv0.2.1002026-05-27

    Stacking — discoverable while we polish it

    The Stacking button on the protocol page is visible (disabled with a 'Soon' tag) while we finish the creation flow. Existing stacks still render everywhere — only creation/editing is still being polished.

  89. Newv0.2.992026-05-27

    Log stack — one-tap logging for stacked doses (Pro)

    When two or more compounds in a stack are due the same day, the lead row now shows a 'Log stack' button (Pro + Practitioner) that logs every compound in the stack at once. The other stack rows keep their normal Log / Skip. The button is filled with the stack's chosen colour.

  90. 📈Improvedv0.2.982026-05-27

    Compound colour identity extended to Protocol + Activity pages

    The fixed per-compound colour now reaches the Protocol page (compound card icon + left stripe) and the full Activity page (timeline dots colour-coded per compound). Combined with v0.2.96/97, a compound's colour is now consistent across every surface in the app.

  91. 📈Improvedv0.2.972026-05-27

    Compound colour identity extended to activity log + AIx Core

    The fixed per-compound colour from v0.2.96 now flows into the Recent activity feed (each log gets a coloured letter square) and the AIx Core list (the letter icon + left stripe use the compound's hue). One compound, one colour, everywhere.

  92. 📈Improvedv0.2.962026-05-27

    Per-compound neon colour identity — dots + dose-row stripes

    Every compound now has one fixed, vivid neon colour that's set in stone — same compound, same hue, everywhere. The home week-strip dots show one dot per scheduled compound in its colour (CJC + IPA = two dots, not one), and each dose row's left stripe matches its compound's colour.

  93. 📈Improvedv0.2.952026-05-27

    Week nav moved below strip + per-day adherence markers

    Moved the Last/Current/Next week controls below the day strip and renamed the middle button to 'Current week' (it always resets to today's week — that's its job). Added per-day adherence markers so scrubbing to past weeks shows what was actually logged, not just what was scheduled.

  94. Newv0.2.942026-05-27

    Home schedule — week browsing for Pro (last / this / next week)

    The home Today's-schedule strip can now scrub backward and forward by week for Pro + Practitioner accounts. Last week / This week / Next week controls above the day strip; review past adherence and plan ahead. Free stays locked to the current week.

  95. Newv0.2.932026-05-27

    Practice (B2B) Phase 2 — operator dashboard + application form

    The /practice/* dashboard surface for leads + practitioners: Overview, Clients, Practitioners (team management), Settings, plus the public application form at /practice/start. Also fixed the dead 'Clients' nav link that pointed nowhere — repointed to /practice.

  96. Newv0.2.922026-05-27

    Practice (B2B) Phase 1 — schema, rules, approval queue

    First phase of the big B2B practitioner feature: data model, security rules, custom-claim mirroring, Cloud Function callables for admin approval + team management, and an admin queue at /admin/practices to approve practice applications. No client-facing UI yet — that's Phase 2.

  97. 📈Improvedv0.2.912026-05-27

    Sentry sparkline: always render the 24h frame

    v0.2.89's sparkline rendered nothing for issues older than 24h, which is the common case (most unresolved errors haven't fired today). Now always draws 24 muted baseline bars when there's no activity in the window — visually communicating 'no 24h activity' instead of looking like broken UI.

  98. 🔧Fixedv0.2.902026-05-27

    Fix /admin/errors crash on stale Cloud Function deploy

    v0.2.89 client expected hourly24h: number[] from the server, but the Cloud Function still serving stale v0.2.86 code didn't include the field. Sparkline crashed reading undefined.length. Added defensive guards in both the caller and the component so deploy skew never bricks the page.

  99. 📈Improvedv0.2.892026-05-27

    Sentry errors page — sparklines, environment tags, richer detail

    The /admin/errors row was minimal — just level, title, count, and last-seen datetime. Beefed it up with a 24h hourly sparkline, environment chip (production vs development), unhandled-exception badge, exception type prefix, first-seen timestamp, and relative-time formatting throughout.

  100. 🔧Fixedv0.2.882026-05-27

    Hardcode Sentry slugs — defineString defaults proved unreliable

    v0.2.87 switched to defineString with default values, but Firebase's runtime fallback for unset params actually returns empty string. The widget still showed 'Missing: SENTRY_ORG, SENTRY_PROJECT' after deploy. v0.2.88 just hardcodes the slugs as const — they're project identifiers, not secrets, and they'll never change for this codebase.

  101. 🔧Fixedv0.2.872026-05-27

    Fix Sentry slug plumbing — Cloud Functions can't read apphosting.yaml

    v0.2.86 read SENTRY_ORG / SENTRY_PROJECT from process.env, but those only live in apphosting.yaml (the Next.js side), not in the Cloud Functions runtime. Switched to defineString with baked-in defaults so the function actually sees the slugs.

  102. Newv0.2.862026-05-27

    Sentry issues widget wired — admin dashboard + /admin/errors live

    The 'Sentry issues (24h)' card on /admin and the /admin/errors page were 'Coming soon' stubs. Now both render live data via a new admin-only Cloud Function that proxies Sentry's REST API. Graceful 'not configured' state when env vars / secrets aren't set.

  103. 📈Improvedv0.2.852026-05-27

    Cleanup pass — delete orphaned library marketing components

    Deleted the three orphaned library marketing components (LibraryMarketingGrid / LibraryMarketingCard / LibraryCompoundModal) flagged in v0.2.82, plus their scoped CSS. Did a broader codebase sweep — most of what looked dead was actually intentionally-parked work, so the touch is targeted.

  104. 📈Improvedv0.2.842026-05-27

    Public header nav trimmed to Home · Pricing · FAQ

    The landing header nav was carrying five links (Features · How it works · Pricing · Library · FAQ). Cut to three — Home · Pricing · FAQ — to focus cold traffic on the two questions they actually ask (pricing, how it works) and stop competing with the landing hero for attention.

  105. 📈Improvedv0.2.832026-05-27

    Pathway diagrams for BPC-157, TB-500, GHK-Cu, MOTS-c + always-on AI disclaimer

    Four library compounds were missing the receptor-engagement diagram on their detail page — added pathway blocks for each in the same draggable mechanism panel as the GLP-1 / GHRH entries. Also removed the dismiss button on the library AI-assisted-content banner so the 'Report it' CTA is always one click away.

  106. 📈Improvedv0.2.822026-05-27

    Public library trimmed to SEO/GEO minimum — AIx Core is the hub

    The signed-out /library and /library/[slug] pages were aggressively trimmed: just enough rendered content to rank and to get cited by AI answer engines (Perplexity, Google AI Overviews, ChatGPT), with everything richer gated behind sign-in. AIx Core (/app/aix-core) is now unambiguously the main info hub.

  107. 🔧Fixedv0.2.812026-05-27

    Bell notifications compose form — fix unstyled inputs

    The Bell notifications compose form on /admin/bell-notifications was rendering raw browser-default inputs because it referenced lib-req-* classes that only ship in library.css. Replaced with admin-native classes so the form looks correct regardless of navigation order.

  108. 📈Improvedv0.2.802026-05-27

    Admin comms split — Automated emails + Bell notifications

    /admin/notifications was hosting two very different surfaces on one page (transactional emails AND the new bell-modal authoring). Split them into their own sidebar items — renamed the email page to 'Automated emails' and gave bell-notification authoring its own route at /admin/bell-notifications.

  109. Newv0.2.792026-05-26

    In-app bell notifications — authoring + delivery

    /admin/notifications gained a real authoring UI for in-app bell-modal messages. Compose a notification, target by tier (Free / Pro / Practitioner), optionally attach a CTA link, click Send Now. Users see it in their bell within seconds.

  110. Newv0.2.782026-05-26

    Library tooling — close-out sprint (correction publish, publish email, receptor backfill, cleanup)

    Four open items from the library content sprint closed in one drop: corrections from /admin/library-issues now publish in one click (matching the v0.2.77 compound publish flow), publish triggers a 'now live' email to the requester, three more compounds got pathway diagrams, and one dead component finally got deleted.

  111. Newv0.2.742026-05-26

    Library issue reports — full loop with AI fact-check + admin review

    Users can report errors in library entries via a structured modal (compound, section, pasted excerpt, what's wrong, source URL). Reports land in /admin/library-issues. Admin clicks 'Analyze with Claude' → AI fact-checks against the literature, proposes a correction if the user is right, admin reviews + approves.

  112. Newv0.2.732026-05-26

    Library — AI-disclaimer banner (once-per-device, dismissible)

    Added a one-line notice on the library index pages explaining that entries are AI-drafted + human-reviewed, and inviting users to flag errors. Shows once per device, dismissible — not repeated on every compound detail page.

  113. 📈Improvedv0.2.722026-05-26

    Library detail body — full editorial redesign

    Scrapped the dashboard-style 3-up tinted card grid. The compound article body is now a single editorial column with magazine-style typography, thin accent rules between sections, and restrained colour. Reads like Wirecutter, not a SaaS dashboard.

  114. 📈Improvedv0.2.712026-05-26

    Hero — balanced two-column header (no more right-side empty space)

    The compound detail hero was all clumped on the left — title, aliases, badges, stack pill, verified date stacked deep in the left column while the right side had two small buttons floating in a sea of whitespace. Promoted the at-a-glance stats into a card on the right side of the hero so the layout balances.

  115. 📈Improvedv0.2.702026-05-26

    Library detail page — decision-grid redesign below mechanism

    Replaced the lopsided two-column body (5-deep left rail + sparse right rail) with a flow that puts the decision-making content front and centre: Risks & safety · Worth knowing first · What to monitor as three equal-weight cards, then a compact pharmacology row, then a clean footer band.

  116. 🔧Fixedv0.2.692026-05-26

    Fix — mechanism cards now draggable + detail moves to the side

    Two real bugs in yesterday's mechanism redesign. Drag-to-reposition didn't work (cards were inside a <button>, which swallowed the pointer events) and the expanded detail panel pushed the rest of the page down. Both fixed.

  117. Newv0.2.682026-05-26

    Mechanism panel redesign — big, draggable, expandable

    The receptor-engagement diagram on every library page is now a full-width interactive panel above the body. Drag receptor cards anywhere you want, click one to read how the compound engages that target plus a list of downstream effects.

  118. 📈Improvedv0.2.672026-05-26

    All 10 library entries rewritten in human voice

    The whole AIx Core library — retatrutide, tirzepatide, semaglutide, ipamorelin, CJC-1295, tesamorelin, BPC-157, TB-500, GHK-Cu, MOTS-c — now reads like a smart friend explaining the compound, not a clinical-trial abstract. Each entry also gained the 'Worth knowing first' section with concrete paper-derived takeaways.

  119. 📈Improvedv0.2.662026-05-26

    Library voice reset — written for humans, not journals

    Library entries now read like a smart friend who actually read the papers, not a clinical-trial summary. KPV got rewritten as the first example; new AI drafts will follow the same voice.

  120. Newv0.2.652026-05-26

    New library section — 'Worth knowing first'

    Library entries now have a 'Worth knowing first' section that pulls concrete findings — doses used in studies, populations studied, adverse events, limitations — straight from the cited papers. Read it before you click out to the journal.

  121. Newv0.2.642026-05-26

    KPV added to the AIx Core library

    KPV — the C-terminal tripeptide of α-MSH (Lys-Pro-Val) — joins the AIx Core library. Strong animal data for IBD-style gut inflammation, with a non-receptor mechanism (NF-κB inhibition via PepT1-mediated mucosal uptake).

  122. 📈Improvedv0.2.562026-05-26

    User menu — consolidate Profile / Billing / Settings + add Show me around

    The desktop avatar dropdown used to have three rows (Profile, Billing & plan, Settings) all landing on /profile with different hash anchors. Collapsed to one 'Account' row + added a 'Show me around' to re-launch the welcome tour.

  123. 🔧Fixedv0.2.552026-05-26

    Welcome tour — resumes mid-deck after a slide CTA click

    Clicking 'Go to Protocols' (or any inline CTA) used to silently mark the tour 'done' after one slide, so users who followed a CTA never saw the other five. Now CTA clicks save progress + the launcher resumes from the next slide on return to /app.

  124. Newv0.2.542026-05-26

    Welcome tour — guided slideshow for new users

    First-time users now see a six-slide walkthrough of the platform on their first /app visit: what each area does, where to click, with direct 'Go to Protocols' / 'Open library' CTAs that ship them straight to the right page.

  125. 🔧Fixedv0.2.532026-05-26

    Fix — Features/Pricing/FAQ links worked only on the landing page

    Clicking 'FAQ', 'Features', 'Pricing', or 'How it works' from /library, /library/[slug], /support, /legal/*, or /unsubscribe used to silently do nothing. Now they navigate to the landing page and scroll to the right section.

  126. 🔧Fixedv0.2.442026-05-26

    Fix — editing a protocol no longer rewrites untouched dose logs

    Adding a new compound to an existing protocol used to rewrite EVERY existing dose log on save — bumping their timestamps and losing any notes/reasons. Now the wizard only persists logs the user actually changed.

  127. Newv0.2.352026-05-26

    Self-service data export + account deletion (GDPR)

    Every user can now download every byte of data we hold on them, or delete their account entirely, from /profile → 'Your data' / 'Danger zone'. No admin involvement, no email-the-link delay.

  128. 📈Improvedv0.2.242026-05-25

    Public library is lighter — modal preview + standalone article

    Clicking a compound on /library now opens a quick preview modal (no page nav). Direct /library/[slug] visits get a standalone article — both lighter than AIx Core, with a CTA to sign up for the full reference.

  129. 📈Improvedv0.2.232026-05-25

    Library vs. AIx Core — split into separate surfaces

    The public 'Library' link now opens a marketing-style category overview, and the in-app 'AIx Core' opens the full reference tool at /app/aix-core. Per-compound pages are unchanged.

  130. Newv0.2.222026-05-25

    AIx Core gets an in-app home — bookmarks + Add-to-protocol

    Signed-in 'AIx Core' now opens inside the app shell, with one-tap bookmarks, a green pill on anything you're already running, and an 'Add to a protocol' button that pre-fills the modal for you.

  131. Newv0.2.212026-05-25

    AIx Core — public peptide reference library

    New public library at /library — mechanism, evidence framing, half-life, and safety considerations for 10 starter compounds, with more coming. Indexable, citable, free to browse.

  132. 📄Policyv0.2.202026-05-24

    Privacy + Terms updated for the new opt-out

    Both legal docs now describe how marketing emails work and how to switch them off — see Privacy v1.2 + Terms v1.2.

  133. Newv0.2.192026-05-24

    Real unsubscribe flow for marketing emails

    You can now opt out of marketing emails — from the link in any marketing email's footer, or from your profile's Email preferences section.

  134. 📈Improvedv0.2.142026-05-24

    Stay signed in longer

    Free accounts now auto sign-out after 1 hour of inactivity, up from 5 minutes.

  135. 📈Improvedv0.2.122026-05-24

    Friendlier Google sign-in error messages

    If Google sign-in fails, you'll see an actionable message instead of a raw error code.

  136. 🔧Fixedv0.2.102026-05-24

    Footer and nav always styled

    Same fix as the bell modal — landing-shell styles now load on every page so the footer can't render as plain text.

  137. 🔧Fixedv0.2.92026-05-24

    Fixed the 'What's new' bell on public pages

    The bell modal was rendering as plain text on the landing, support, and legal pages — fixed.

  138. 📈Improvedv0.2.82026-05-24

    Tidier landing footer icons

    Cookie preferences and Discord now sit together as a clean pair of icons under the brand.

  139. 📈Improvedv0.2.72026-05-24

    Discord icon in the in-app footer too

    The Discord shortcut now lives in the footer of the signed-in app, not just the landing page.

  140. Newv0.2.62026-05-24

    Join the PeptideAIx Discord

    We have a Discord now — find the link in the footer. Come say hi, share what you're running, ask questions.

  141. 📈Improvedv0.2.52026-05-24

    Greeting moved next to your name

    Your greeting and the day/time stamp now sit alongside your name and bell at the top right.

  142. 📈Improvedv0.2.32026-05-24

    Two-tier changelog (admin gets the deep cut)

    Bell entries are short and plain-English. Full release notes live in the admin Changelog tab.

  143. 📈Improvedv0.2.22026-05-24

    Easier ways to reach us

    New contact form on the Support page, plus a few small quality-of-life fixes.

  144. Newv0.22026-05-24

    Cookie preferences and prettier emails

    You're in control of what optional storage we use, and our emails now come in a proper PeptideAIx wrapper.

  145. Newv0.12026-05-10

    PeptideAIx beta is live

    Track protocols, calculate doses, log every check-in — the first public beta is here.