<?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: Josh Cox</title>
    <description>The latest articles on DEV Community by Josh Cox (@hightech89).</description>
    <link>https://dev.to/hightech89</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1471184%2Fa810060e-cfbc-4cde-bdbf-640cf2c8ce9e.png</url>
      <title>DEV Community: Josh Cox</title>
      <link>https://dev.to/hightech89</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hightech89"/>
    <language>en</language>
    <item>
      <title>From a Gemma 4 Challenge Project to a Manufacturing Assistant App</title>
      <dc:creator>Josh Cox</dc:creator>
      <pubDate>Sat, 06 Jun 2026 19:43:55 +0000</pubDate>
      <link>https://dev.to/hightech89/from-a-gemma-4-challenge-project-to-a-manufacturing-assistant-app-3j6j</link>
      <guid>https://dev.to/hightech89/from-a-gemma-4-challenge-project-to-a-manufacturing-assistant-app-3j6j</guid>
      <description>&lt;p&gt;When I entered the Gemma 4 Developer Challenge, my goal was simple: build something useful, learn some new skills, and finish a project I could be proud of.&lt;/p&gt;

&lt;p&gt;I didn't expect it to turn into something I might actually get to present at work.&lt;/p&gt;

&lt;p&gt;For some background, I work in manufacturing. I've spent years operating equipment, troubleshooting problems, and watching experienced operators solve issues that newer employees often struggle with. A lot of that knowledge exists only through experience.&lt;/p&gt;

&lt;p&gt;When I started thinking about ideas for the challenge, I kept coming back to a simple question:&lt;/p&gt;

&lt;p&gt;What if there was an AI-powered assistant that could help operators troubleshoot issues, learn faster, and access information when they needed it?&lt;/p&gt;

&lt;p&gt;That question became a prototype.&lt;/p&gt;

&lt;p&gt;Over the past few weeks I've been building a manufacturing-focused troubleshooting assistant that allows users to describe an issue and receive structured guidance, troubleshooting suggestions, safety reminders, and recommended next steps.&lt;/p&gt;

&lt;p&gt;The project started as a coding challenge entry, but something interesting happened along the way.&lt;/p&gt;

&lt;p&gt;I mentioned the project to my operations manager. He thought it was interesting enough that he immediately reached out to our site's Learning &amp;amp; Development leader. Not long after, I received an invitation to meet and discuss the idea.&lt;/p&gt;

&lt;p&gt;As someone trying to transition into tech while still working in manufacturing, that was a pretty surreal moment.&lt;/p&gt;

&lt;p&gt;I have no expectations going into the meeting. It may simply be a conversation about ideas and possibilities. But regardless of what happens, this experience has already reinforced something important:&lt;/p&gt;

&lt;p&gt;Sometimes the best project ideas come from problems you see every day.&lt;/p&gt;

&lt;p&gt;Whether this prototype goes anywhere or not, it's been an incredible learning experience in AI integration, full stack development, user experience design, and building software around a real-world problem instead of an imaginary one.&lt;/p&gt;

&lt;p&gt;I'll share an update after the meeting and let everyone know how it goes.&lt;/p&gt;

&lt;p&gt;Have you ever built a side project that unexpectedly attracted attention from your employer or industry? I'd love to hear those stories&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devchallenge</category>
      <category>llm</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Failure Friday: MySpace and Why Being First Isn't Enough</title>
      <dc:creator>Josh Cox</dc:creator>
      <pubDate>Fri, 05 Jun 2026 15:17:52 +0000</pubDate>
      <link>https://dev.to/hightech89/failure-friday-myspace-and-why-being-first-isnt-enough-7pb</link>
      <guid>https://dev.to/hightech89/failure-friday-myspace-and-why-being-first-isnt-enough-7pb</guid>
      <description>&lt;p&gt;When people talk about startup success, they often focus on being first.&lt;/p&gt;

&lt;p&gt;MySpace is a great example of why being first is not enough.&lt;/p&gt;

&lt;p&gt;At its peak, MySpace was the largest social network in the world. It dominated social media, attracted millions of users, and became one of the most recognizable websites on the internet.&lt;/p&gt;

&lt;p&gt;In 2005, News Corp acquired MySpace for $580 million.&lt;/p&gt;

&lt;p&gt;Just six years later, it was sold for approximately $35 million.&lt;/p&gt;

&lt;p&gt;So what happened?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Market Didn't Disappear&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;One of the most interesting things about MySpace is that social networking itself didn't fail.&lt;/p&gt;

&lt;p&gt;In fact, social media became one of the largest industries on the internet.&lt;/p&gt;

&lt;p&gt;The demand was real.&lt;/p&gt;

&lt;p&gt;The market continued growing.&lt;/p&gt;

&lt;p&gt;The opportunity got bigger.&lt;/p&gt;

&lt;p&gt;The problem was that competitors adapted faster.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User Experience Matters&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While Facebook focused on simplicity, speed, and consistency, MySpace became increasingly cluttered.&lt;/p&gt;

&lt;p&gt;Users could heavily customize their profiles, which sounded great in theory, but often resulted in pages filled with autoplay music, flashing graphics, and inconsistent layouts.&lt;/p&gt;

&lt;p&gt;The platform became harder to use while competitors were becoming easier.&lt;/p&gt;

&lt;p&gt;Over time, users voted with their feet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Network Effects Are Powerful—Until They Aren't&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;People often think network effects create an unbeatable moat.&lt;/p&gt;

&lt;p&gt;MySpace proves that isn't always true.&lt;/p&gt;

&lt;p&gt;Network effects help when users are happy.&lt;/p&gt;

&lt;p&gt;But if a competitor offers a noticeably better experience, even a massive user base can begin to migrate elsewhere.&lt;/p&gt;

&lt;p&gt;Once that migration starts, network effects can work against the incumbent instead of protecting it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Lesson&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Being first is an advantage.&lt;/p&gt;

&lt;p&gt;It is not a guarantee.&lt;/p&gt;

&lt;p&gt;Markets change.&lt;/p&gt;

&lt;p&gt;Customer expectations change.&lt;/p&gt;

&lt;p&gt;Competitors improve.&lt;/p&gt;

&lt;p&gt;The companies that survive are usually the ones that keep improving even after they become market leaders.&lt;/p&gt;

&lt;p&gt;MySpace didn't lose because social networking was a bad idea.&lt;/p&gt;

&lt;p&gt;It lost because someone else executed the idea better.&lt;/p&gt;

&lt;p&gt;Why I Study Startup Failures&lt;/p&gt;

&lt;p&gt;I'm building Startup Graveyard, a web app that documents failed startups and the lessons founders can learn from them.&lt;/p&gt;

&lt;p&gt;The goal isn't to make fun of companies that shut down.&lt;/p&gt;

&lt;p&gt;The goal is to study the patterns behind failure so builders can avoid making the same mistakes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.startupgraveyard.co" rel="noopener noreferrer"&gt;https://www.startupgraveyard.co&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What startup failure do you think offers the most valuable lesson?&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>product</category>
      <category>socialmedia</category>
      <category>startup</category>
    </item>
    <item>
      <title>Ops Assist: AI-Powered Manufacturing Troubleshooting with Gemma 4</title>
      <dc:creator>Josh Cox</dc:creator>
      <pubDate>Mon, 25 May 2026 04:05:35 +0000</pubDate>
      <link>https://dev.to/hightech89/ops-assist-ai-powered-manufacturing-troubleshooting-with-gemma-4-59jj</link>
      <guid>https://dev.to/hightech89/ops-assist-ai-powered-manufacturing-troubleshooting-with-gemma-4-59jj</guid>
      <description>&lt;p&gt;This is a submission for the Gemma 4 Challenge: Build with Gemma 4&lt;/p&gt;

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

&lt;p&gt;I built Ops Assist, an AI-powered manufacturing troubleshooting assistant designed for factory operators and industrial troubleshooting workflows.&lt;/p&gt;

&lt;p&gt;The idea came from working in manufacturing environments where troubleshooting systems are often static, difficult to search, and unable to adapt to unusual combinations of symptoms or operator descriptions.&lt;/p&gt;

&lt;p&gt;Traditional troubleshooting systems typically work like rigid decision trees:&lt;/p&gt;

&lt;p&gt;Select department&lt;br&gt;
Select machine&lt;br&gt;
Select issue&lt;br&gt;
Follow a predefined guide&lt;/p&gt;

&lt;p&gt;That works for known/common failures, but real-world manufacturing issues are rarely that clean.&lt;/p&gt;

&lt;p&gt;Operators usually describe problems in natural language:&lt;/p&gt;

&lt;p&gt;“The conveyor only drifts after restarting.”&lt;/p&gt;

&lt;p&gt;“The vacuum gripper randomly drops cartons during high-speed cycles.”&lt;/p&gt;

&lt;p&gt;“The fault clears itself sometimes but comes back under load.”&lt;/p&gt;

&lt;p&gt;I wanted to explore what happens when you combine AI reasoning with industrial troubleshooting workflows.&lt;/p&gt;

&lt;p&gt;Ops Assist allows operators to enter:&lt;/p&gt;

&lt;p&gt;machine symptoms&lt;br&gt;
alarm or error codes&lt;br&gt;
issue descriptions&lt;br&gt;
severity levels&lt;br&gt;
operational context&lt;/p&gt;

&lt;p&gt;The app then uses Gemma 4 to generate:&lt;/p&gt;

&lt;p&gt;likely causes&lt;br&gt;
recommended diagnostic checks&lt;br&gt;
safety reminders&lt;br&gt;
escalation guidance&lt;br&gt;
plain-English troubleshooting summaries&lt;/p&gt;

&lt;p&gt;The project is currently an MVP prototype focused on validating AI-assisted troubleshooting workflows for manufacturing environments.&lt;/p&gt;

&lt;p&gt;Screenshots&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdcsvwntvvjls2tq8hhp.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frdcsvwntvvjls2tq8hhp.png" alt=" " width="800" height="391"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7r5zo57v4vfvjinpln0b.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7r5zo57v4vfvjinpln0b.png" alt=" " width="800" height="401"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Demo Walkthrough:&lt;/p&gt;


&lt;div&gt;
  &lt;iframe src="https://loom.com/embed/f0c96f8f162b46ed92417502580acf85"&gt;
  &lt;/iframe&gt;
&lt;/div&gt;


&lt;p&gt;The demo walks through:&lt;/p&gt;

&lt;p&gt;entering a machine issue&lt;br&gt;
AI-powered troubleshooting analysis&lt;br&gt;
structured industrial troubleshooting output&lt;br&gt;
safety and escalation guidance&lt;br&gt;
real-time Gemma-powered response generation&lt;br&gt;
Code&lt;/p&gt;

&lt;p&gt;GitHub Repository:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/Hightech89" rel="noopener noreferrer"&gt;
        Hightech89
      &lt;/a&gt; / &lt;a href="https://github.com/Hightech89/ops-assist" rel="noopener noreferrer"&gt;
        ops-assist
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      AI-powered troubleshooting assistant for factory operators built with Gemma 4.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;p&gt;This is a &lt;a href="https://nextjs.org" rel="nofollow noopener noreferrer"&gt;Next.js&lt;/a&gt; project bootstrapped with &lt;a href="https://nextjs.org/docs/app/api-reference/cli/create-next-app" rel="nofollow noopener noreferrer"&gt;&lt;code&gt;create-next-app&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Getting Started&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;First, run the development server:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;npm run dev
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; or&lt;/span&gt;
yarn dev
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; or&lt;/span&gt;
pnpm dev
&lt;span class="pl-c"&gt;&lt;span class="pl-c"&gt;#&lt;/span&gt; or&lt;/span&gt;
bun dev&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;Open &lt;a href="http://localhost:3000" rel="nofollow noopener noreferrer"&gt;http://localhost:3000&lt;/a&gt; with your browser to see the result.&lt;/p&gt;
&lt;p&gt;You can start editing the page by modifying &lt;code&gt;app/page.tsx&lt;/code&gt;. The page auto-updates as you edit the file.&lt;/p&gt;
&lt;p&gt;This project uses &lt;a href="https://nextjs.org/docs/app/building-your-application/optimizing/fonts" rel="nofollow noopener noreferrer"&gt;&lt;code&gt;next/font&lt;/code&gt;&lt;/a&gt; to automatically optimize and load &lt;a href="https://vercel.com/font" rel="nofollow noopener noreferrer"&gt;Geist&lt;/a&gt;, a new font family for Vercel.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Learn More&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;To learn more about Next.js, take a look at the following resources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://nextjs.org/docs" rel="nofollow noopener noreferrer"&gt;Next.js Documentation&lt;/a&gt; - learn about Next.js features and API.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://nextjs.org/learn" rel="nofollow noopener noreferrer"&gt;Learn Next.js&lt;/a&gt; - an interactive Next.js tutorial.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can check out &lt;a href="https://github.com/vercel/next.js" rel="noopener noreferrer"&gt;the Next.js GitHub repository&lt;/a&gt; - your feedback and contributions are welcome!&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Deploy on Vercel&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;The easiest way to deploy your Next.js app is to use the &lt;a href="https://vercel.com/new?utm_medium=default-template&amp;amp;filter=next.js&amp;amp;utm_source=create-next-app&amp;amp;utm_campaign=create-next-app-readme" rel="nofollow noopener noreferrer"&gt;Vercel Platform&lt;/a&gt; from the creators of Next.js.&lt;/p&gt;
&lt;p&gt;Check out our &lt;a href="https://nextjs.org/docs/app/building-your-application/deploying" rel="nofollow noopener noreferrer"&gt;Next.js deployment documentation&lt;/a&gt; for more…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/Hightech89/ops-assist" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;Technical Overview&lt;br&gt;
Stack&lt;br&gt;
Next.js 16&lt;br&gt;
TypeScript&lt;br&gt;
Tailwind CSS&lt;br&gt;
Gemini API&lt;br&gt;
Gemma 4 26B A4B Instruct&lt;br&gt;
App Router architecture&lt;br&gt;
Architecture&lt;/p&gt;

&lt;p&gt;The application uses a simple server-side AI architecture:&lt;/p&gt;

&lt;p&gt;Frontend Form&lt;br&gt;
    ↓&lt;br&gt;
Next.js API Route&lt;br&gt;
    ↓&lt;br&gt;
Gemma 4 via Gemini API&lt;br&gt;
    ↓&lt;br&gt;
Structured JSON Response&lt;br&gt;
    ↓&lt;br&gt;
Industrial Troubleshooting Dashboard&lt;/p&gt;

&lt;p&gt;The frontend collects operational issue details and sends them to a server-side API route.&lt;/p&gt;

&lt;p&gt;The API route:&lt;/p&gt;

&lt;p&gt;builds the troubleshooting prompt&lt;br&gt;
injects safety constraints&lt;br&gt;
requests structured JSON output&lt;br&gt;
validates/parses the response&lt;br&gt;
returns normalized troubleshooting data to the UI&lt;/p&gt;

&lt;p&gt;The frontend then renders:&lt;/p&gt;

&lt;p&gt;anomaly summaries&lt;br&gt;
likely causes&lt;br&gt;
recommended checks&lt;br&gt;
escalation procedures&lt;br&gt;
safety reminders&lt;br&gt;
How I Used Gemma 4&lt;/p&gt;

&lt;p&gt;Ops Assist uses the gemma-4-26b-a4b-it model through the Gemini API.&lt;/p&gt;

&lt;p&gt;I chose the 26B A4B model because it offered a strong balance between:&lt;/p&gt;

&lt;p&gt;reasoning capability&lt;br&gt;
structured output quality&lt;br&gt;
response speed&lt;br&gt;
inference efficiency&lt;/p&gt;

&lt;p&gt;Manufacturing troubleshooting is heavily reasoning-based. Operators rarely describe issues in perfectly structured ways, so the AI needs to interpret incomplete or inconsistent symptom descriptions and generate useful operational guidance from them.&lt;/p&gt;

&lt;p&gt;Gemma 4 powers the core troubleshooting engine by:&lt;/p&gt;

&lt;p&gt;interpreting operator-entered symptoms&lt;br&gt;
identifying likely fault patterns&lt;br&gt;
generating troubleshooting recommendations&lt;br&gt;
providing safety reminders&lt;br&gt;
recommending escalation paths&lt;/p&gt;

&lt;p&gt;One challenge during development was balancing response quality with reliability.&lt;/p&gt;

&lt;p&gt;Early versions of the troubleshooting prompt occasionally produced:&lt;/p&gt;

&lt;p&gt;timeouts&lt;br&gt;
malformed JSON&lt;br&gt;
overly verbose outputs&lt;/p&gt;

&lt;p&gt;To stabilize the MVP workflow, I:&lt;/p&gt;

&lt;p&gt;reduced prompt complexity&lt;br&gt;
constrained output structure&lt;br&gt;
limited response lengths&lt;br&gt;
implemented fallback handling&lt;br&gt;
added JSON extraction/validation safeguards&lt;/p&gt;

&lt;p&gt;This resulted in a much more reliable interactive troubleshooting experience.&lt;/p&gt;

&lt;p&gt;I also found the use of an open model particularly interesting in the context of manufacturing environments.&lt;/p&gt;

&lt;p&gt;Factories are often cautious about:&lt;/p&gt;

&lt;p&gt;operational privacy&lt;br&gt;
production data exposure&lt;br&gt;
proprietary process information&lt;br&gt;
external cloud dependencies&lt;/p&gt;

&lt;p&gt;Open/local-capable models like Gemma create interesting possibilities for future on-premise industrial AI systems where operational data can remain inside the facility.&lt;/p&gt;

&lt;p&gt;Example Use Cases&lt;/p&gt;

&lt;p&gt;Ops Assist currently supports troubleshooting scenarios such as:&lt;/p&gt;

&lt;p&gt;conveyor belt drift&lt;br&gt;
intermittent jams&lt;br&gt;
vacuum/gripper failures&lt;br&gt;
sensor alignment faults&lt;br&gt;
hydraulic pressure fluctuations&lt;br&gt;
startup/shutdown inconsistencies&lt;br&gt;
machine fault escalation guidance&lt;/p&gt;

&lt;p&gt;Example operator input:&lt;/p&gt;

&lt;p&gt;“Conveyor belt drifts sideways after stop/start cycles and causes jams. Only one lane is affected.”&lt;/p&gt;

&lt;p&gt;Example Gemma output:&lt;/p&gt;

&lt;p&gt;possible belt tension imbalance&lt;br&gt;
startup torque inconsistencies&lt;br&gt;
worn guide rails&lt;br&gt;
roller alignment checks&lt;br&gt;
escalation recommendation&lt;br&gt;
lockout/tagout safety reminders&lt;br&gt;
Future Improvements&lt;/p&gt;

&lt;p&gt;Future versions of Ops Assist could expand into:&lt;/p&gt;

&lt;p&gt;image-based troubleshooting&lt;br&gt;
alarm screenshot analysis&lt;br&gt;
multimodal diagnostics&lt;br&gt;
maintenance history tracking&lt;br&gt;
machine-specific troubleshooting knowledge&lt;br&gt;
retrieval-augmented SOP/manual integration&lt;br&gt;
local/on-premise AI deployment&lt;br&gt;
Final Thoughts&lt;/p&gt;

&lt;p&gt;This project was a really fun way to explore practical AI applications outside of the usual chatbot or productivity app space.&lt;/p&gt;

&lt;p&gt;As someone working in manufacturing while transitioning deeper into tech, it was interesting building something inspired by real operational workflows and seeing how well Gemma 4 handled reasoning-heavy troubleshooting tasks.&lt;/p&gt;

&lt;p&gt;Thanks for checking out Ops Assist.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>gemma</category>
      <category>gemmachallenge</category>
      <category>showdev</category>
    </item>
    <item>
      <title># Failure Friday: What Quibi Teaches About Product-Market Fit</title>
      <dc:creator>Josh Cox</dc:creator>
      <pubDate>Fri, 22 May 2026 18:40:43 +0000</pubDate>
      <link>https://dev.to/hightech89/-failure-friday-what-quibi-teaches-about-product-market-fit-28m2</link>
      <guid>https://dev.to/hightech89/-failure-friday-what-quibi-teaches-about-product-market-fit-28m2</guid>
      <description>&lt;p&gt;Quibi is one of those startup failures that is interesting because, on paper, it had a lot going for it.&lt;/p&gt;

&lt;p&gt;It had major funding.&lt;/p&gt;

&lt;p&gt;It had experienced leadership.&lt;/p&gt;

&lt;p&gt;It had celebrity-backed content.&lt;/p&gt;

&lt;p&gt;It launched with a lot of attention.&lt;/p&gt;

&lt;p&gt;And it still shut down less than a year after launch.&lt;/p&gt;

&lt;p&gt;That is exactly why it is worth studying.&lt;/p&gt;

&lt;h2&gt;
  
  
  The idea was not completely ridiculous
&lt;/h2&gt;

&lt;p&gt;Short-form video was already a proven behavior.&lt;/p&gt;

&lt;p&gt;People were watching short videos on TikTok, YouTube, Instagram, Snapchat, and other platforms every day.&lt;/p&gt;

&lt;p&gt;So the core idea of short mobile-first video was not the problem by itself.&lt;/p&gt;

&lt;p&gt;The bigger issue was the way Quibi packaged that behavior.&lt;/p&gt;

&lt;p&gt;It tried to turn short-form video into a paid standalone streaming service, while users were already getting short-form content for free from platforms they used every day.&lt;/p&gt;

&lt;p&gt;That made the value proposition difficult.&lt;/p&gt;

&lt;h2&gt;
  
  
  A few lessons from Quibi
&lt;/h2&gt;

&lt;p&gt;The first lesson is that funding does not guarantee product-market fit.&lt;/p&gt;

&lt;p&gt;Raising a lot of money can help a company move faster, but it does not automatically mean customers want the product badly enough to pay for it.&lt;/p&gt;

&lt;p&gt;The second lesson is that distribution matters.&lt;/p&gt;

&lt;p&gt;Even if the content is good, people still need a strong reason to add another app, another subscription, and another habit into their lives.&lt;/p&gt;

&lt;p&gt;The third lesson is that timing matters.&lt;/p&gt;

&lt;p&gt;Quibi launched during a period when consumer behavior was shifting quickly, and its product did not seem to match how people actually wanted to consume short-form content.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I am studying failures like this
&lt;/h2&gt;

&lt;p&gt;I am building Startup Graveyard as a web app for documenting failed startups and the lessons behind them.&lt;/p&gt;

&lt;p&gt;The goal is not to make fun of companies that shut down.&lt;/p&gt;

&lt;p&gt;The goal is to study the patterns behind failure:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Bad timing&lt;/li&gt;
&lt;li&gt;Weak distribution&lt;/li&gt;
&lt;li&gt;Scaling too early&lt;/li&gt;
&lt;li&gt;No clear business model&lt;/li&gt;
&lt;li&gt;Products people liked, but not enough to pay for&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I think failure stories can be just as useful as success stories, sometimes more useful, because the patterns are often easier to see.&lt;/p&gt;

&lt;p&gt;Startup Graveyard is live here:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.startupgraveyard.co" rel="noopener noreferrer"&gt;https://www.startupgraveyard.co&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I would also like to hear from other builders:&lt;/p&gt;

&lt;p&gt;What failed startup do you think is worth studying?&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>saas</category>
      <category>startup</category>
    </item>
    <item>
      <title>What I'm Learning Building Startup Graveyard.</title>
      <dc:creator>Josh Cox</dc:creator>
      <pubDate>Tue, 19 May 2026 13:07:50 +0000</pubDate>
      <link>https://dev.to/hightech89/what-im-learning-building-startup-graveyard-232h</link>
      <guid>https://dev.to/hightech89/what-im-learning-building-startup-graveyard-232h</guid>
      <description>&lt;p&gt;One thing I’m noticing while building Startup Graveyard:&lt;/p&gt;

&lt;p&gt;A failed startup is not always a bad idea.&lt;/p&gt;

&lt;p&gt;Sometimes the timing was wrong.&lt;br&gt;
Sometimes distribution failed.&lt;br&gt;
Sometimes people liked the product, but not enough to pay for it.&lt;br&gt;
Sometimes the market existed, but the business model did not.&lt;/p&gt;

&lt;p&gt;That’s the part I want the site to explore more: the patterns behind failure, not just the names of companies that shut down.&lt;/p&gt;

&lt;p&gt;Startup Graveyard is a web app where people can browse failed startups, read what happened, vote, comment, and submit their own examples.&lt;/p&gt;

&lt;p&gt;The bigger idea is to eventually make the data useful beyond just reading individual stories. I’d like people to be able to study the patterns, compare failure reasons, look at trends, and maybe pull the data in a way that helps founders, builders, students, and researchers learn from it.&lt;/p&gt;

&lt;p&gt;The technical side has been a big learning process too. I’ve been working with Next.js, Supabase, authentication, profiles, moderation, SEO, and deployment through Vercel.&lt;/p&gt;

&lt;p&gt;It started as a simple project to learn about web dev, deployment, and to finally see one whole idea through.&lt;/p&gt;

&lt;p&gt;Hopefully this project inspires people to learn from others mistakes!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.startupgraveyard.co" rel="noopener noreferrer"&gt;https://www.startupgraveyard.co&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>startup</category>
    </item>
    <item>
      <title>I Built Startup Graveyard to Study Why Startups Fail</title>
      <dc:creator>Josh Cox</dc:creator>
      <pubDate>Mon, 18 May 2026 01:46:37 +0000</pubDate>
      <link>https://dev.to/hightech89/i-built-startup-graveyard-to-study-why-startups-fail-147i</link>
      <guid>https://dev.to/hightech89/i-built-startup-graveyard-to-study-why-startups-fail-147i</guid>
      <description>&lt;p&gt;I recently soft-launched a side project called &lt;strong&gt;Startup Graveyard&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The idea is simple: a place to browse failed startups, learn what went wrong, and pull lessons from their mistakes.&lt;/p&gt;

&lt;p&gt;You can check it out here:&lt;br&gt;
&lt;a href="https://www.startupgraveyard.co" rel="noopener noreferrer"&gt;https://www.startupgraveyard.co&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why I built it
&lt;/h2&gt;

&lt;p&gt;I have always been interested in startups, software, and the idea of building something from scratch. But the more I looked into successful companies, the more I realized that failed startups are just as useful to study.&lt;/p&gt;

&lt;p&gt;A lot of failed startups had good ideas, talented teams, funding, users, or hype. But something still went wrong.&lt;/p&gt;

&lt;p&gt;Sometimes it was poor timing.&lt;br&gt;
Sometimes there was no real market need.&lt;br&gt;
Sometimes the business model did not work.&lt;br&gt;
Sometimes the product was interesting, but not useful enough for people to keep using.&lt;/p&gt;

&lt;p&gt;I wanted to build a site that collects those stories in a simple, searchable way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the app does right now
&lt;/h2&gt;

&lt;p&gt;Startup Graveyard currently lets users:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;browse failed startups&lt;/li&gt;
&lt;li&gt;search and filter by category&lt;/li&gt;
&lt;li&gt;sort by newest, top, or A-Z&lt;/li&gt;
&lt;li&gt;view startup detail pages&lt;/li&gt;
&lt;li&gt;upvote startups&lt;/li&gt;
&lt;li&gt;comment on startup pages&lt;/li&gt;
&lt;li&gt;create an account&lt;/li&gt;
&lt;li&gt;submit failed startups&lt;/li&gt;
&lt;li&gt;manage their own submissions from a profile page&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;New submissions go into a pending review state before they appear publicly, so the site does not become a spam board.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tech stack
&lt;/h2&gt;

&lt;p&gt;I built it with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Next.js&lt;/li&gt;
&lt;li&gt;TypeScript&lt;/li&gt;
&lt;li&gt;Tailwind CSS&lt;/li&gt;
&lt;li&gt;Supabase for auth and database&lt;/li&gt;
&lt;li&gt;Supabase RLS for security rules&lt;/li&gt;
&lt;li&gt;Resend for production auth emails&lt;/li&gt;
&lt;li&gt;Vercel for deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This project also helped me get more comfortable with real-world production concerns like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;authentication&lt;/li&gt;
&lt;li&gt;email confirmation&lt;/li&gt;
&lt;li&gt;row-level security&lt;/li&gt;
&lt;li&gt;moderation&lt;/li&gt;
&lt;li&gt;SEO metadata&lt;/li&gt;
&lt;li&gt;sitemap and robots files&lt;/li&gt;
&lt;li&gt;environment variables&lt;/li&gt;
&lt;li&gt;deployment issues&lt;/li&gt;
&lt;li&gt;preventing public email exposure&lt;/li&gt;
&lt;li&gt;keeping user-submitted content controlled&lt;/li&gt;
&lt;/ul&gt;

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

&lt;p&gt;The biggest lesson from building this was that launching an app is not just about making the UI work.&lt;/p&gt;

&lt;p&gt;There were a lot of things I had to tighten up before I felt comfortable sharing it publicly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;user emails should never show publicly&lt;/li&gt;
&lt;li&gt;new submissions need moderation&lt;/li&gt;
&lt;li&gt;users should not be able to self-approve their own posts&lt;/li&gt;
&lt;li&gt;auth emails need production SMTP&lt;/li&gt;
&lt;li&gt;database rules matter more than client-side checks&lt;/li&gt;
&lt;li&gt;SEO needs to be handled before sharing links&lt;/li&gt;
&lt;li&gt;a feature can work in development but still need production hardening&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The app started as a simple directory, but it quickly became a good learning project for how real apps are built and protected.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I want to add next
&lt;/h2&gt;

&lt;p&gt;The next big improvement I want to make is a better failure pattern system.&lt;/p&gt;

&lt;p&gt;Instead of only showing a basic cause of death, I want startups to be grouped by patterns like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;no market need&lt;/li&gt;
&lt;li&gt;pricing failure&lt;/li&gt;
&lt;li&gt;poor timing&lt;/li&gt;
&lt;li&gt;distribution failure&lt;/li&gt;
&lt;li&gt;funding or burn-rate issues&lt;/li&gt;
&lt;li&gt;legal or regulatory problems&lt;/li&gt;
&lt;li&gt;retention problems&lt;/li&gt;
&lt;li&gt;founder conflict&lt;/li&gt;
&lt;li&gt;competition&lt;/li&gt;
&lt;li&gt;hardware/manufacturing issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Long term, I would like the site to become more of a learning engine for founders and builders, not just a list of failed companies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback welcome
&lt;/h2&gt;

&lt;p&gt;This is still a soft launch, so I would really appreciate feedback.&lt;/p&gt;

&lt;p&gt;I’m especially looking for thoughts on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the overall idea&lt;/li&gt;
&lt;li&gt;design and usability&lt;/li&gt;
&lt;li&gt;anything confusing in the flow&lt;/li&gt;
&lt;li&gt;features that would make the site more useful&lt;/li&gt;
&lt;li&gt;bugs or rough edges&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Site:&lt;br&gt;
&lt;a href="https://www.startupgraveyard.co" rel="noopener noreferrer"&gt;https://www.startupgraveyard.co&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Thanks for checking it out.&lt;/p&gt;

</description>
      <category>learning</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>startup</category>
    </item>
    <item>
      <title>I’m Building a Startup Failure Archive With Next.js and Supabase</title>
      <dc:creator>Josh Cox</dc:creator>
      <pubDate>Thu, 14 May 2026 18:16:05 +0000</pubDate>
      <link>https://dev.to/hightech89/im-building-a-startup-failure-archive-with-nextjs-and-supabase-4544</link>
      <guid>https://dev.to/hightech89/im-building-a-startup-failure-archive-with-nextjs-and-supabase-4544</guid>
      <description>&lt;p&gt;I’m building a project called Startup Graveyard.&lt;/p&gt;

&lt;p&gt;The idea is simple: a searchable collection of failed startups and post-mortems so builders can learn from what went wrong instead of only seeing success stories.&lt;/p&gt;

&lt;p&gt;It’s built with Next.js, Supabase, and Vercel. So far I’ve added auth, startup submissions, comments, voting, profiles, and filtering.&lt;/p&gt;

&lt;p&gt;I’m still polishing it, but I’m thinking about writing a dev.to post about the build process, what I learned, and some of the mistakes I ran into along the way.&lt;/p&gt;

&lt;p&gt;Would this be something worth sharing?&lt;/p&gt;

</description>
      <category>nextjs</category>
      <category>showdev</category>
      <category>sideprojects</category>
      <category>startup</category>
    </item>
    <item>
      <title>Hey everyone,

First time posting on dev.to and first time entering a coding challenge here, so I figured I’d introduce myself a bit.

I currently work as a machine operator while finishing my degree in Computer Information Systems, and I’ve been trying to</title>
      <dc:creator>Josh Cox</dc:creator>
      <pubDate>Fri, 08 May 2026 18:26:28 +0000</pubDate>
      <link>https://dev.to/hightech89/hey-everyone-first-time-posting-on-devto-and-first-time-entering-a-coding-challenge-here-so-i-23ce</link>
      <guid>https://dev.to/hightech89/hey-everyone-first-time-posting-on-devto-and-first-time-entering-a-coding-challenge-here-so-i-23ce</guid>
      <description></description>
      <category>career</category>
      <category>codenewbie</category>
      <category>community</category>
      <category>devchallenge</category>
    </item>
  </channel>
</rss>
