<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>App Design on Programmer.ie: Modern AI programming</title>
    <link>http://programmer.ie/tags/app-design/</link>
    <description>Recent content in App Design on Programmer.ie: Modern AI programming</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Fri, 28 Aug 2026 10:00:00 +0100</lastBuildDate>
    <atom:link href="http://programmer.ie/tags/app-design/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Appendix 12: Machine Coding: Pre-Prompt Checklist</title>
      <link>http://programmer.ie/books/freestyle-cognition/28-chapter/</link>
      <pubDate>Fri, 28 Aug 2026 10:00:00 +0100</pubDate>
      <guid>http://programmer.ie/books/freestyle-cognition/28-chapter/</guid>
      <description>&lt;h2 id=&#34;-pre-prompt-checklist-define-your-app-before-the-ai-builds-it&#34;&gt;✅ &lt;strong&gt;Pre-Prompt Checklist: Define Your App Before the AI Builds It&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Use this checklist to clarify your thinking before engaging the AI in coding your tool or app.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;pre class=&#34;mermaid&#34;&gt;&#xA;    flowchart TD&#xA;    Start([💡 App Idea]) --&amp;gt; A[🧱 Data Design&amp;lt;br&amp;gt;Tables, flow, storage]&#xA;    A --&amp;gt; B[🛠️ Technical Foundations&amp;lt;br&amp;gt;CLI/Web, language, framework]&#xA;    B --&amp;gt; C[🔐 Configuration &amp;amp; Secrets&amp;lt;br&amp;gt;.env, config wrapper]&#xA;    C --&amp;gt; D[🧠 Intelligence Layer&amp;lt;br&amp;gt;Models, local/API]&#xA;    D --&amp;gt; E[📦 Embeddings &amp;amp; Search&amp;lt;br&amp;gt;Vector search, embedding model]&#xA;    E --&amp;gt; F[📥 Input Handling&amp;lt;br&amp;gt;Format, batch support]&#xA;    F --&amp;gt; G[📤 Output Handling&amp;lt;br&amp;gt;Console, file, DB]&#xA;    G --&amp;gt; H([✅ Ready to Prompt AI])&#xA;&#xA;    style Start fill:#e1f5fe,stroke:#333&#xA;    style A fill:#fff3e0,stroke:#333&#xA;    style B fill:#e8f5e9,stroke:#333&#xA;    style C fill:#fce4ec,stroke:#333&#xA;    style D fill:#f3e5f5,stroke:#333&#xA;    style E fill:#fff9c4,stroke:#333&#xA;    style F fill:#e0f7fa,stroke:#333&#xA;    style G fill:#c8e6c9,stroke:#333&#xA;    style H fill:#4caf50,stroke:#333,color:#fff&#xA;  &lt;/pre&gt;&#xA;  &lt;hr&gt;&#xA;&lt;h3 id=&#34;-data-design&#34;&gt;🧱 Data Design&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Have you defined your &lt;strong&gt;core tables or data structure&lt;/strong&gt;?&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Do you know &lt;strong&gt;how your data flows&lt;/strong&gt; through the app — from input to output?&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Have you considered how you&amp;rsquo;ll &lt;strong&gt;store, retrieve, and update&lt;/strong&gt; records?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;-technical-foundations&#34;&gt;🛠️ Technical Foundations&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Will this be a &lt;strong&gt;CLI&lt;/strong&gt;, &lt;strong&gt;Web App&lt;/strong&gt;, or something else?&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; What&amp;rsquo;s your preferred &lt;strong&gt;language and framework&lt;/strong&gt; (e.g., Python + FastAPI)?&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Are you using an &lt;strong&gt;ORM&lt;/strong&gt; (e.g., SQLAlchemy), or sticking with &lt;strong&gt;dataclasses + raw SQL&lt;/strong&gt;?&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Will you manage schema with &lt;strong&gt;migrations&lt;/strong&gt;, a &lt;strong&gt;&lt;code&gt;.sql&lt;/code&gt; file&lt;/strong&gt;, or something else?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;-configuration--secrets&#34;&gt;🔐 Configuration &amp;amp; Secrets&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Do you want to use a &lt;strong&gt;&lt;code&gt;.env&lt;/code&gt; file&lt;/strong&gt; for secrets and environment variables?&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Is there a &lt;strong&gt;configuration wrapper class&lt;/strong&gt; you plan to use?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;-intelligence-layer&#34;&gt;🧠 Intelligence Layer&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Which &lt;strong&gt;model(s)&lt;/strong&gt; will power your AI interactions? (e.g., &lt;code&gt;qwen:2.5&lt;/code&gt;, &lt;code&gt;mxbai-embed-large&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Will you use &lt;strong&gt;local models&lt;/strong&gt; (e.g., Ollama) or &lt;strong&gt;API-based models&lt;/strong&gt;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;-embeddings--search&#34;&gt;📦 Embeddings &amp;amp; Search&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Do you plan to use &lt;strong&gt;vector search&lt;/strong&gt; (e.g., &lt;code&gt;pgvector&lt;/code&gt;)?&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Have you chosen an &lt;strong&gt;embedding model&lt;/strong&gt;, and do you know the expected dimension size?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;-input-handling&#34;&gt;📥 Input Handling&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; What is the &lt;strong&gt;input format&lt;/strong&gt; for your app? (e.g., Markdown file, CLI args, JSON payload)&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Do you want to support &lt;strong&gt;batch processing&lt;/strong&gt;, or just single sessions?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;-output-handling&#34;&gt;📤 Output Handling&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; What should your app &lt;strong&gt;output&lt;/strong&gt;? (e.g., print to console, write to file, store in DB)&lt;/li&gt;&#xA;&lt;li&gt;&lt;input disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; Do you need to &lt;strong&gt;track results&lt;/strong&gt; in a database or results log?&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
    </item>
  </channel>
</rss>
