Deepthi's Reading

Clinical

Third Eye Vitals

007

The Vitals & Offline Monitoring Story

Capturing vitals even when the network is not there

PWA · Service Worker · IndexedDB · IoT sensors

Edition #007 · 6 chapters · 14 min read

The Vitals & Offline Monitoring Story

Capturing vitals even when the network is not there

Hospitals and community settings lose connectivity constantly. This explores capturing vitals offline and syncing them safely later, plus connected-device and sensor concepts: alerts, reliability, and monitoring built around the patient rather than the machine.

An ebook edition of the Vitals & Offline Monitoring build journey: how it started, what actually happened, the conversations that changed the build, what broke, and what I learned. Written in plain English for readers with no technical background. Tools covered: PWA, Service Worker, IndexedDB, IoT sensors, Cloudflare D1, Drizzle.

Start here

What you'll understand by the end

Not mastery — understanding. By the last page you'll be able to explain these in your own words, even with no technical background.

  • what IndexedDB really is, and what it cannot do
  • what IoT sensors really is, and what it cannot do
  • what PWA really is, and what it cannot do
  • what Service Worker really is, and what it cannot do
  • the difference between what the AI does, what the tool does, and what I do
  • why permissions and privacy matter once AI can act on your behalf
  • where a real person's judgement is still necessary

The concept ladder — the order I actually learned things

I had an idea worth building
I asked an AI to help me shape it
I learned the AI could explain things but could not act outside the chat by itself
I met the tools that actually do the work
I learned how those tools are connected and permitted
I built something real and watched it break
I learned where my own judgement is still required

Chapter 01

Why Vitals & Offline Monitoring had to exist

Track 1 · My journey

The internet drops exactly when you need to record a vital sign. So I built for the drop, not around it. Hospitals and community settings lose connectivity constantly. This explores capturing vitals offline and syncing them safely later, plus connected-device and sensor concepts: alerts, reliability, and monitoring built around the patient rather than the machine. The honest test I set myself was simple: if this existed tomorrow, would anyone actually open it twice? Everything in the rest of this book is downstream of that one question. Vitals & Offline Monitoring is what came out the other side.

Learning checkpoint

Before this chapter

I had a problem I could describe in a corridor conversation, but nothing I could hand to anyone.

After this chapter

I still did not know which tools to use, but I knew exactly who I was building for.

What changed my mind

The problem stopped being a complaint and became a specification.

Can you answer these?

  • ?Can you state the problem in one sentence, without naming a solution?
  • ?Do you know who is holding the screen when your product is used?

Chapter 02

The first conversation

Track 1 · My journey

I did not start with code. I started by describing the thing out loud, in ordinary language, the way I would explain it to a colleague. The build tool answered with a working screen, and that changed the conversation from theory to critique — it is much easier to say what is wrong with something in front of you than to specify it from nothing. These were the exchanges that actually moved the build: Me: "It must record with no internet." → Service worker plus IndexedDB, then sync on reconnect. Me: "What happens if the same reading syncs twice?" → We designed for conflicts before they happened. Me: "Show the nurse what is not yet synced." → Trust needs visible state, not silent magic. Each of those lines looks small. Together they are the design document. I have stopped writing long specifications; the transcript is the specification.

Learning checkpoint

Before this chapter

A blank project and a chat window.

After this chapter

The shape of the product was decided before a single deliberate design decision was made.

What changed my mind

I learned to treat conversation as a design tool, not as preparation for design.

Can you answer these?

  • ?What is the one sentence in your own notes that decided the architecture?
  • ?Are you describing outcomes, or dictating implementation?

Chapter 03

Building it: PWA, Service Worker, IndexedDB, IoT sensors, Cloudflare D1, Drizzle

Track 1 · My journey

Offline-first sounded advanced until I saw the parts: a service worker to keep the app alive without a network, IndexedDB to hold entries on the device, and a sync routine to push them up when the signal comes back. Adding sensor readings raised the question of trust — a number from a device still needs a human to confirm it makes sense. This project taught me more about how the web actually works than any tutorial did, because every concept arrived attached to a problem I already had. The stack was PWA, Service Worker, IndexedDB, IoT sensors, Cloudflare D1, Drizzle. I did not choose it for elegance; I chose it because it let me get a real, usable thing in front of a real person quickly, and because I could change my mind cheaply when the first idea turned out to be wrong. The rhythm mattered more than the tooling. Ship something small, use it honestly, fix the one thing that hurt most, repeat. Most of the good decisions in Vitals & Offline Monitoring came from that loop rather than from planning.

Track 2 · Learn with Deepthi

PWA

EXPLORED — I researched or discussed it
What did I just discover?
That PWA was doing more of the work in this build than I gave it credit for.
What I thought it meant
I assumed it was a technical detail I could pick up later.
What I learned
It shaped what was easy and what was expensive, and therefore what the product became.
What is it, really?
PWA is one of the pieces this build rests on — it is worth understanding what it makes cheap and what it makes hard before you commit to it.
Think of it like this (analogy)
A workshop tool: it does not decide what you make, but it strongly influences what you find yourself making.
How does it actually work?
In simple terms: I give PWA an input, it does one well-defined job with it, and it hands back a result the rest of the project can use.
Why does this exist?
PWA exists to solve a specific, repetitive problem so that people building things do not have to solve it again from scratch every time.
Why did it matter to my project?
Because the constraints of your tools quietly become the constraints of your product.
Where I used it
Used throughout Vitals & Offline Monitoring, especially while getting the first working screens in front of people.
Common beginner misunderstanding
A common beginner assumption is that adding PWA automatically makes a project better. A tool only helps when it matches the problem you actually have.
What this tool cannot do
PWA does one job well and nothing outside that job. It cannot decide what your product should be, and it will not protect you from a wrong requirement.
What surprised me
How much of the design pressure came from the tool rather than from the problem.

What happens behind the scenes

What the AI is doing

The AI model reads my instruction, decides how PWA fits, and writes or explains the part that uses it.

What the tool is doing

PWA performs its own specific job — the AI does not do that work itself, it only directs it.

What I am doing

I decide whether PWA is the right choice, approve it, and judge whether the outcome is actually what my readers need.

One thing to remember

Remember this

Choose tools by what they make cheap to change, not by what they make possible.

Try it yourself

Rebuild one screen of your own project with PWA and time it honestly.

Accuracy note: product behaviour checked on 2026-08-15. General concepts are stable; product-specific behaviour can change.

Track 2 · Learn with Deepthi

Service Worker

EXPLORED — I researched or discussed it
What did I just discover?
That Service Worker was doing more of the work in this build than I gave it credit for.
What I thought it meant
I assumed it was a technical detail I could pick up later.
What I learned
It shaped what was easy and what was expensive, and therefore what the product became.
What is it, really?
Service Worker is one of the pieces this build rests on — it is worth understanding what it makes cheap and what it makes hard before you commit to it.
Think of it like this (analogy)
A workshop tool: it does not decide what you make, but it strongly influences what you find yourself making.
How does it actually work?
In simple terms: I give Service Worker an input, it does one well-defined job with it, and it hands back a result the rest of the project can use.
Why does this exist?
Service Worker exists to solve a specific, repetitive problem so that people building things do not have to solve it again from scratch every time.
Why did it matter to my project?
Because the constraints of your tools quietly become the constraints of your product.
Where I used it
Used throughout Vitals & Offline Monitoring, especially while getting the first working screens in front of people.
Common beginner misunderstanding
A common beginner assumption is that adding Service Worker automatically makes a project better. A tool only helps when it matches the problem you actually have.
What this tool cannot do
Service Worker does one job well and nothing outside that job. It cannot decide what your product should be, and it will not protect you from a wrong requirement.
What surprised me
How much of the design pressure came from the tool rather than from the problem.

What happens behind the scenes

What the AI is doing

The AI model reads my instruction, decides how Service Worker fits, and writes or explains the part that uses it.

What the tool is doing

Service Worker performs its own specific job — the AI does not do that work itself, it only directs it.

What I am doing

I decide whether Service Worker is the right choice, approve it, and judge whether the outcome is actually what my readers need.

One thing to remember

Remember this

Choose tools by what they make cheap to change, not by what they make possible.

Try it yourself

Rebuild one screen of your own project with Service Worker and time it honestly.

Accuracy note: product behaviour checked on 2026-08-15. General concepts are stable; product-specific behaviour can change.

Track 2 · Learn with Deepthi

IndexedDB

EXPLORED — I researched or discussed it
What did I just discover?
That IndexedDB was doing more of the work in this build than I gave it credit for.
What I thought it meant
I assumed it was a technical detail I could pick up later.
What I learned
It shaped what was easy and what was expensive, and therefore what the product became.
What is it, really?
IndexedDB is one of the pieces this build rests on — it is worth understanding what it makes cheap and what it makes hard before you commit to it.
Think of it like this (analogy)
A workshop tool: it does not decide what you make, but it strongly influences what you find yourself making.
How does it actually work?
In simple terms: I give IndexedDB an input, it does one well-defined job with it, and it hands back a result the rest of the project can use.
Why does this exist?
IndexedDB exists to solve a specific, repetitive problem so that people building things do not have to solve it again from scratch every time.
Why did it matter to my project?
Because the constraints of your tools quietly become the constraints of your product.
Where I used it
Used throughout Vitals & Offline Monitoring, especially while getting the first working screens in front of people.
Common beginner misunderstanding
A common beginner assumption is that adding IndexedDB automatically makes a project better. A tool only helps when it matches the problem you actually have.
What this tool cannot do
IndexedDB does one job well and nothing outside that job. It cannot decide what your product should be, and it will not protect you from a wrong requirement.
What surprised me
How much of the design pressure came from the tool rather than from the problem.

What happens behind the scenes

What the AI is doing

The AI model reads my instruction, decides how IndexedDB fits, and writes or explains the part that uses it.

What the tool is doing

IndexedDB performs its own specific job — the AI does not do that work itself, it only directs it.

What I am doing

I decide whether IndexedDB is the right choice, approve it, and judge whether the outcome is actually what my readers need.

One thing to remember

Remember this

Choose tools by what they make cheap to change, not by what they make possible.

Try it yourself

Rebuild one screen of your own project with IndexedDB and time it honestly.

Accuracy note: product behaviour checked on 2026-08-15. General concepts are stable; product-specific behaviour can change.

Track 2 · Learn with Deepthi

IoT sensors

EXPLORED — I researched or discussed it
What did I just discover?
That IoT sensors was doing more of the work in this build than I gave it credit for.
What I thought it meant
I assumed it was a technical detail I could pick up later.
What I learned
It shaped what was easy and what was expensive, and therefore what the product became.
What is it, really?
IoT sensors is one of the pieces this build rests on — it is worth understanding what it makes cheap and what it makes hard before you commit to it.
Think of it like this (analogy)
A workshop tool: it does not decide what you make, but it strongly influences what you find yourself making.
How does it actually work?
In simple terms: I give IoT sensors an input, it does one well-defined job with it, and it hands back a result the rest of the project can use.
Why does this exist?
IoT sensors exists to solve a specific, repetitive problem so that people building things do not have to solve it again from scratch every time.
Why did it matter to my project?
Because the constraints of your tools quietly become the constraints of your product.
Where I used it
Used throughout Vitals & Offline Monitoring, especially while getting the first working screens in front of people.
Common beginner misunderstanding
A common beginner assumption is that adding IoT sensors automatically makes a project better. A tool only helps when it matches the problem you actually have.
What this tool cannot do
IoT sensors does one job well and nothing outside that job. It cannot decide what your product should be, and it will not protect you from a wrong requirement.
What surprised me
How much of the design pressure came from the tool rather than from the problem.

What happens behind the scenes

What the AI is doing

The AI model reads my instruction, decides how IoT sensors fits, and writes or explains the part that uses it.

What the tool is doing

IoT sensors performs its own specific job — the AI does not do that work itself, it only directs it.

What I am doing

I decide whether IoT sensors is the right choice, approve it, and judge whether the outcome is actually what my readers need.

One thing to remember

Remember this

Choose tools by what they make cheap to change, not by what they make possible.

Try it yourself

Rebuild one screen of your own project with IoT sensors and time it honestly.

Accuracy note: product behaviour checked on 2026-08-15. General concepts are stable; product-specific behaviour can change.

Learning checkpoint

Before this chapter

I had screens in my head and a stack I had not yet justified.

After this chapter

A working product, and a much shorter list of things I believed without evidence.

What changed my mind

The stack became a means, not an identity.

Can you answer these?

  • ?Could you rebuild your first screen in an afternoon if you had to?
  • ?Which tool are you using out of habit rather than fit?

Chapter 04

What broke

Track 1 · My journey

Early sync produced duplicate readings when connectivity flickered. Fixing it forced me to learn what a conflict strategy is. Breakage is the most useful part of the process because it is unambiguous. A feature nobody uses is a feature that failed, no matter how well it is built. So I cut, simplified, and made the default path shorter until the product stopped resisting the person using it. I keep this chapter in every book deliberately. The polished version of a build story is not useful to anyone; the failure is where the transferable lesson lives.

Learning checkpoint

Before this chapter

Something that worked in the demo and failed in real life.

After this chapter

A smaller, blunter, considerably more useful product.

What changed my mind

I stopped defending the first version and started measuring it.

Can you answer these?

  • ?What in your build is complete but unused?
  • ?What would you cut if you had to halve the time it takes to use?

Chapter 05

What actually changed

Track 1 · My journey

The point of Vitals & Offline Monitoring was never the software. It was the change in behaviour around it: fewer things forgotten, less guessing, a clearer handover between the people involved. Capturing vitals even when the network is not there What I watch for now is whether the thing gets opened a second time, without being asked. Second use is the only honest metric I have found at this scale. Everything else is a story I tell myself. The status of this build: in_progress. That is stated plainly on purpose — unfinished work teaches as much as shipped work, and pretending otherwise makes these books useless.

Learning checkpoint

Before this chapter

A product that worked, and no clear evidence that it mattered.

After this chapter

A clear-eyed view of what the product does and does not fix.

What changed my mind

Success stopped meaning "it is built" and started meaning "it is used".

Can you answer these?

  • ?What behaviour changed because your product exists?
  • ?Would anyone notice if it disappeared tomorrow?

Chapter 06

What I would tell you before you start

Track 1 · My journey

Offline is not a feature you add at the end; it is a decision you make at the beginning. And every reading needs a human sanity check. Three things I would repeat on the next build: 1. Describe the problem before naming a tool. The tool is the last decision, not the first. 2. Get something usable in front of a real person within a day. Opinions about a screenshot are worth more than opinions about a plan. 3. Keep a record of the conversation. The transcript is the design history, the documentation and — as this book proves — the product. If you take one thing from Vitals & Offline Monitoring: the difference between an idea and a product is a short loop, run honestly, many times.

Learning checkpoint

Before this chapter

You have read what happened. Here is what to take with you.

After this chapter

A method you can reuse on a completely different problem.

What changed my mind

The build became repeatable rather than lucky.

Can you answer these?

  • ?What is your version of the short loop?
  • ?What will you ship this week, even if it is embarrassing?

Appendix

Deepthi's Dictionary

Short loop
Describe, build, use, correct — repeated in hours rather than weeks. The core working method behind this build.
Second use
Whether someone opens the product a second time without being asked. The simplest honest measure of whether it works.
Conversation beat
A single line in a build conversation that changed a decision. Collected, these form the real design document.
Worst day design
Designing for the tired, rushed, distracted user rather than the ideal one in a demo.
PWA
PWA — part of the stack used to build Vitals & Offline Monitoring.
Service Worker
Service Worker — part of the stack used to build Vitals & Offline Monitoring.
IndexedDB
IndexedDB — part of the stack used to build Vitals & Offline Monitoring.
IoT sensors
IoT sensors — part of the stack used to build Vitals & Offline Monitoring.
Cloudflare D1
Cloudflare D1 — part of the stack used to build Vitals & Offline Monitoring.
Drizzle
Drizzle — part of the stack used to build Vitals & Offline Monitoring.