33 < head >
44 < meta charset ="utf-8 ">
55 < meta name ="viewport " content ="width=device-width, initial-scale=1 ">
6- < title > Mindcore — Your AI Best Friend </ title >
6+ < title > MindCore </ title >
77 < meta name ="description " content ="Mindcore is a local‑first AI companion that remembers your life and talks to you using your private memory. ">
88 < link rel ="preconnect " href ="https://fonts.googleapis.com ">
99 < link rel ="preconnect " href ="https://fonts.gstatic.com " crossorigin >
1010 < link href ="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap " rel ="stylesheet ">
11+ < link rel ="icon " href ="./assets/logo.jpg " type ="image/jpeg ">
1112 < link rel ="stylesheet " href ="./styles.css ">
1213 </ head >
1314 < body >
1718 < header class ="site-header ">
1819 < div class ="container header-inner ">
1920 < div class ="brand ">
20- < span class ="logo-dot " aria-hidden =" true " > </ span >
21+ < img class ="logo-img " src =" ./assets/logo.jpg " alt =" Mindcore logo " / >
2122 < span class ="brand-text "> Mindcore</ span >
2223 </ div >
2324 < nav class ="nav ">
2425 < a href ="#idea "> Idea</ a >
2526 < a href ="#how "> How it works</ a >
2627 < a href ="#privacy "> Privacy</ a >
28+ < a href ="#author "> Author</ a >
29+ < a href ="https://www.linkedin.com/company/mindcore-llc/?viewAsMember=true " target ="_blank " rel ="noopener " aria-label ="MindCore LinkedIn ">
30+ < svg class ="icon " viewBox ="0 0 24 24 " aria-hidden ="true "> < path d ="M4.98 3.5C4.98 4.88 3.86 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM0 8h5v16H0V8zm7.5 0h4.8v2.2h.07c.67-1.27 2.3-2.6 4.73-2.6 5.06 0 5.99 3.33 5.99 7.66V24h-5v-7.4c0-1.77-.03-4.06-2.48-4.06-2.48 0-2.86 1.94-2.86 3.94V24h-5V8z " fill ="currentColor "/> </ svg >
31+ </ a >
2732 < a href ="#join " class ="btn btn-outline " data-open-modal > Get Early Access</ a >
2833 </ nav >
2934 </ div >
@@ -57,19 +62,19 @@ <h2 data-reveal>The Core Idea</h2>
5762 </ div >
5863 < div class ="grid ">
5964 < div class ="card " data-reveal >
60- < h3 > Always Present</ h3 >
65+ < h3 > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < circle cx =" 12 " cy =" 12 " r =" 9 " stroke =" currentColor " stroke-width =" 2 " fill =" none " /> < circle cx =" 12 " cy =" 12 " r =" 3 " fill =" currentColor " /> </ svg > Always Present</ h3 >
6166 < p > Runs in the background and pays attention to your screen, apps, voice, and environment — only with your permission.</ p >
6267 </ div >
6368 < div class ="card " data-reveal >
64- < h3 > Memory that Lasts</ h3 >
69+ < h3 > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M4 7a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v10a2 2 0 0 1-2 2H7l-3 3V7z " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Memory that Lasts</ h3 >
6570 < p > Builds a private lifelog on your device. Moments become memories that are searchable, retrievable, and useful.</ p >
6671 </ div >
6772 < div class ="card " data-reveal >
68- < h3 > Conversations that Feel Real</ h3 >
73+ < h3 > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M4 5h16v10H7l-3 3V5z " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Conversations that Feel Real</ h3 >
6974 < p > Because it remembers, it can follow up on things you did days, weeks, or months ago.</ p >
7075 </ div >
7176 < div class ="card " data-reveal >
72- < h3 > A True Companion</ h3 >
77+ < h3 > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M12 21s-7-4.35-7-10a4 4 0 0 1 7-2 4 4 0 0 1 7 2c0 5.65-7 10-7 10z " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> </ svg > A True Companion</ h3 >
7378 < p > It doesn’t just wait for you to talk — it checks in, nudges, and supports your goals.</ p >
7479 </ div >
7580 </ div >
@@ -83,62 +88,74 @@ <h2 data-reveal>How it Works</h2>
8388 < p class ="section-kicker " data-reveal > Observe → Interpret → Store → Decide → Engage → Learn</ p >
8489 </ div >
8590
86- < div class ="timeline ">
87- < div class ="tl-item " data-reveal >
88- < span class ="tl-bullet "> </ span >
89- < div >
90- < h4 > Observe</ h4 >
91+ < div class ="how-grid ">
92+ < ol class ="steps " aria-label ="Process ">
93+ < li class ="step-card " data-reveal >
94+ < div class ="step-head ">
95+ < span class ="step-num "> 1</ span >
96+ < span class ="step-title "> < svg class ="icon " viewBox ="0 0 24 24 " aria-hidden ="true "> < circle cx ="12 " cy ="12 " r ="10 " stroke ="currentColor " stroke-width ="2 " fill ="none "/> < path d ="M2 12h4m12 0h4M12 2v4m0 12v4 " stroke ="currentColor " stroke-width ="2 "/> </ svg > Observe</ span >
97+ </ div >
9198 < p > Trackers for apps, files, screen, mic/cam (opt‑in) feed events into the daemon.</ p >
92- </ div >
93- </ div >
94- < div class ="tl-item " data-reveal >
95- < span class ="tl-bullet " > </ span >
96- < div >
97- < h4 > Interpret </ h4 >
99+ </ li >
100+ < li class =" step-card " data-reveal >
101+ < div class ="step-head " >
102+ < span class ="step-num " > 2 </ span >
103+ < span class =" step-title " > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M4 12h16M12 4v16 " stroke =" currentColor " stroke-width =" 2 " /> < circle cx =" 12 " cy =" 12 " r =" 8 " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Interpret </ span >
104+ </ div >
98105 < p > Summarizes, tags, and embeds events into lightweight memories.</ p >
99- </ div >
100- </ div >
101- < div class ="tl-item " data-reveal >
102- < span class ="tl-bullet " > </ span >
103- < div >
104- < h4 > Store </ h4 >
106+ </ li >
107+ < li class =" step-card " data-reveal >
108+ < div class ="step-head " >
109+ < span class ="step-num " > 3 </ span >
110+ < span class =" step-title " > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < rect x =" 4 " y =" 5 " width =" 16 " height =" 14 " rx =" 2 " ry =" 2 " stroke =" currentColor " stroke-width =" 2 " fill =" none " /> < path d =" M8 9h8M8 13h5 " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Store </ span >
111+ </ div >
105112 < p > Private timeline in SQLite + vector index. Local‑first by design.</ p >
106- </ div >
107- </ div >
108- < div class ="tl-item " data-reveal >
109- < span class ="tl-bullet " > </ span >
110- < div >
111- < h4 > Decide </ h4 >
113+ </ li >
114+ < li class =" step-card " data-reveal >
115+ < div class ="step-head " >
116+ < span class ="step-num " > 4 </ span >
117+ < span class =" step-title " > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M12 3l3 6 6 .9-4.5 4.3 1 6-5.5-3-5.5 3 1-6L3 9.9 9 9z " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Decide </ span >
118+ </ div >
112119 < p > Policies trigger check‑ins, nudges, and reminders based on context.</ p >
113- </ div >
114- </ div >
115- < div class ="tl-item " data-reveal >
116- < span class ="tl-bullet " > </ span >
117- < div >
118- < h4 > Engage </ h4 >
120+ </ li >
121+ < li class =" step-card " data-reveal >
122+ < div class ="step-head " >
123+ < span class ="step-num " > 5 </ span >
124+ < span class =" step-title " > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M4 5h16v10H7l-3 3V5z " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Engage </ span >
125+ </ div >
119126 < p > Chat naturally; TTS can speak; notifications appear when helpful.</ p >
120- </ div >
121- </ div >
122- < div class ="tl-item " data-reveal >
123- < span class ="tl-bullet " > </ span >
124- < div >
125- < h4 > Learn </ h4 >
127+ </ li >
128+ < li class =" step-card " data-reveal >
129+ < div class ="step-head " >
130+ < span class ="step-num " > 6 </ span >
131+ < span class =" step-title " > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M12 20c4.418 0 8-3.134 8-7s-3.582-7-8-7-8 3.134-8 7 " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> < path d =" M4 13l-2 3 3 2 " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Learn </ span >
132+ </ div >
126133 < p > Adapts to your routines, mood, and preferences over time.</ p >
134+ </ li >
135+ </ ol >
136+
137+ < div class ="how-visual " data-reveal >
138+ < div class ="visual-inner ">
139+ < img src ="./assets/logo.jpg " alt ="Mindcore mark " />
140+ < div class ="badge " style ="top: 12%; left: 12% "> Memories</ div >
141+ < div class ="badge " style ="bottom: 14%; left: 18% "> Skills</ div >
142+ < div class ="badge " style ="top: 18%; right: 10% "> Chat</ div >
143+ < div class ="badge " style ="bottom: 12%; right: 16% "> Privacy</ div >
127144 </ div >
128145 </ div >
129146 </ div >
130147
131148 < div class ="features grid ">
132149 < div class ="feature " data-reveal >
133- < h3 > Pluggable Skills</ h3 >
150+ < h3 > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M12 2l4 8h8l-6 5 2 8-8-5-8 5 2-8-6-5h8z " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Pluggable Skills</ h3 >
134151 < p > Simple skills/plugins react to triggers and act through a local SDK.</ p >
135152 </ div >
136153 < div class ="feature " data-reveal >
137- < h3 > Episodic Memory</ h3 >
154+ < h3 > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < path d =" M6 4h12a2 2 0 0 1 2 2v12l-4-3H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2z " fill =" none " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Episodic Memory</ h3 >
138155 < p > Moments become searchable memories with summaries, tags, and embeddings.</ p >
139156 </ div >
140157 < div class ="feature " data-reveal >
141- < h3 > Orchestrated Conversation</ h3 >
158+ < h3 > < svg class =" icon " viewBox =" 0 0 24 24 " aria-hidden =" true " > < circle cx =" 7 " cy =" 12 " r =" 3 " stroke =" currentColor " stroke-width =" 2 " fill =" none " /> < circle cx =" 17 " cy =" 7 " r =" 3 " stroke =" currentColor " stroke-width =" 2 " fill =" none " /> < circle cx =" 17 " cy =" 17 " r =" 3 " stroke =" currentColor " stroke-width =" 2 " fill =" none " /> < path d =" M9.5 10.5 14.5 8M9.5 13.5 14.5 16 " stroke =" currentColor " stroke-width =" 2 " /> </ svg > Orchestrated Conversation</ h3 >
142159 < p > Retrieval‑augmented prompts with a plan → answer loop and safety self‑check.</ p >
143160 </ div >
144161 </ div >
@@ -198,12 +215,26 @@ <h3>Contributors</h3>
198215 </ div >
199216 </ div >
200217 </ section >
218+
219+ <!-- About Author (moved above footer) -->
220+ < section class ="section " id ="author ">
221+ < div class ="container ">
222+ < div class ="author-card " data-reveal >
223+ < img class ="author-pic " src ="./assets/author_pic.jpg " alt ="Author portrait " />
224+ < div class ="author-content ">
225+ < h3 > About the Author</ h3 >
226+ < p class ="author-tag "> Built by Vladislav Kondratyev — crafting local‑first AI that actually cares.</ p >
227+ < a class ="btn btn-primary " href ="https://www.linkedin.com/in/vladislav-kondratyev/ " target ="_blank " rel ="noopener "> Connect on LinkedIn</ a >
228+ </ div >
229+ </ div >
230+ </ div >
231+ </ section >
201232 </ main >
202233
203234 < footer class ="site-footer ">
204235 < div class ="container footer-inner ">
205236 < div class ="brand small ">
206- < span class ="logo-dot " aria-hidden =" true " > </ span >
237+ < img class ="logo-img " src =" ./assets/logo.jpg " alt =" Mindcore logo " / >
207238 < span class ="brand-text "> Mindcore</ span >
208239 </ div >
209240 < div class ="legal ">
@@ -231,11 +262,19 @@ <h3 id="interest-title">Join Early Access</h3>
231262 < span > How would you use Mindcore?</ span >
232263 < textarea name ="use " rows ="4 " placeholder ="Study buddy, focus coach, memory timeline… " required > </ textarea >
233264 </ label >
265+ < label >
266+ < span > How likely are you to use or recommend Mindcore?</ span >
267+ < div class ="choices ">
268+ < label > < input type ="radio " name ="likelihood " value ="1 " required > 1</ label >
269+ < label > < input type ="radio " name ="likelihood " value ="2 "> 2</ label >
270+ < label > < input type ="radio " name ="likelihood " value ="3 "> 3</ label >
271+ < label > < input type ="radio " name ="likelihood " value ="4 "> 4</ label >
272+ < label > < input type ="radio " name ="likelihood " value ="5 "> 5</ label >
273+ </ div >
274+ </ label >
234275 < div class ="form-actions ">
235- < button type ="submit " class ="btn btn-primary "> Send </ button >
276+ < button type ="submit " class ="btn btn-primary "> Submit </ button >
236277 < button type ="button " class ="btn btn-ghost " data-copy > Copy message</ button >
237- < a class ="btn btn-outline " data-mailto href ="# "> Open email</ a >
238- < button type ="button " class ="btn btn-outline " data-export > Export JSON</ button >
239278 </ div >
240279 < p class ="form-note "> We store your info only for early access updates. No spam.</ p >
241280 </ form >
0 commit comments