PageSourceSearch

https://ageinplace.ai/Dashboard

html ageinplace.ai collected 2026-10-05 15:26:30 UTC 8,760 bytes, 194 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4  <meta charset="utf-8"/>
5  <link href="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/68b72957174b7bc0253c9af5/41ee58c0b_logoemeraldgreen.png" rel="icon" type="image/svg+xml"/>
6  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
7  <link href="/manifest.json" rel="manifest"/>
8  <title>
9   Dashboard | ageinplace.ai
10  </title>
11  
11<script crossorigin="" src="/assets/index-fI4s2eeV.js" type="module">
12  </script>
12
13  <link crossorigin="" href="/assets/index-2a5hKg6-.css" rel="stylesheet"/>
14  <meta content="Enhance your loved one's safety with ageinplace.ai . No sign up and totally free. Our AI analyzes room photos to identify fall risks and cognitive safety concerns, providing tailored recommendations and direct links to essential safety products. Based on CDC guidelines, it's your partner in creating a secure and comfortable home environment." name="description"/>
15  <meta content="Dashboard | ageinplace.ai" property="og:title"/>
16  <meta content="Enhance your loved one's safety with ageinplace.ai . No sign up and totally free. Our AI analyzes room photos to identify fall risks and cognitive safety concerns, providing tailored recommendations and direct links to essential safety products. Based on CDC guidelines, it's your partner in creating a secure and comfortable home environment." property="og:description"/>
17  <meta content="https://ageinplace.ai/Dashboard" property="og:url"/>
18  <meta content="website" property="og:type"/>
19  <meta content="ageinplace.ai" property="og:site_name"/>
20  <meta content="Dashboard | ageinplace.ai" name="twitter:title"/>
21  <meta content="Enhance your loved one's safety with ageinplace.ai . No sign up and totally free. Our AI analyzes room photos to identify fall risks and cognitive safety concerns, providing tailored recommendations and direct links to essential safety products. Based on CDC guidelines, it's your partner in creating a secure and comfortable home environment." name="twitter:description"/>
22  <meta content="summary_large_image" name="twitter:card"/>
23  <meta content="https://ageinplace.ai/Dashboard" name="twitter:url"/>
24  <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/68b72957174b7bc0253c9af5/41ee58c0b_logoemeraldgreen.png?width=1200&amp;height=630&amp;resize=contain" property="og:image"/>
25  <meta content="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/render/image/public/base44-prod/public/68b72957174b7bc0253c9af5/41ee58c0b_logoemeraldgreen.png?width=1200&amp;height=630&amp;resize=contain" name="twitter:image"/>
26  
26<script>
27   (function () {
28  var titles = {"/home": "ageinplace.ai"};
29  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
30  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
31  var dashed = function (s) {
32    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
33  };
34  var decode = function (s) {
35    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
36    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
37    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
38  };
39  var segments = function (path) { return path.split("/").filter(Boolean).map(decode); };
40  var norm = function (path) {
41    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
42    return parts.length ? "/" + parts.join("/") : "/";
43  };
44  var lastPath = location.pathname, written = document.title, on = true;
45  var sync = function () {
46    // Path only: a hash/query change is the same page, and the SDK strips its own auth
47    // params with replaceState -- neither must clobber a server-rendered title in place.
48    if (!on || location.pathname === lastPath) return;
49    lastPath = location.pathname;
50    if (document.title !== written) { on = false; return; }
51    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
52    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
53    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
54    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
55    // a redirect landing on an unmapped path would bake the placeholder into the stored
56    // snapshot. Leaving the title alone degrades to today's behavior instead.
57    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
58    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
59    // dashes there, and the client cannot tell the two apart. The map emits every reachable
60    // shape per segment instead (_client_url_variants).
61    var title = titles[norm(location.pathname)];
62    if (title === undefined) return;
63    document.title = title;
64    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
65    // keeping the assigned string would make the next sync() read our own write as the app's.
66    written = document.title;
67  };
68  var wrap = function (fn) {
69    // The history entry is already pushed by the time sync() runs, so a throw here would
70    // surface inside the host app's router and break navigation. This is injected into apps
71    // we cannot test, so it swallows rather than trusting the trace.
72    return function () {
73      var r = fn.apply(this, arguments);
74      try { sync(); } catch (e) {}
75      return r;
76    };
77  };
78  history.pushState = wrap(history.pushState);
79  history.replaceState = wrap(history.replaceState);
80  window.addEventListener("popstate", sync);
81})();
82  </script>
82
83  <meta content="yes" name="mobile-web-app-capable"/>
84  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
85  <meta content="ageinplace.ai" name="apple-mobile-web-app-title"/>
86  <link href="https://ageinplace.ai/Dashboard" rel="canonical"/>
87  
87<script data-seo-source="builder" type="application/ld+json">
88   {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://ageinplace.ai/"}, {"@type": "ListItem", "position": 2, "name": "Dashboard", "item": "https://ageinplace.ai/Dashboard"}]}
89  </script>
89
90 </head>
91 <body>
92  <div id="root">
93   <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
94    <main>
95     <header>
96      <h1>
97       Dashboard | ageinplace.ai
98      </h1>
99      <p>
100       Enhance your loved one's safety with ageinplace.ai . No sign up and totally free. Our AI analyzes room photos to identify fall risks and cognitive safety concerns, providing tailored recommendations and direct links to essential safety products. Based on CDC guidelines, it's your partner in creating a secure and comfortable home environment.
101      </p>
102     </header>
103     <nav aria-label="Pages">
104      <h2>
105       Pages
106      </h2>
107      <ul>
108       <li>
109        <a href="/Home">
110         Home
111        </a>
112       </li>
113       <li>
114        <a href="/About">
115         About
116        </a>
117       </li>
118       <li>
119        <a href="/Analytics">
120         Analytics
121        </a>
122       </li>
123       <li>
124        <a href="/Assessment">
125         Assessment
126        </a>
127       </li>
128       <li>
129        <a href="/Blog">
130         Blog
131        </a>
132       </li>
133       <li>
134        <a href="/BlogManagement">
135         Blog Management
136        </a>
137       </li>
138       <li>
139        <a href="/Chat">
140         Chat
141        </a>
142       </li>
143       <li>
144        <a href="/ContactUs">
145         Contact Us
146        </a>
147       </li>
148       <li>
149        <a href="/Demographics">
150         Demographics
151        </a>
152       </li>
153       <li>
154        <a href="/GuidelineManagement">
155         Guideline Management
156        </a>
157       </li>
158       <li>
159        <a href="/History">
160         History
161        </a>
162       </li>
163       <li>
164        <a href="/MessageManagement">
165         Message Management
166        </a>
167       </li>
168       <li>
169        <a href="/ProductCatalog">
170         Product Catalog
171        </a>
172       </li>
173       <li>
174        <a href="/ProductManagement">
175         Product Management
176        </a>
177       </li>
178       <li>
179        <a href="/ServiceManagement">
180         Service Management
181        </a>
182       </li>
183       <li>
184        <a href="/SolutionManagement">
185         Solution Management
186        </a>
187       </li>
188      </ul>
189     </nav>
190    </main>
191   </div>
192  </div>
193 </body>
194</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.