Inspiration
If you hand an older adult an app and tell them it's for "cognitive monitoring," they are probably going to delete it. It feels clinical, scary, and invasive. There is a huge stigma around memory loss. At the same time, the tech industry’s current solution is to just throw AI chatbots at the elderly, which is genuinely dangerous because LLMs hallucinate medical advice.
I wanted to build a "Trojan Horse." I wanted an app that feels like a warm, inviting family legacy journal on the surface, but secretly runs rigorous, privacy-safe computational linguistics in the background. I wanted to give families real data without sacrificing the user's dignity.
What it does
KinLore is a daily journal that passively extracts longitudinal cognitive biomarkers. When a user types or dictates a memory, they just see a beautiful journaling interface. But underneath, the app tracks four things:
- Acoustic Speech Tempo (WPM): It passively times dictations to capture psychomotor pacing.
- Lexical Diversity: It uses a mathematical formula (Brunét's Index) to score vocabulary richness.
- Idea Density: It counts how many unique propositions and repetitive thoughts are in the text.
- Doctor Summary: It bundles rolling 7-day averages into a clean, printable data sheet that a patient can hand directly to their neurologist.
How we built it
We built the frontend with React, Tailwind, and Recharts to create a warm "parchment" aesthetic that completely avoids the sterile hospital look. The backend runs on Lovable Cloud and Supabase (PostgreSQL + Edge Functions).
To guarantee safety, we heavily bifurcated the architecture. The lexical math (Brunét's Index) is computed natively and deterministically in TypeScript. For the semantic analysis, we used the Featherless API (running Llama 3.1 8B). But here is the catch: we locked the LLM down using strict JSON tool-calling so it can only count ideas and return integers. It is structurally impossible for our app to generate fake medical advice.
Challenges we ran into
Wrangling the LLM to just be a "dumb counter" was incredibly frustrating. Llama 3.1 kept trying to return stringified JSON or hallucinate extra text instead of just giving us the exact tool-call arguments we needed for Idea Density. We had to build strict try/catch parsing in our server functions to ensure that if the LLM failed or timed out, the deterministic math still saved perfectly so the app wouldn't crash.
Also, figuring out how to measure vocabulary without punishing users for writing short entries sent us down a massive rabbit hole into 1970s corpus linguistics until we found Brunét's Index!
Accomplishments that we're proud of
I am incredibly proud that we didn't just build another wrapper. But the biggest win is our Zero-Data Retention Architecture. People write deeply personal things in journals. In KinLore, the raw text is held in the server's memory just long enough to run the math, and then it is instantly vaporized. Only the computed integers (like word count or WPM) are saved to the database. Knowing we built a health tool that is mathematically rigorous but functionally incapable of leaking a user's private diary entries feels like a massive victory.
What we learned
I learned that throwing generative AI at a medical problem is usually the wrong approach. Using an LLM purely for structural extraction while leaving the actual health baselines to pure math is infinitely safer. I also learned that UX is healthcare—if an interface doesn't feel safe and warm, the target demographic simply won't use it, no matter how good the math is.
What's next for KinLore
This is a strong proof of concept, but it is not a medical device yet. The next step is taking this architecture into actual longitudinal clinical trials. We want to calibrate our baseline scores (like Brunét's Index and Speech Tempo) against verified Montreal Cognitive Assessment (MoCA) data to prove the exact correlation between our background metrics and early-stage neurological shifts.
Diagram

App link - https://kin-lore-insights.lovable.app
Built With
- auth
- featherless.ai
- react
- recharts
- tailwind
- tanstack
Log in or sign up for Devpost to join the conversation.