<?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: GroverTek</title>
    <description>The latest articles on DEV Community by GroverTek (@grovertek).</description>
    <link>https://dev.to/grovertek</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%2F3860587%2F191284ac-d656-494d-9144-bbceb6bfee04.png</url>
      <title>DEV Community: GroverTek</title>
      <link>https://dev.to/grovertek</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/grovertek"/>
    <language>en</language>
    <item>
      <title>How I'm Using AI Agents to Find My Next Product Idea</title>
      <dc:creator>GroverTek</dc:creator>
      <pubDate>Sun, 05 Apr 2026 00:36:17 +0000</pubDate>
      <link>https://dev.to/grovertek/how-im-using-ai-agents-to-find-my-next-product-idea-527j</link>
      <guid>https://dev.to/grovertek/how-im-using-ai-agents-to-find-my-next-product-idea-527j</guid>
      <description>&lt;p&gt;I had no domain expertise, no budget for market research, and no desire to spend months learning an industry manually. So I did what developers do: I built a tool. This is a diary of using AI agents (Ollama + opencode) to automate market research - what worked, what didn't, and what I'm still figuring out. If you're a developer curious about using AI agents for something beyond toy projects—this one's for you.&lt;/p&gt;




&lt;h2&gt;
  
  
  Introduction
&lt;/h2&gt;

&lt;p&gt;Am I shooting myself in the foot? Did I miss an "easy" solution? Or am I on the verge somthing good? These are the questions that are currently haunting me.&lt;/p&gt;

&lt;p&gt;I found myself in a situation where my projects were wrapped up and I was waiting for the next big task to come along.  I hate waiting.  So I decided I will build a product the industry needs.  But what product? What industry?.  That's a large topic and my local area has a number of industries.  My expertise is in software development and technology.  I want to gain expertise and knowledge in a different domain and improve that whole "what value do I bring" topic.&lt;/p&gt;

&lt;p&gt;So I need help doing research.  I need to determine what industries are available, what software tools already exist for those industries, what are the limitations of those tools have, and what do the users really want from the tools, or really hate about the tools.  I feel with that knowledge I can identify the "right" product to build that aligns my skills with a demand from an industry that will likely value the solution.&lt;/p&gt;

&lt;p&gt;That's a tall order.  Being very independent minded and budget aware, I don't really want to pay for market research, and most of the information I can find is a year or more out of date.  If only I had a tool that could do current research for me...  Wait! I'm a developer, I can build that.  And the concepts sound pretty simple.  And using an interactive AI Agent like &lt;code&gt;opencode&lt;/code&gt; can make it even easiser.  (I think this is what is commonly referred to as "foreshadowing" - easy is very subjective)&lt;/p&gt;

&lt;p&gt;So I've built a system.  Or at least have the starts of one.  It is working but I've identified issues.  I'm sharing here to give the foundation and background of the problem space, and see if I can get some community feedback.  &lt;/p&gt;

&lt;p&gt;I've enjoyed this project thus far as a way to research using AI for real world tasks.  And I've learned a lot - I think the potentials are awesome.  But I'll leave that assessment to you.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'm trying to build (and why):
&lt;/h2&gt;

&lt;p&gt;I want to build a tool that can research, analyze, and present useful information to me.  I'll use this information to decide what product/tool I will build, what features I must include, and what magic I can include to set the tool apart from the incumbents.  The additional information I gain can guide how I try to market the product or how to build the support mechanisms/business behind the tool.&lt;/p&gt;

&lt;p&gt;I could just hit the govenment statistics sites and get the list of industries, their market details, and possibly even a list of tools.  Make a choice and dive in.  But these resources are often out-dated the moment they are published, and I'd be left stapling my needs ontop of their use case which is often not a good fit.  And I might be wasting time on a tool that already exists or isn't wanted.  So I want to do this right and know that I have improved my chances of success before I write the first line of code.&lt;/p&gt;

&lt;p&gt;I want to see if AI can be made to give me relatively current information - days, or weeks old, not months or years.  The data gathering step has a lot of subjective needs involved where AI can shine.  For instance the simple task of getting the "features" for 10 random software tools - the information cannot be guaranteed to be available at a "/features" page every time, and even if it was it cannot be guaranteed to use the same HTML/CSS structures, or even the same tone or categorizations.  What one tool calls "user mangement" may be referred to as "distributed team controls" in a different tool.  So the simple act of finding the right information is a challenge for traditional discrete logic approaches.&lt;/p&gt;

&lt;p&gt;I also want to keep as much of the processing "in house" as possible.  The use of subscription based AI models is leading to inadvertent sharing of the secret sauce that makes a company unique. (i.e. the Intellectual Property).  It also tightly couples the business to the subscription, which cannot be easily changed in some cases.  It is like putting your business logic into stored procedures or custom database functions.  Works great - until you need to change the database system due to licensing or end of life situations. &lt;/p&gt;




&lt;h2&gt;
  
  
  The Stack
&lt;/h2&gt;

&lt;p&gt;I've chosen to handle this task using the following tools:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ollama + the Ministral-3:8B model.  I found this model gives me the reasoning capabilities and tool handling abilities to work well with my current hardware and problem space.  Other models like Qwen3.5 or Nemotron-3-nano run into issues - either a lack of reasoning capability, or failures in tool use.  Even then I found I had to ensure Ollama would use a 32K context window for the models to begin working correctly.  In cases where I need just some simple reasoning and not tool use, I found the Llama3.2 model - with a 32K context - works reasonably well to give me a structured response.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://opencode.ai" rel="noopener noreferrer"&gt;opencode&lt;/a&gt;.  I use this CLI agent to handle the calls that need the reasoning and tool use.  By running &lt;code&gt;opencode run "Find the features for {product}"&lt;/code&gt; I can get the websearch and webfetch tools applied without having to set up my own Playwright interpreter.  Other tools like Claude Code, GeminiCLI, etc are reasonable candidates here.  I've tried a bunch of them, and found opencode "clicks" for me much better than the others.&lt;/li&gt;
&lt;li&gt;Python - I've chosen to let the AI create python tools.  While I could do other languages, I'm finding the models tend to all "just work" with python or even expect python to be the language of choice.  And I enjoy using python as the happy middle ground between low level C/Rust/Go and the higher level frameworks like React/Vue/Astro, etc.&lt;/li&gt;
&lt;li&gt;SQLite - small compact database needs.  But using SQLModel and SQLAlchemy to allow upgrading to Postgres later if needed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The free cloud models are great.  I think the "Zen Big Pickle" model is awesome for the tasks I'm throwing at it.  But it does have a rate limit.  I can only use so much before I'm blocked and need to wait some time before I can use it again.  Because of this rate limiting, I have set up a handful of "free" models I can use when needed.  When I hit the rate limiting, I just switch to a different free model and continue my work.  This is not really an option though when you have automated code running.  It is not always easy to see if/when you have been rate limited.  Letting code run over night only to find out you hit the rate limits in the first hour is not a pleasant experience.  Using Ollama with a capable model removes the rate limit issue altogether.  I can do this with opencode by calling `opencode run PROMPT --model "ollama/my-model-of-choice".  I do need to ensure opencode is configured to know about that model first though.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Workflow
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Data Gathering
&lt;/h3&gt;

&lt;p&gt;Using opencode, I asked for a list of industries in my geographic area.  This came back with the usual high level things like "Oil &amp;amp; Gas", "Energy", "Healthcare", etc.  So I had to ask for some expansion to get into some of the sub-industries.  That eventually gave me a list of 100ish industries that served as a starting point.  &lt;/p&gt;

&lt;p&gt;I then had a discussion with opencode covering what we were trying to do and planned out how we might structure a database to handle our needs.  Once we had that fairly well defined, I had opencode create the database and populate the initial industries into it.&lt;/p&gt;

&lt;p&gt;Next I asked opencode to create a python project that could discover the software tools used by the industries.  I suggested the interface for that tool to be via a &lt;code&gt;uv run app research discover&lt;/code&gt; command.  It would loop over the industry records and run &lt;code&gt;opencode run PROMPT --model MODEL&lt;/code&gt; for each, where the Prompt was the specific instructions needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Snag #1&lt;/strong&gt;.  The code worked and it would try to find the software tools.  But it was trying to find ALL of them in one step, and would lead to timeouts.  I resolved this by only getting 10 tools at a time and altering the prompt to skip those we already know about.  I could run the command a few times to fill out the remainder tools, allowing the database to become more complete with each run.  &lt;/p&gt;

&lt;p&gt;Now I had a list of software tools (currently sitting at approximately 1400 tools). Each tool is tied to the industry(ies) that used them.  This was a good starting point.  If nothing else this gave me a place to start manual research if needed.&lt;/p&gt;

&lt;p&gt;Next I asked the code to generate another command.  This time we wanted to find the features, pricing, and complaints for each tool. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Snag #2&lt;/strong&gt;.  The process worked, but could take up to 10 minutes or more per tool.  This just seemed wrong as I know I could simply load the tool's web page and cut/paste the details in a minute or two.  Digital is supposed to be faster than manual.  After digging into this I realized what was happening.  Each "tool" process would result in many different web pages being loaded, interpretted, and then fit into the structured output we wanted.  Each page load takes a little time and may or may not result in useful data.  The solution then was to separate the tasks.  Instead of asking "tell me about {tool}", I broke the requests into "What are the features for {tool}?", "What is the pricing for {tool}?", and "What are the complaints for {tool}?".  So now I had commands like &lt;code&gt;uv run app research features&lt;/code&gt;. This lead to next snag.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Snag #3&lt;/strong&gt;.  This was a structural issue.  One big loop to do work for every tool in every industry.  And if the process stopped in the middle we had to start from the beginning again.  To solve this I introduced a "queue" system.  Each "task" could only work with one tool.  The task had to be marked "completed" or "error" accordingly.  Restarting the research process would always then start at the next "pending" task.  Then I created a &lt;code&gt;uv run app research run --limit 10&lt;/code&gt; command.  This would process the next 10 tasks in the queue.  If I set the limit to something large like &lt;code&gt;999999&lt;/code&gt;, then the entire queue would run.&lt;/p&gt;

&lt;p&gt;It took a day or two to run through everything then, but afterwards I had approx 27000 features, 7500 complaints, and 2000 pricing entries.&lt;/p&gt;

&lt;p&gt;The only real performance item left is getting the features. My prompt for this is currently:&lt;/p&gt;

&lt;pre&gt;
IMPORTANT: You MUST use web search and fetch tools to find features. Search the tool's website, or other sources. DO NOT search local files - they contain no relevant data.

List the key features and capabilities of "{tool_name}"{industry_context}.

Provide ONLY the features list:
{{
  "features": ["feature1", "feature2", "feature3"]
}}

List as many features as you can find.
&lt;/pre&gt;

&lt;p&gt;This is still a broad area and results in a lot of websearch/webfetch steps.  But when a successful run is encountered, it is only taking a minute or two per tool.  There are a number of failures though that end up seeing timeout issues, if not actual errors.  But this was expected - some websites use anti-bot techniques, some use authorization requirements, and some just don't give you details - the amazingly helpful "contact for more details" statement is SOO useful.  Luckily that is mostly on the pricing side though.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; let me know if you can see a way to improve this prompt or get the current feature list for a tool in an easier fashion.&lt;/p&gt;

&lt;h3&gt;
  
  
  Analysis
&lt;/h3&gt;

&lt;p&gt;Now that we have some basic information, we can begin to analyze the results.&lt;/p&gt;

&lt;p&gt;The first issue is the different ways to say the same things - especially for the features and complaints.  I have attempted to use a sampling of these records to generate categories, and then fit every entry into one of the categories.  This helps but suffers from a bias.  Seeing as the bulk of the tools I have found thus far are in the "Oil &amp;amp; Gas" and "Agricultural" industries, I end up with categories like "Blow out management", or "Livestock management".  I'm experimenting with different ways to get refined categories.  I might need to go down the path of doing multiple passes on the data, generating a category for each record, de-duplicate categories, finding the top X list of categories, and then revisiting the records to fit into the smaller list of categories.  But there is a balance needed here - perhaps "Livestock Management" is an important category in some industries.  Which suggests then that maybe I need categories per industry...  Stuff to explore.&lt;/p&gt;

&lt;p&gt;What I'm really looking for here are things like "user management", "role based access control lists", "regulatory compliance with OHSA", etc.  This tells me what need to build into my future product beside the obvious "user management" items.&lt;/p&gt;

&lt;p&gt;In the process of working on this I had the realization that I did not need reasoning and tool calling capabilities here.  So the simple categorization process could be handled by a much smaller LLM - like llama3.2.  Doing so reduced that categorization process to a few seconds per tool versus many minutes when using the more capable model.&lt;/p&gt;

&lt;p&gt;Knowing I would need to revisit this exercise in refining my categories, I forged on.&lt;/p&gt;

&lt;p&gt;Next I asked it for some simple charts.  I ended up with feature frequency and feature heatmap charts.  These are very interesting, but will be more useful when the categories can get refined to a reasonable sized list.  Presenting a chart with hundreds of columns/rows is noisy.&lt;/p&gt;

&lt;p&gt;I also asked our analysis process to give me a list of industry reports and tool reports.  This shows promise but is not especially helpful yet.  These reports are simple markdown documents and are intended to provide the details a decision maker would need.&lt;/p&gt;

&lt;p&gt;This is an example industry report in its current form:&lt;/p&gt;

&lt;pre&gt;
```markdown
# Accounting &amp;amp; Bookkeeping - Market Analysis Report

## Overview

- **Tools Available**: 10
- **Feature Categories**: 7
- **Complaint Categories**: 9

## Top Tools

| Tool | Vendor | Features | Complaints |
|------|--------|----------|------------|
| Tipalti | Tipalti Inc. | 79 | 12 |
| Sage Accounting | N/A | 61 | 20 |
| QuickBooks Online Advanced | Intuit | 29 | 9 |
| Deel | Deel, Inc. | 56 | 9 |
...

## Common Features (by category)

| Category | Count |
|----------|-------|
| Automation and Integration | 162 (38.2%) |
| Data Management | 82 (19.3%) |
|...

## Common Pain Points (by category)

| Category | Count |
|----------|-------|
| Pricing and Cost | 21 (15.9%) |
| User Experience and Interface | 16 (12.1%) |
| Technical Issues and Bugs | 16 (12.1%) |
...

## Visual Analysis

![Feature Distribution](../overview/industry_feature_heatmap.png)
![Complaint Distribution](../overview/industry_complaint_heatmap.png)

---

*Report generated on 2026-03-30*

```
&lt;/pre&gt;

&lt;p&gt;This needs more detail.  The industry market size, number of businesses in the industry, etc.  The usual data you would need to get a more complete assessment for the industry.  That needs data we have not collected yet.  So we'll have to revise the industry research process to gather that detail.&lt;/p&gt;

&lt;p&gt;Presenting the information via charts would probably be helpful too.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note: I need to be careful here - I don't want to post one of the sample Tool reports as that could potentially be inadvertently defamatory to the tool, possibly with incorrect information, and I don't think I'm in a position I can publicise anything yet with any authority. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The Tool reports have a similar format as the industry reports.  I'll have to revise how these are getting generated.  One file per tool adds to 10s of thousands of files in one directory.  This might need to be an on-demand generation instead of a bulk generation process.&lt;/p&gt;

&lt;h3&gt;
  
  
  Recommendations
&lt;/h3&gt;

&lt;p&gt;I have not automated the recommendations side of things yet.  I feel I can't do that until I have the reports getting generated better.  But what I do have thus far is showing some value in that I can get a feeling just how saturated an industry is, or if the nature of the tools an industry needs is within my capabilities.&lt;/p&gt;

&lt;p&gt;With that said, I do want to get to a point where my solution can do an automatic analysis, perhaps doing SWOT, or similar, and suggest the top 20 products that might be reasonable to undertake.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Worked
&lt;/h2&gt;

&lt;p&gt;I have a list of tools.  This list is incomplete, but grows each time I run a discovery process.  That discovery process does not use a subscription based LLM.  Other than requesting public web pages, everything about that research is performed using my local computer.  &lt;/p&gt;

&lt;p&gt;I have some details gathered for each tool.  This is improving on each run as well.  I can manually review and assess those tools now, without having to go visit each one directly.&lt;/p&gt;

&lt;p&gt;Using AI via OpenCode is working well.  Both as a development tool and as a part of the developed process.  It is interesting using it this way.  And experienced developer can curate what is getting built and probably be successful.  At the same time a newer developer - or even someone with zero development experience - can build applications as well.  The second case would lean more into the vibe coding approach though. Whereas the expereinced developer is having the computer do the typing for them - faster but still managed and personal.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Needs Work
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Code cleanup.  I don't think the code is in the "slop" category (yet).  But I do need to reorganize it.  The list of &lt;code&gt;uv run app ...&lt;/code&gt; commands is getting excessive.
&lt;/li&gt;
&lt;li&gt;A web interface might be useful here.  Even if it is just on browsing the data.&lt;/li&gt;
&lt;li&gt;Data gathering improvements.  We need some data we are not currently collecting.  How we collect the current data could be improved.&lt;/li&gt;
&lt;li&gt;Analysis improvements.  The analysis is not complete.  We need some more data collected.  We need a better classification system - probably a more complete hierarchical taxonomy system.&lt;/li&gt;
&lt;li&gt;I've recently learned about external tools like &lt;a href="https://www.kaggle.com/" rel="noopener noreferrer"&gt;kaggle&lt;/a&gt;.  We may be able to utilize these resources to improve the data acquisition and analysis phases.&lt;/li&gt;
&lt;li&gt;Better reporting.  I'd like the reports to be useful.  If you are a founder, or decision maker, the reports should give you the information needed so you can make informed choices about what directions you decide to go, or avoid.&lt;/li&gt;
&lt;li&gt;Recommendations.  This is more for me than anything.  But it would be awesome if I can get the system to give me a list of 10 or 20 possible new applications/tools that would be well received by the industry.  Then I can perhaps build a business around that project.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;But this all comes down to time, focus, and perhaps money.&lt;/p&gt;

&lt;h2&gt;
  
  
  Lessons Learned
&lt;/h2&gt;

&lt;p&gt;"Simple idea, complex project" - The concept is simple - just get a list and compare it.  The details of doing so, especially if you want CURRENT information, is often difficult and has a number of hurdles.  Massaging that data into a form you can work with is a complete task unto itself.  And generating useful reports or recommendations will be an ongoing process of improvements.  &lt;/p&gt;




&lt;h2&gt;
  
  
  Open Questions
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Can I speed up the data gathering steps?  Especially with regards to tool features.&lt;/li&gt;
&lt;li&gt;I need to research different charting techniques to provide useful information.  The data I have suggests more nuanced comparisons can be done - perhaps doing a correlation between specific features with complaints and pricing, thereby identifying "useless" features "or the "oh my god I really want this to work right" features.  So far, the frequency bar charts, and heat map charts are useful, but seem to miss a lot too.&lt;/li&gt;
&lt;li&gt;Would it be useful to setup a "changes over time" system here?  It seems like it wouldn't really apply for what I'm trying to do, but I can see concepts like "up and coming features" versus "diminishing importance" features could be handy.  An over time element could help with that analysis but introduces a lot of complexity.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I'm at an inflection point.  I know I need to gather more data, and need some different data.  I find myself questioning if the database structure I have is sufficient for what I'm trying to do.  But I'm also questioning if "what I'm trying to do" has changed since I started the project.  But this is more of a personal and philosophical question.  When I can answer it, I'll know if I need to revisit the structures.&lt;/p&gt;




&lt;h2&gt;
  
  
  Next Steps
&lt;/h2&gt;

&lt;p&gt;This is ongoing.&lt;/p&gt;

&lt;p&gt;The interface needs to be streamlined a little .  I'd like to be able to say "start" and have it just run, collecting data and improving the dataset over time.  This is not the case though at the moment.  I have to manually indicate I'd like to discover more industries/tools, then when those are done I need to indicate research the tools we don't have data for yet.  Then run the analysis steps individually, etc.  This can all be made more automatic with a little effort.&lt;/p&gt;

</description>
      <category>opencode</category>
      <category>python</category>
      <category>productivity</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
