Portfolio · 2026
Developer in Health-tech
I'm a developer and founder working at the intersection of healthcare and AI. My work focuses on building infrastructure that makes clinical AI trustworthy, not just capable.
Currently building Celias AI, a compliance and governance platform that helps healthcare AI vendors navigate regulatory obligations across US federal and state jurisdictions, without needing a full-time regulatory team.
I believe the hardest problems in health-tech aren't purely technical. They live at the boundary between code, regulation, and clinical trust. That's where I work.
Compliance & governance infrastructure for healthcare AI vendors
celias-ai.vercel.app ↗Celias is a compliance and governance platform for healthcare AI vendors. It surfaces regulatory obligations across US federal and state jurisdictions, autocompletes hospital security questionnaires, generates CHAI-aligned model cards, and maintains a tamper-evident audit trail, all through a SDK-first architecture designed to drop into existing workflows.
16 records across 11 priority US jurisdictions plus 5 federal frameworks, HIPAA, FDA SaMD, ONC HTI-1, FTC Section 5, NY DFS. Versioned and hash-comparable. When laws change, customers see exactly what changed and what it means for them.
Jurisdiction × vendor type × data type × care setting. Behavior-aware severity scoring, marketing-claim flagging with word-boundary matching, coverage-gap detection. Distinguishes verified controls from claimed ones.
20 canonical hospital security questions answered automatically from your compliance profile. Confidence scored (high / medium / low / gap). Counsel-review flags propagated automatically.
Per-encounter append-only audit log, hash-chained and tamper-evident. CHAI-aligned model cards. Human-in-the-loop gate on every clinical write. Signed export bundles for regulator delivery.
Drop into existing workflows. V1 ships behind your stack as a compliance plugin; V2 unlocks the full governance copilot for design partners. No re-papering, no re-integration required.
// Begin a HIPAA-native compliance session
import { Celias } from "@celias/sdk";
const celias = new Celias({
tenant: "st-marys-cardiology",
governance: { committee: "on", audit: "per-encounter" },
ehr: { vendor: "epic", writeBack: true }
});
const posture = await celias.runPosture({
jurisdictions: ["CA", "NY", "IL"],
vendorType: "clinical-decision-support"
});
posture.on("gap", (g) => queue.flag(g));
posture.on("alert", (a) => counsel.notify(a));
await posture.seal(); // audit sealed, report ready.
Every encounter is a first-class object, patient, clinician, consent, governance posture. PHI never lands where it shouldn't.
Celias surfaces what the law requires. Every output carries the standard carveout: outside counsel review before customer reliance.
The schema distinguishes verified controls from claimed ones. Governance evaluations score them differently. Hospitals see the difference.
V1 ships as a compliance plugin. V2 upgrades active design partners in-place, same SDK, deeper integration, no re-contracting.
A consolidated view of everything built across the Celias AI project, from strategic foundation through V1 product completion.
Before a single line of product code, I built out the full strategic layer. Everything the company would need to move with clarity into design partner conversations and early builds.
I built Celias's own internal legal tooling as a Claude plugin before building the product. This let me stress-test the core compliance logic in a real workflow and generate artifacts that became product inputs.
Six core modules shipped as the V1 SDK. Each one independently valuable. Together they form the compliance layer that drops into any healthcare AI vendor's stack.
| Module | Status | Notes |
|---|---|---|
| Living Regulatory Map | Done | 16 records, 11 jurisdictions + federal |
| Posture Engine | Done | 4-axis scoring, claim flagging, gap detection |
| Disclosure Library | Done | CHAI model cards, signed export bundles |
| Questionnaire Autocomplete | Done | 20 questions, confidence scoring, counsel flags |
| Change Alerts | Done | Delta detection, tenant-prioritized summaries |
| Disclosure SDK | Done | V1 deployed, V2 upgrade path ready |
| Celias Legal Plugin | Done | 10 skills across NDA, contracts, compliance, HIPAA |
| Design Partner Outreach | In Progress | Interview guides and POV docs complete |
| V2 Governance Copilot | Planned | Unlocks for design partners on V1 SDK |
Alzheimer's risk explorer built on peer-reviewed science
clearmind-alzheimers-risk.vercel.app ↗I built ClearMind after learning that Alzheimer's-related brain changes can begin up to 20 years before any symptom shows up. That floored me. I went deep into the NIH studies, the Lancet Commission 2020 report, and the Alzheimer's Association data, and built a scoring engine that translates all of it into a plain risk profile anyone can actually read. This project taught me how to weight conflicting research responsibly — and how to present hard information without causing unnecessary panic.
Age, biological sex, education, genetics, lifestyle, and medical history. Each question tied directly to a published risk factor. No filler, no fluff, just the inputs that move the needle in peer-reviewed literature.
Every factor in the algorithm is sourced from NIH, Lancet Commission 2020, or the Alzheimer's Association. Weights reflect published relative risk, APOE-ε4 carries more than diet; untreated hearing loss carries more than people expect.
Every factor in your profile is scored, visualized, and explained with the study behind it. You see exactly why your score is what it is, and which factors are driving it most.
Recommendations aren't generic, they're filtered to your actual risk profile. If you already exercise regularly, that step disappears. What remains is what will actually move the needle for you specifically.
All scoring happens locally in JavaScript. No backend, no accounts, no analytics. The page doesn't know what you answered. This is a deliberate architectural choice, not just a privacy policy.
Factor weights aren't estimated, they're derived from relative risk figures in NIH studies, the Lancet Commission 2020 report, and Alzheimer's Association epidemiological data.
Age, sex, and genetics are scored accurately but always shown alongside the factors you can change. The tool never implies a fixed factor is a sentence.
Every output is framed as a prompt for a doctor's appointment, not a clinical finding. The distinction is hardcoded into the UI, the copy, and the disclaimer.
Alzheimer's changes begin up to 20 years before symptoms. Most tools surface this disease after the window for lifestyle intervention has closed. ClearMind is designed for the preclinical phase.
A guide for young people navigating mental health, credible resources, not a therapist
youth-mental-health-navigator.vercel.app ↗I built this because I kept thinking about what it's like to be a teenager who knows something is wrong but has no idea where to go. Not the kind of wrong that needs a therapist right now — just the kind that needs a starting point. So I made one. Six paths, all linking to real sources: NIMH, SAMHSA, 988. No chatbot, no account, no algorithm deciding what you need. Just a clear door into something credible. 988 is always one click away from everywhere in the tool — that was non-negotiable from day one.
Crisis resources front and centre. 988 (call or text), Crisis Text Line, and international lines. Never more than one click away from any page in the tool.
Grounding techniques, breathing exercises, and evidence-backed strategies for anxiety and overwhelm, sourced to NIMH and SAMHSA guidelines.
Navigating academic pressure and burnout. Includes guidance on talking to a school counselor and what to expect from that conversation.
Social anxiety, bullying, and loneliness, with resources on how to support a friend who is struggling, including crisis escalation guidance.
Scripts and frameworks for starting difficult conversations with parents or guardians about mental health, when the adult feels like the hardest part.
Structured prompts and free-write starters. All journaling is local, nothing is stored, sent, or retained after the tab closes.
Stated clearly on every page, this tool points to credible resources and real support. It never presents itself as clinical care or a replacement for professional help.
The "Need help now" link appears in the header on every page, regardless of where you are in the tool. Crisis resources load first, not last.
All resources link to primary sources, 988, NIMH, SAMHSA, Crisis Text Line. A dedicated sources page lists every reference. Nothing invented.
No accounts, no analytics, no data collected. The journal stores nothing. Users navigating sensitive topics shouldn't leave a data trail.
8 browser-native fidget toys for ADHD focus, pop-it, spinner, squish ball, sand garden and more
focus-hands-fidget.vercel.app ↗I built this one for fun, then realised it was actually useful. I wanted to understand the Web Audio API properly and I was curious whether you could synthesise genuinely satisfying sounds from scratch without loading a single audio file. Turns out you can. Eight fidget toys, all browser-native, all with tuned sound palettes. The pop-it took me three days to get feeling right. This taught me more about AudioContext, oscillators, and pointer events than any tutorial ever did.
5×5 grid of satisfying bubbles. Each pops with a tuned triangle-wave sound. Completion chime when all 25 are popped.
Physics-accurate momentum. Drag to spin, flick to fling. Tick sounds at speed. Live RPM readout.
Satisfying mechanical click with a dot-fill pattern every 5 presses. Haptic burst on each milestone.
Deforms toward pointer pressure with layered squish sounds. Readout tracks soft → press → squish.
Two beads on a rail with snap-to-position stops. Click-clack sound on each detent.
Canvas rake draws five parallel grooves with grain sounds. Textured clear resets the sand.
Pulsing orb with adjustable pace. Soft sine tones mark inhale and exhale. Pause anytime.
Drag to twist a multi-coloured ring structure. Oscillates as you rotate with satisfying bead sounds.
Every sound is synthesised with the Web Audio API, triangle waves, noise bursts, filtered pops. No audio files. Each toy has its own tuned palette engineered to feel satisfying, not tinny.
The spinner uses real angular momentum and decay. The squish ball deforms by pointer pressure. The tangle oscillates on twist angle. Behaviour drives visuals, not the other way around.
Every toy is operable via keyboard, Space/Enter to interact. ARIA labels and live regions throughout. Works equally on mobile and desktop.
No framework, no build step, no backend, no analytics. A single HTML file. All sound and physics run in the browser, no requests after initial page load.
Clinical drug–drug interaction graph with 15,670-drug A-Z database
drug-interaction-visualiser.vercel.app ↗I was ambitious with this one. I wanted to build something that felt genuinely clinical — not a toy — and that meant learning CYP enzyme pathways, P-glycoprotein interactions, and what actually makes a drug-drug interaction dangerous versus just worth noting. The database covers 15,670 drugs. Getting the name resolution right (so "Warfarin Sodium Monohydrate" correctly matches Warfarin) was one of the most satisfying engineering problems I've worked through. This project taught me that clinical safety software lives or dies on edge cases.
Life-threatening combinations requiring immediate clinical review. Concurrent use typically contraindicated or needs a strict monitoring protocol.
Clinically significant interactions requiring monitoring or dose adjustment. Manageable but needs active prescriber or pharmacist review.
Low clinical impact or manageable with simple timing adjustments. Documented for completeness; rarely warrants therapy changes.
Salt forms are stripped iteratively, "Warfarin Sodium Monohydrate" resolves to Warfarin and inherits its stored interactions. 35 INN/USAN stem classes (−statin, −pril, −sartan, −olol, −dipine, −xaban and more) infer drug class and shared metabolic pathways for drugs not in the prototype set. Truly unknown names fall back to "Drug (class unknown)", never falsely reassured.
Anticoagulants, insulins, opioids, chemotherapy agents, neuromuscular blockers, and route-dependent medications are automatically flagged using word-boundary term matching. Caution badges appear on drug chips and graph nodes, with monitoring guidance surfaced in the "What to watch" panel for every flagged drug or pair, even unknown combinations show the right safety signal.
Goal-driven nutrition & inflammation intelligence powered by USDA FoodData Central
nutripath-black.vercel.app ↗I built NutriPath because most nutrition tools just tell you calories. I wanted to go deeper — to actually score food against specific health goals using the Dietary Inflammatory Index and real USDA nutrient data. Learning the DII framework was a rabbit hole I didn't expect: 45 parameters, thousands of epidemiological studies behind it. Mapping all of that to seven practical goals and making it feel simple on the surface was the real challenge. This one taught me how to take dense academic methodology and make it genuinely usable.
Scores foods on heart-healthy fat profiles, fibre content, and anti-inflammatory markers linked to reduced CVD risk.
Prioritises omega-3 fatty acids, antioxidants, and anti-inflammatory nutrients associated with brain function and neurodegeneration prevention.
Evaluates energy density, satiety-driving protein and fibre, and glycaemic load to support sustainable weight goals.
Maps fibre, glycaemic index, and magnesium content against insulin sensitivity and type-2 diabetes risk reduction evidence.
Highlights calcium, vitamin D, vitamin K, and anti-inflammatory scores relevant to bone density and joint inflammation.
Surfaces vitamin C, zinc, selenium, and polyphenol content linked to immune resilience and inflammatory regulation.
The Dietary Inflammatory Index is a literature-derived scoring system validated across thousands of epidemiological studies. NutriPath applies it food-by-food using USDA nutrient data, rather than whole-diet scoring, so you can identify pro- and anti-inflammatory items in isolation, compare alternatives, and track cumulative inflammatory load as you build a meal.
Every search hits the USDA FoodData Central API, the gold-standard public nutrition database covering branded products, raw ingredients, and reference foods. Nutrient data is fetched live, parsed for DII-relevant parameters, and mapped through each goal's evidence-weighted formula. Results are presented with goal alignment scores, inflammation signal, and actionable context, all computed client-side with no stored data.
Clinical eye-strain assessment and personalised relief protocols, fully in-browser
vision-fatigue-checker.vercel.app ↗I built this after going down a rabbit hole on Computer Vision Syndrome research — I had no idea how well-documented digital eye strain actually is, or that most people have no idea their symptoms have a name. I wanted to build something that felt like a real assessment, not a quiz, so I spent time with AOA guidelines on convergence and accommodation testing and tried to replicate the logic clinically. The intentional low-stimulation UI design was a deliberate choice — it felt wrong to make a bright, busy interface for something that's literally about eye strain.
Scores dryness, blur, headache, and light sensitivity using validated digital eye strain questionnaire criteria.
Guides users through near-point convergence and accommodative flexibility checks to detect binocular strain.
Outputs a severity-graded relief plan, 20-20-20 scheduling, blink exercises, workspace adjustments, tailored to the user's result.
The assessment logic is drawn from Computer Vision Syndrome (CVS) research and the American Optometric Association's digital eye strain criteria. Symptom weights reflect published prevalence data across screen-worker populations. The 20-20-20 rule and accommodative exercises are recommended by optometric bodies for mild-to-moderate fatigue, the tool applies these contextually based on the user's specific symptom profile rather than as generic advice.
The entire assessment and scoring engine runs client-side in vanilla JavaScript. There is no account creation, no data transmission, and no dependency on external APIs, which means it loads instantly on any device and works offline once cached. The UI is intentionally low-stimulation: dark background, reduced contrast, and minimal animation to avoid aggravating the very condition it's assessing. Results are presented as a clear severity band with a structured action plan the user can act on immediately.
Map, track, and decode chronic symptoms into a structured clinical picture your doctor can actually use
symptom-timeline-chi.vercel.app ↗I built this because I kept hearing the same story — someone unwell for months, finally in a doctor's office, and completely unable to articulate what's been happening because it's all in their head, scattered across time. A good log changes that conversation. This taught me a lot about how to design for people who are already stressed: the UI had to be gentle, fast to use, and never ask more than necessary. Getting the SVG timeline to feel intuitive rather than clinical was the part I'm most proud of.
Log symptoms against dates and see them rendered as an SVG timeline, revealing clusters, gaps, and progressions that are invisible in a list.
Tag each episode with potential triggers, food, sleep, stress, activity, medication, and surface correlations across your logged history.
Generate a structured one-page summary with symptom frequency, severity trend, and flagged patterns, formatted for a clinical conversation, not a personal diary.
The thing that stayed with me was reading about diagnostic delay for conditions like endometriosis and POTS — 4 to 7 years on average. A big part of that is the 10-minute appointment window where someone has to remember and articulate months of scattered symptoms from scratch. I wanted to close that gap. Not by replacing the doctor, but by giving the patient something structured to hand over. A log that already surfaces the patterns, already links the triggers, already looks like something a clinician knows how to read.
I made a deliberate decision early on: no backend, no account, no server. Symptom data is deeply personal and I didn't want to be in the business of holding it. Everything lives in localStorage. The export uses the browser's native print API, so a clean PDF comes out with zero external calls. It's not a privacy policy that can change — the architecture just doesn't have the ability to send data anywhere. That felt like the only honest choice for something this personal.
Plain-English blood panel intelligence, enter your values, understand what they mean
lab-decoder.vercel.app ↗I built this after watching someone close to me receive blood results they genuinely couldn't parse — a page of numbers, some flagged red, no explanation. It seemed like a solvable problem. Building it was a deep education in clinical pathology: learning what ferritin actually tells you versus serum iron, why TSH is a more useful thyroid signal than T4 alone, how age and sex shift what "normal" means. Sourcing every range from Mayo Clinic or NIH rather than using generic defaults was a deliberate call — credibility matters when the stakes feel personal.
Full blood count, liver enzymes, kidney markers, fasting glucose, HbA1c, lipid panel, the core of any standard blood test decoded marker by marker.
TSH, Free T3, Free T4, testosterone, oestradiol, cortisol, DHEA-S and more, with sex-specific reference ranges and age-adjusted thresholds.
Vitamin D, B12, ferritin, magnesium, zinc, folate, homocysteine, hsCRP, the markers most GPs don't explain and patients most misunderstand.
I spent a lot of time on the reference ranges because I knew if they were wrong, or vague, the whole thing would fall apart. Every single one is sourced from Mayo Clinic, NHS Pathology, NIH, or a specialist society — and the citation lives in the data object, not just a footer disclaimer. The distinction between "optimal", "within range", and "worth discussing" was a conscious design decision too. Binary red/green framing sends people into a spiral over borderline results that aren't actually worrying. I wanted the tool to inform, not alarm.
The specific scenario I kept designing for was someone sitting with their results the night before a GP appointment, trying not to catastrophise a flagged number. Most interfaces don't help with that — they just show red and leave you to Google at midnight. I wanted every out-of-range result to land with context: what it actually means, what might cause it, and one concrete thing worth doing. The print summary came from realising that a one-pager going into a 10-minute appointment is worth ten times more than a phone screenshot.
Age and risk-factor based guide to which cancer screenings you are due for and when
cancer-screening-navigator-sanjeetpersonals-projects.vercel.app ↗I built this because I realised I had no idea which cancer screenings I was supposed to have, let alone when. And I work in health-tech. The USPSTF guidelines exist, the NHS criteria exist, the ACS recommendations exist — but none of it is written for a person, it's written for a clinician. I wanted to translate that into something you could open, answer a few questions, and walk away from knowing exactly what you should book. Building the risk-adjustment logic — where family history or smoking history shifts your eligibility — was where I learned the most.
Breast, cervical, colorectal, lung, prostate, and skin cancer screening — the six where guideline-recommended screening has the strongest evidence base for mortality reduction.
Screening start ages and intervals shift based on family history, smoking history, BMI, and other documented risk factors. The tool applies these adjustments the way guidelines actually intend them.
Every recommendation is tied to its source: USPSTF grade, NHS bowel and breast screening criteria, or ACS position statement. No invented thresholds, no blended averages.
What surprised me most researching this was how much screening uptake drops not because people don't care, but because they genuinely don't know they're eligible. Colorectal screening rates below 60% in countries with free access — that's not apathy, that's confusion. I built the risk-adjustment logic carefully because that's where the guidelines actually do most of their work. A 45-year-old with a first-degree relative diagnosed under 60 should be starting colonoscopies earlier than average. That nuance matters and most people never hear it.
I was deliberate about the output format. Not a long article — a ranked list with a status on each item: due now, coming up, not yet eligible, doesn't apply to you. I kept thinking about what someone should actually walk away with after two minutes. Three clear actions felt like the right bar. Every recommendation links to its source guideline because I didn't want the tool to feel like it was making things up. It's just translating what already exists into something a human can actually act on.
An interactive map of the body's stress system — from hypothalamus to cortisol to chronic disease
hpa-axis-explorer.vercel.app ↗I got deep into psychoneuroimmunology research after trying to understand why prolonged stress causes such specific physical symptoms — gut problems, poor sleep, catching every cold. The HPA axis literature is genuinely fascinating, and I was ambitious in trying to make it navigable for someone with no biology background. Building the interactive SVG diagram forced me to understand the cascade well enough to explain every step in plain English. This project changed how I personally think about stress — that alone felt worth building it.
From the hypothalamus signalling CRH, through pituitary ACTH release, to adrenal cortisol output — the full feedback loop visualised as an interactive pathway.
Immune suppression, gut permeability, hippocampal atrophy, sleep disruption, and metabolic dysregulation — each traced to its mechanistic origin in the HPA cascade.
Evidence-based interventions mapped to each affected system — what the research actually supports for resetting HPA dysregulation, not generic wellness advice.
What drew me to this subject was how often people experiencing chronic stress symptoms — gut problems, constant fatigue, getting ill repeatedly — blame themselves for not managing better. But the biology is specific and measurable: elevated cortisol suppresses natural killer cell activity, increases intestinal permeability, and over time reduces hippocampal volume. That's not a willpower problem. I wanted to build something that made that visible in a way that shifts the frame from self-blame to understanding. That felt like a worthwhile thing to put into the world.
Psychoneuroimmunology is genuinely one of the most interconnected areas I've ever tried to learn — hormones, neurotransmitters, cytokines, organ systems, all in feedback loops with each other. I kept trying to explain it linearly and it kept falling apart. The SVG anatomy diagram was the solution: let the body itself be the navigation. Tap a structure, get its role in the cascade. The science doesn't get flattened — you just navigate it differently. Getting that to feel intuitive rather than overwhelming was the part of this build I'm proudest of.
A guide to conditions that take a decade to diagnose — fibromyalgia, ME/CFS, POTS, MCAS — and how to finally be heard
uncover-the-invisible.vercel.app ↗I built this because the average diagnostic journey for conditions like ME/CFS or POTS is nearly a decade. Not because the science doesn't exist — it does — but because it's scattered across specialist literature that most GPs never read. This tool maps fibromyalgia, ME/CFS, POTS, and MCAS in plain language: what the diagnostic criteria actually are, what the research says about mechanisms, and how to have a conversation with a doctor that doesn't end in dismissal.
Fibromyalgia, ME/CFS, POTS, and MCAS — each explained with its actual diagnostic criteria, known mechanisms, and what the current research says, not what gets dismissed in a 10-minute appointment.
Many of these conditions overlap and share symptoms. The tool helps distinguish them, understand co-occurrence, and build a clearer picture to bring to a specialist referral.
Scripts and frameworks for clinical conversations — how to present symptoms in the language a doctor responds to, what to ask for, and what to do when you're dismissed for the third time.
That's the part that got me. These aren't rare conditions without a medical consensus — fibromyalgia has ACR diagnostic criteria, POTS has documented autonomic testing thresholds, ME/CFS has the Canadian Consensus Criteria. The science exists. The problem is access to it, and the cultural tendency to dismiss symptoms that don't show up on a standard blood panel. I wanted to put that science directly into the hands of the people who need it most, in language they can actually use in a clinical setting.
People with these conditions are often already exhausted — cognitively and physically. I was deliberate about the information architecture: lead with the thing someone needs right now, layer the depth underneath. The "how to be heard" section came from thinking hard about who actually uses a tool like this. It's not a researcher. It's someone who's been dismissed twice and is preparing for a third appointment. What do they actually need to walk in with? That question shaped everything about how the content is organised.
20,000+ GPU-accelerated particles — live 3D formations, smart text engine, media imports, and hand-gesture control
particle-display.vercel.app ↗I built this after getting obsessed with GPU-driven particle systems and wanting to push what vanilla JS + WebGL2 could actually do without a build step. The swarm runs fully on the GPU with custom shaders — every formation morph, every text render, every media import is calculated in real time. The hand-gesture camera felt like magic the first time it worked.
Recognise the signs of sepsis before it's too late — plain-English guidance for after an infection or procedure
sepsis-early-warning.vercel.app ↗I built this because sepsis is one of the most preventable causes of death we consistently fail to prevent. The information that could save lives — what sepsis looks like hour by hour after an infection or procedure, when to call emergency services — exists in clinical guidelines that nobody outside medicine ever reads. This tool puts it in plain English, in the hands of the people who actually need it.
The early signs of sepsis mapped in plain language — fever, rapid breathing, confusion, clammy skin — explained as they actually present at home, not in clinical SIRS criteria that mean nothing to a patient.
What to watch for in the 24-48 hours after an infection, surgery, or hospital discharge — the highest-risk window when most people are at home without monitoring and sepsis progresses fastest.
Clear, unambiguous thresholds for when to call emergency services — not "if you feel unwell, see a doctor," but specific signs that mean call now, go now, say the word sepsis when you arrive.
What struck me researching this was how survivable sepsis is when caught in the first few hours, and how quickly that changes. Every hour of delay in treatment increases mortality by around 7%. That's not a statistic I could sit with passively. The clinical protocols exist — the Surviving Sepsis Campaign has published clear guidance since 2004. The problem is none of it is written for patients. I wanted to close that gap as directly as I could.
This was the most important design constraint I've ever worked with. The person using this tool is not browsing — they're worried about someone they love, possibly at 2am, possibly already in a spiral. Every word had to earn its place. No hedging, no jargon, no walls of text. The "when to act" section went through more iterations than anything else I've built — because the difference between "call your GP in the morning" and "call 999 now" is not a design question, it's a clinical one, and I wasn't willing to get it wrong.
Point it at any URL and fire 1,000+ structured tests — UI, SEO, accessibility, security, performance, and more — with zero per-project setup
github.com/SanjeetPersonal/ultra-test-suite ↗Every project I build — Celias, ClearMind, NutriPath, all of them — gets run through this before anything ships. I got tired of setting up a new test framework from scratch each time just to answer the same questions: is the accessibility clean, are the security headers right, will this hold up on mobile. So I built one suite I could point at any URL and get answers in minutes. At some point I realised there was no reason to keep it to myself, so I open-sourced it. Clone it, point it at your site, and it works.
After working across enough projects, a pattern became obvious: the first thing any serious site needs validated — WCAG accessibility, Core Web Vitals, broken links, security headers, SEO meta — is identical every time. I was duplicating setup work instead of finding defects. Ultra Test Suite is the answer to that: a framework that runs immediately against any URL, covering every domain that matters, so the real work starts at analysis rather than scaffolding.
The suite is intentionally zero-config at its core. One YAML file, one command. Every test has a severity label (high / medium / low) so the HTML report immediately shows you what to fix first. Tests that don't apply — no forms on a static page, no auth endpoints — skip automatically rather than failing, keeping results clean. Adding a custom test is ten lines of Python with a single decorator. The output is CI-friendly: exit code 1 on failures, 0 on clean runs.