Through a combination of personal and professional experience, I’ve reached a level of technical proficiency that allows me to take the technical part of any project as a given.

This leaves more time to explore the unknown. Ideas often sound good at face value. But what’s out there that I haven’t considered? What have others tried and seen that I am currently clueless about?

I’ve come across various posts stating “if only engineers would stop building and start marketing”

This flowchart describes some hurdles I ran into and lessons learned with previous personal endeavors.

My biggest takeaway is It’s always worth trying.

Don’t live in the world of hypotheticals, just do things. Because when you do things, things happen. You build cause/effect patterns and remove ambiguity. You start to see near term, mid term, long term lessons. You gain experience and footing. You become better prepared to execute.

flowchart TD
    A["Start Project"] --> B{"Is this for personal exploration, fun, a way to give back to the community?"}
    B -- Yes --> C["Do it"]
    B -- No --> D["Consider market"]
    D --> E@{ label: "Will this help people make money they're currently not making?" }
    E -- Yes --> F["Do it if TAM, adoption strategy, etc. seam feasible. People are willing to part ways with unrealized gains if you help them realize them."]
    E -- No --> G{"Is it a workflow efficiency play?"}
    G -- Yes --> H@{ label: "Do it. Explore the UX adoption/integration vs. benefit\\n\\"If it ain't broke, don't fix it\\"" }
    G -- No --> I{"Is it an arbitrage opportunity or undercutting the market in price?"}
    I -- Yes --> J@{ label: "People will churn if it's cheaper. It may take a while to bring the competing product up to par with existing offerings." }
    I -- No --> K{"Do you have a buyer in hand? (contract/POC consulting)"}
    K -- Yes --> L["Do it if the cost benefit analysis makes sense"]
    K -- No --> M@{ label: "Don't do it" }
    E@{ shape: diamond}
    H@{ shape: rect}
    J@{ shape: rect}
    M@{ shape: rect}
     C:::doit
     F:::doit
     H:::doit
     J:::doit
     L:::doit
     M:::dontdoit
    classDef doit fill:#070,stroke:#333,stroke-width:2px
    classDef dontdoit fill:#700,stroke:#333,stroke-width:2px