From Commissioned Website To Nonprofit Startup: The KiNDD Technical Journey
Project period: 2025-2026 founder/engineer work.
Project period: 2025-2026 founder/engineer work.
One Docker image, two ECS services, an SQS queue with IAM auth, and the Django settings crash that blocks every first Celery deploy.
You can’t process Apple HealthKit data inline. Here’s why we needed Celery with SQS, how Redis fits in separately for caching, and the architecture that emer...
A visual deep-dive into running Celery workers as separate ECS containers — broker topology, task lifecycle, concurrency models, and the Beat scheduler gotcha.
Part 4 of building the AI assistant. This covers the most critical issue in health AI: preventing the model from making up data that doesn’t exist.
Part 3 of the series on building a women’s health AI assistant. This covers the system prompts, safety guardrails, and behavior control that make an AI agent...
This is the first in a series documenting how I built a women’s health AI assistant using AWS Strands SDK, Bedrock, and Django. The system handles personal h...
If you’re building multi-user AI agents with AWS Strands SDK, you’ll quickly hit a common problem: how do you bind tools to a specific user without passing u...
Work period: 2025-2026 streaming LLM systems.
Work period: 2025-2026 production AI systems.
Work period: 2025-2026 production RAG systems.
Project period: 2025-2026 KiNDD AI/RAG build.
Part 4 of building the AI assistant. This covers the most critical issue in health AI: preventing the model from making up data that doesn’t exist.
Part 3 of the series on building a women’s health AI assistant. This covers the system prompts, safety guardrails, and behavior control that make an AI agent...
This is the first in a series documenting how I built a women’s health AI assistant using AWS Strands SDK, Bedrock, and Django. The system handles personal h...
If you’re building multi-user AI agents with AWS Strands SDK, you’ll quickly hit a common problem: how do you bind tools to a specific user without passing u...
Project period: 2025-2026 KiNDD platform build.
Project period: 2025-2026 founder/engineer work.
How I replaced inline URL citations with a token-based reference system that separates machine semantics from user-visible text — and why the old approach wa...
One Docker image, two ECS services, an SQS queue with IAM auth, and the Django settings crash that blocks every first Celery deploy.
A chunk-based import pipeline with SQS, dispatcher tasks that chain through the queue, fingerprint deduplication, and why we track batch state in PostgreSQL ...
You can’t process Apple HealthKit data inline. Here’s why we needed Celery with SQS, how Redis fits in separately for caching, and the architecture that emer...
A visual deep-dive into running Celery workers as separate ECS containers — broker topology, task lifecycle, concurrency models, and the Beat scheduler gotcha.
Work period: 2025-2026 streaming LLM systems.
Work period: 2025-2026 production AI systems.
Work period: 2025-2026 production RAG systems.
Project period: 2025-2026 KiNDD AI/RAG build.
I have 268 markdown files in my Obsidian vault – internal docs, architecture decisions, API specs, meeting notes. Searching them with Obsidian’s built-in sea...
Work period: 2025-2026 production AI systems.
Project period: 2025-2026 KiNDD platform build.
Project period: 2025-2026 founder/engineer work.
Work period: 2025-2026 production RAG systems.
Project period: 2025-2026 KiNDD AI/RAG build.
Part 4 of building the AI assistant. This covers the most critical issue in health AI: preventing the model from making up data that doesn’t exist.
Part 3 of the series on building a women’s health AI assistant. This covers the system prompts, safety guardrails, and behavior control that make an AI agent...
This is the first in a series documenting how I built a women’s health AI assistant using AWS Strands SDK, Bedrock, and Django. The system handles personal h...
If you’re building multi-user AI agents with AWS Strands SDK, you’ll quickly hit a common problem: how do you bind tools to a specific user without passing u...
Work period: 2025-2026 production AI systems.
Work period: 2025-2026 production RAG systems.
Project period: 2025-2026 KiNDD AI/RAG build.
This is the first in a series documenting how I built a women’s health AI assistant using AWS Strands SDK, Bedrock, and Django. The system handles personal h...
One Docker image, two ECS services, an SQS queue with IAM auth, and the Django settings crash that blocks every first Celery deploy.
A chunk-based import pipeline with SQS, dispatcher tasks that chain through the queue, fingerprint deduplication, and why we track batch state in PostgreSQL ...
You can’t process Apple HealthKit data inline. Here’s why we needed Celery with SQS, how Redis fits in separately for caching, and the architecture that emer...
A visual deep-dive into running Celery workers as separate ECS containers — broker topology, task lifecycle, concurrency models, and the Beat scheduler gotcha.
How I replaced inline URL citations with a token-based reference system that separates machine semantics from user-visible text — and why the old approach wa...
This is the first in a series documenting how I built a women’s health AI assistant using AWS Strands SDK, Bedrock, and Django. The system handles personal h...
If you’re building multi-user AI agents with AWS Strands SDK, you’ll quickly hit a common problem: how do you bind tools to a specific user without passing u...
Work period: 2025-2026 streaming LLM systems.
How I replaced inline URL citations with a token-based reference system that separates machine semantics from user-visible text — and why the old approach wa...
This is the first in a series documenting how I built a women’s health AI assistant using AWS Strands SDK, Bedrock, and Django. The system handles personal h...
One Docker image, two ECS services, an SQS queue with IAM auth, and the Django settings crash that blocks every first Celery deploy.
You can’t process Apple HealthKit data inline. Here’s why we needed Celery with SQS, how Redis fits in separately for caching, and the architecture that emer...
A visual deep-dive into running Celery workers as separate ECS containers — broker topology, task lifecycle, concurrency models, and the Beat scheduler gotcha.
One Docker image, two ECS services, an SQS queue with IAM auth, and the Django settings crash that blocks every first Celery deploy.
A chunk-based import pipeline with SQS, dispatcher tasks that chain through the queue, fingerprint deduplication, and why we track batch state in PostgreSQL ...
You can’t process Apple HealthKit data inline. Here’s why we needed Celery with SQS, how Redis fits in separately for caching, and the architecture that emer...
One Docker image, two ECS services, an SQS queue with IAM auth, and the Django settings crash that blocks every first Celery deploy.
A chunk-based import pipeline with SQS, dispatcher tasks that chain through the queue, fingerprint deduplication, and why we track batch state in PostgreSQL ...
You can’t process Apple HealthKit data inline. Here’s why we needed Celery with SQS, how Redis fits in separately for caching, and the architecture that emer...
Project period: 2025-2026 KiNDD platform build.
Project period: 2025-2026 founder/engineer work.
Project period: 2025-2026 KiNDD AI/RAG build.
I have 268 markdown files in my Obsidian vault – internal docs, architecture decisions, API specs, meeting notes. Searching them with Obsidian’s built-in sea...
If you’re building multi-user AI agents with AWS Strands SDK, you’ll quickly hit a common problem: how do you bind tools to a specific user without passing u...
Project period: 2025-2026 KiNDD AI/RAG build.
Part 3 of the series on building a women’s health AI assistant. This covers the system prompts, safety guardrails, and behavior control that make an AI agent...
How I replaced inline URL citations with a token-based reference system that separates machine semantics from user-visible text — and why the old approach wa...
I have 268 markdown files in my Obsidian vault – internal docs, architecture decisions, API specs, meeting notes. Searching them with Obsidian’s built-in sea...
A chunk-based import pipeline with SQS, dispatcher tasks that chain through the queue, fingerprint deduplication, and why we track batch state in PostgreSQL ...
You can’t process Apple HealthKit data inline. Here’s why we needed Celery with SQS, how Redis fits in separately for caching, and the architecture that emer...
Work period: 2025-2026 streaming LLM systems.
How I replaced inline URL citations with a token-based reference system that separates machine semantics from user-visible text — and why the old approach wa...
Work period: 2025-2026 production AI systems.
Work period: 2025-2026 production RAG systems.
Project period: 2025-2026 KiNDD platform build.
Project period: 2025-2026 founder/engineer work.
Part 3 of the series on building a women’s health AI assistant. This covers the system prompts, safety guardrails, and behavior control that make an AI agent...
Part 3 of the series on building a women’s health AI assistant. This covers the system prompts, safety guardrails, and behavior control that make an AI agent...
Part 4 of building the AI assistant. This covers the most critical issue in health AI: preventing the model from making up data that doesn’t exist.
Part 4 of building the AI assistant. This covers the most critical issue in health AI: preventing the model from making up data that doesn’t exist.
I have 268 markdown files in my Obsidian vault – internal docs, architecture decisions, API specs, meeting notes. Searching them with Obsidian’s built-in sea...
I have 268 markdown files in my Obsidian vault – internal docs, architecture decisions, API specs, meeting notes. Searching them with Obsidian’s built-in sea...
I have 268 markdown files in my Obsidian vault – internal docs, architecture decisions, API specs, meeting notes. Searching them with Obsidian’s built-in sea...
I have 268 markdown files in my Obsidian vault – internal docs, architecture decisions, API specs, meeting notes. Searching them with Obsidian’s built-in sea...
I have 268 markdown files in my Obsidian vault – internal docs, architecture decisions, API specs, meeting notes. Searching them with Obsidian’s built-in sea...
A visual deep-dive into running Celery workers as separate ECS containers — broker topology, task lifecycle, concurrency models, and the Beat scheduler gotcha.
A chunk-based import pipeline with SQS, dispatcher tasks that chain through the queue, fingerprint deduplication, and why we track batch state in PostgreSQL ...
One Docker image, two ECS services, an SQS queue with IAM auth, and the Django settings crash that blocks every first Celery deploy.
How I replaced inline URL citations with a token-based reference system that separates machine semantics from user-visible text — and why the old approach wa...
Project period: 2025-2026 KiNDD AI/RAG build.
Project period: 2025-2026 KiNDD AI/RAG build.
Work period: 2025-2026 production RAG systems.
Work period: 2025-2026 production RAG systems.
Project period: 2025-2026 founder/engineer work.
Project period: 2025-2026 founder/engineer work.
Project period: 2025-2026 founder/engineer work.
Project period: 2025-2026 KiNDD platform build.
Project period: 2025-2026 KiNDD platform build.
Project period: 2025-2026 KiNDD platform build.
Work period: 2025-2026 production AI systems.
Work period: 2025-2026 production AI systems.
Work period: 2025-2026 streaming LLM systems.
Work period: 2025-2026 streaming LLM systems.