<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Abhishek Kumar</title>
    <description>The latest articles on DEV Community by Abhishek Kumar (@abhishek764).</description>
    <link>https://dev.to/abhishek764</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2908053%2F6319e5d4-07ab-4319-b1c2-fa4b377a89b6.png</url>
      <title>DEV Community: Abhishek Kumar</title>
      <link>https://dev.to/abhishek764</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/abhishek764"/>
    <language>en</language>
    <item>
      <title>BOOH: The 3 AM App I Wish Every New Parent Had</title>
      <dc:creator>Abhishek Kumar</dc:creator>
      <pubDate>Sun, 04 Oct 2026 20:13:55 +0000</pubDate>
      <link>https://dev.to/abhishek764/booh-the-3-am-app-i-wish-every-new-parent-had-4m32</link>
      <guid>https://dev.to/abhishek764/booh-the-3-am-app-i-wish-every-new-parent-had-4m32</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-weekend-2026-10-01"&gt;Hacktoberfest Weekend Challenge: Build for a Friend&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;There is a special kind of tiredness that only exists at 3 AM.&lt;/p&gt;

&lt;p&gt;You're awake.&lt;br&gt;
The baby just fell asleep.&lt;br&gt;
You finally put your phone down.&lt;/p&gt;

&lt;p&gt;And then the question appears:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“How long do I have before the next wake-up?”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I built &lt;strong&gt;BOOH&lt;/strong&gt; around that question.&lt;/p&gt;

&lt;p&gt;BOOH is a privacy-conscious nighttime dashboard designed for a new parent who doesn't need another complicated parenting app. They need one simple answer:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“How much sleep time do I probably have?”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Instead of showing endless charts and statistics, BOOH looks at the baby's previous sleep, feeding, and wake patterns and estimates:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;expected sleep duration&lt;/li&gt;
&lt;li&gt;probability of waking within the next 60 minutes&lt;/li&gt;
&lt;li&gt;the usual sleep duration from the recent baseline&lt;/li&gt;
&lt;li&gt;a short, calm explanation of the prediction&lt;/li&gt;
&lt;li&gt;an optional voice version for those moments when even reading feels like too much work&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea came from thinking about a friend who was going through the exhausting reality of caring for a newborn.&lt;/p&gt;

&lt;p&gt;I didn't want to build another generic AI chatbot.&lt;/p&gt;

&lt;p&gt;I wanted to build something that could be useful when someone is &lt;strong&gt;too tired to use an app&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;That's BOOH.&lt;/p&gt;


&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;p&gt;🚧 &lt;strong&gt;Live Demo:&lt;/strong&gt; Coming soon&lt;/p&gt;

&lt;p&gt;🎥 &lt;strong&gt;Video Demo:&lt;/strong&gt; Coming soon&lt;/p&gt;

&lt;p&gt;The final demo will show the complete journey:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Login
  ↓
Choose Baby
  ↓
Import Sleep History
  ↓
Analyze Pattern
  ↓
Get Prediction
  ↓
See "How Long Do I Have?"
  ↓
Listen to the Summary
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;The project is open source because I want people to be able to understand exactly how the prediction is being made and what happens to their data.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub:&lt;/strong&gt; &lt;a href="https://github.com/Abhishek764/booh" rel="noopener noreferrer"&gt;BOOH Repository&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The project is being built with a strong separation between:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;User Data
     ↓
Feature Engineering
     ↓
Prediction Model
     ↓
Prediction
     ↓
AI Summary
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The language model is deliberately &lt;strong&gt;not&lt;/strong&gt; responsible for making the numerical prediction.&lt;/p&gt;

&lt;p&gt;That distinction matters.&lt;/p&gt;




&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;The interesting part of BOOH isn't simply that it uses AI.&lt;/p&gt;

&lt;p&gt;It's &lt;strong&gt;how the AI is used&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The architecture combines several open-source technologies:&lt;/p&gt;

&lt;h3&gt;
  
  
  🧠 TabPFN — Prediction
&lt;/h3&gt;

&lt;p&gt;BOOH uses &lt;strong&gt;TabPFN&lt;/strong&gt; for the numerical prediction layer.&lt;/p&gt;

&lt;p&gt;The model works with structured features extracted from the baby's history, such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;recent sleep duration&lt;/li&gt;
&lt;li&gt;time since the last feed&lt;/li&gt;
&lt;li&gt;recent wake intervals&lt;/li&gt;
&lt;li&gt;rolling sleep totals&lt;/li&gt;
&lt;li&gt;time of day&lt;/li&gt;
&lt;li&gt;day/night patterns&lt;/li&gt;
&lt;li&gt;recent event counts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Alongside TabPFN, BOOH keeps a simple &lt;strong&gt;last-7-day baseline&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This gives us something important:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI prediction vs. a simple baseline.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I don't want the app to say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“AI says 47 minutes.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;and expect everyone to trust it.&lt;/p&gt;

&lt;p&gt;I want to know whether the model is actually doing better than something simple.&lt;/p&gt;

&lt;p&gt;So BOOH evaluates the prediction using metrics such as &lt;strong&gt;MAE&lt;/strong&gt; and &lt;strong&gt;Brier score&lt;/strong&gt; on held-out recent data.&lt;/p&gt;




&lt;h3&gt;
  
  
  🤖 Gemma — Explanation, Not Prediction
&lt;/h3&gt;

&lt;p&gt;The language model has a very specific job.&lt;/p&gt;

&lt;p&gt;It doesn't decide when the baby will wake up.&lt;/p&gt;

&lt;p&gt;It receives structured prediction results and turns them into a short, human-friendly explanation.&lt;/p&gt;

&lt;p&gt;For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You may have around 45 minutes before the next wake-up. The recent pattern suggests a moderate chance of waking within the next hour.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The model is restricted to short summaries.&lt;/p&gt;

&lt;p&gt;It doesn't receive the entire baby history unnecessarily.&lt;/p&gt;

&lt;p&gt;It isn't allowed to diagnose medical conditions, recommend medication, or invent information.&lt;/p&gt;

&lt;p&gt;If the model fails, BOOH falls back to a deterministic summary.&lt;/p&gt;




&lt;h3&gt;
  
  
  🔊 ElevenLabs — When Reading Is Too Much
&lt;/h3&gt;

&lt;p&gt;At 3 AM, even reading a screen can feel like work.&lt;/p&gt;

&lt;p&gt;So BOOH can turn the summary into a short audio message.&lt;/p&gt;

&lt;p&gt;The voice layer is optional and can be disabled completely for offline development.&lt;/p&gt;

&lt;p&gt;The frontend never receives the ElevenLabs API key.&lt;/p&gt;




&lt;h3&gt;
  
  
  📊 Huckleberry Import
&lt;/h3&gt;

&lt;p&gt;BOOH can import existing baby-tracking data through a CSV workflow.&lt;/p&gt;

&lt;p&gt;Instead of scraping or depending on a private service, the importer converts the exported data into BOOH's own normalized event format.&lt;/p&gt;

&lt;p&gt;That means the system can work with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Sleep
Feed
Wake
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;rather than tying the prediction engine directly to one application's internal format.&lt;/p&gt;




&lt;h3&gt;
  
  
  🐳 Production Architecture
&lt;/h3&gt;

&lt;p&gt;The application is designed as a real full-stack system rather than a notebook demo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Next.js
   ↓
FastAPI
   ↓
PostgreSQL
   ↓
Feature Engineering
   ↓
TabPFN
   ↓
Prediction
   ↓
Gemma
   ↓
ElevenLabs
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Authentication uses Google OAuth.&lt;/p&gt;

&lt;p&gt;The application is containerized with Docker and designed for deployment on Render.&lt;/p&gt;




&lt;h2&gt;
  
  
  Privacy Was a Design Requirement
&lt;/h2&gt;

&lt;p&gt;Baby data is sensitive.&lt;/p&gt;

&lt;p&gt;So one of my rules while building BOOH was:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Just because AI can see something doesn't mean AI should see it.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The numerical prediction operates on structured features.&lt;/p&gt;

&lt;p&gt;Gemma does not need the baby's entire sleep history.&lt;/p&gt;

&lt;p&gt;The system also enforces ownership checks so one authenticated user cannot access another user's baby data.&lt;/p&gt;

&lt;p&gt;Secrets such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;OAuth credentials&lt;/li&gt;
&lt;li&gt;database credentials&lt;/li&gt;
&lt;li&gt;AI API keys&lt;/li&gt;
&lt;li&gt;TTS credentials&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;are never supposed to be committed to Git.&lt;/p&gt;

&lt;p&gt;Security checks are part of the development workflow rather than something I want to remember at the end.&lt;/p&gt;




&lt;h1&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h1&gt;

&lt;p&gt;This is probably the most important part of the project for me.&lt;/p&gt;

&lt;p&gt;I could have built BOOH as:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Baby data
   ↓
Send everything to a closed AI API
   ↓
"AI prediction"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That would have been much easier.&lt;/p&gt;

&lt;p&gt;But it would also make it harder to understand what is happening to the data and harder to experiment with the actual prediction system.&lt;/p&gt;

&lt;p&gt;Open innovation gives me the ability to separate the problem into pieces.&lt;/p&gt;

&lt;p&gt;I can choose:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TabPFN&lt;/strong&gt; for structured prediction.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gemma&lt;/strong&gt; for language generation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FastAPI&lt;/strong&gt; for the backend.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PostgreSQL&lt;/strong&gt; for persistence.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next.js&lt;/strong&gt; for the interface.&lt;/p&gt;

&lt;p&gt;And potentially replace any individual component later.&lt;/p&gt;

&lt;p&gt;That is powerful.&lt;/p&gt;

&lt;p&gt;If a better open model appears tomorrow, I don't have to rebuild BOOH from scratch.&lt;/p&gt;

&lt;p&gt;I can swap the model.&lt;/p&gt;

&lt;p&gt;If I want to run inference locally, I can.&lt;/p&gt;

&lt;p&gt;If I want researchers or developers to inspect the feature engineering, they can.&lt;/p&gt;

&lt;p&gt;If I discover that the model isn't better than the baseline, I can show that too.&lt;/p&gt;

&lt;p&gt;That's what I like about open innovation:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;the system becomes something people can inspect, question, improve, and replace.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For a project dealing with something as personal as a baby's routine, that transparency matters even more.&lt;/p&gt;




&lt;h2&gt;
  
  
  My Agent Session
&lt;/h2&gt;

&lt;p&gt;BOOH is also an experiment in &lt;strong&gt;AI-assisted software engineering&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I'm building the project using multiple coding agents with an orchestration and loop-engineering workflow.&lt;/p&gt;

&lt;p&gt;Instead of asking one AI agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Build the entire application.”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I'm breaking the project into independent engineering tasks.&lt;/p&gt;

&lt;p&gt;For example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;                    BOOH Orchestrator
                           │
        ┌──────────────────┼──────────────────┐
        ↓                  ↓                  ↓
     Backend            Frontend             ML
        ↓                  ↓                  ↓
      Data                LLM              DevOps
        └──────────────────┬──────────────────┘
                           ↓
                       Integration
                           ↓
                        Security
                           ↓
                           QA
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Each agent has a defined responsibility.&lt;/p&gt;

&lt;p&gt;The development loop is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PLAN
 ↓
IMPLEMENT
 ↓
TEST
 ↓
SECURITY REVIEW
 ↓
REVIEW DIFF
 ↓
UPDATE CONTEXT
 ↓
COMMIT
 ↓
INTEGRATE
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I also keep a persistent &lt;code&gt;CONTEXT.md&lt;/code&gt; so that when I return to the project in a new AI session, the next agent doesn't have to rediscover the entire project.&lt;/p&gt;

&lt;p&gt;Every logical task gets its own Git commit.&lt;/p&gt;

&lt;p&gt;That makes the AI-assisted development process much easier to inspect and recover.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Part I'm Most Proud Of
&lt;/h2&gt;

&lt;p&gt;BOOH isn't trying to predict everything about a baby.&lt;/p&gt;

&lt;p&gt;It's trying to answer &lt;strong&gt;one small question at an incredibly difficult moment&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;You don't need a giant dashboard at 3:00 AM.&lt;/p&gt;

&lt;p&gt;You don't need 15 graphs.&lt;/p&gt;

&lt;p&gt;You don't need an AI that talks for five minutes.&lt;/p&gt;

&lt;p&gt;You need:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;“You probably have about 45 minutes.”&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And maybe, if you're lucky:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;45 minutes of sleep.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's BOOH.&lt;/p&gt;




&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;p&gt;I'm entering BOOH for the partner categories that fit the technologies used in the project.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Open-source AI / open innovation&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI / agentic development&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Developer tooling / open-source software&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;[Add applicable partner category here]&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  What's Next?
&lt;/h2&gt;

&lt;p&gt;The current goal is to take BOOH from a hackathon prototype into something that could actually be useful.&lt;/p&gt;

&lt;p&gt;Next steps include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;improving prediction quality&lt;/li&gt;
&lt;li&gt;collecting better evaluation data&lt;/li&gt;
&lt;li&gt;expanding manual event logging&lt;/li&gt;
&lt;li&gt;improving the nighttime UX&lt;/li&gt;
&lt;li&gt;local/offline inference options&lt;/li&gt;
&lt;li&gt;better model comparison&lt;/li&gt;
&lt;li&gt;stronger privacy controls&lt;/li&gt;
&lt;li&gt;production deployment&lt;/li&gt;
&lt;li&gt;making the project easier for contributors to understand&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Because ultimately, I don't want BOOH to be something I built once for a weekend.&lt;/p&gt;

&lt;p&gt;I want it to become something that another tired parent can open at 3 AM and immediately understand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;“Okay. I probably have 45 minutes.”&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Now go get some sleep. 🌙&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>weekendchallenge</category>
      <category>hf26challenge</category>
    </item>
  </channel>
</rss>
