Phase 1 – Brainstorming
Phase 2 – Development
Set up repositories and project structure Implement core MVP features Integrate front-end and back-end Configure databases and APIs Version control and CI/CD pipeline setup Internal QA and debugging Phase 3 – Back Testing
Conduct user acceptance testing (UAT) Gather performance metrics and bug reports Run security and load tests Collect user feedback from test group Refine UX/UI and patch major issues Finalize documentation and deployment scripts Phase 4 – Release
Announce launch (marketing, website, socials) Monitor analytics and crash reports Provide customer support and updates Gather post-launch feedback Begin roadmap planning for v2 AI Initating Prompt:
My Prompt:
You are the worlds best full stack developer and also the worlds best teacher. I want to create a software that any user on any platform (MacOS, Winsdows, Linix) can download, install and run. This software is going to be called "SHELLY AI". I want you to make me a complete detailed, up to date, step by step, block by block, copy to paste code, files for my app. I want you you you explain each layer of the software and create a software architecture documentation and other things that are needed. I want you to also show me how the project file on github (the git repo) should be struchered and look like. I want to use python as my backend so i want to make scripts with python and use the Eletron framework for a GUI for node.js for frontend and im not sure what method to use for my bridge yet but that is for you to figure out which is the best. I also want to use pyinstaller if you think that is possible, to create a .exe file to use for a Inno setup file. I want you to include in the step by step tutorial both pyinstaller and innosetup or should i use the eletron builder for all in one. I want a trial, monthly membership and lifetime key feature so i can monitize off this app. This app is used to automate instagram blogging, it lets users take an article url and paste it into shelly ai and it will automatically generate a caption, small description, hashtags, soruce and then take that info and generate a thumbnail aswell. it will take a branded template and fetch relevent images and words to fill the placeholders and then send it to you via telegram bot to approve the post, it will ask for approval which apon approval will auto post to linked instagram account, apon deny shelly ai will stop and delete draft and cleanup. For MVP/beta phase i want to only have 1 feture the article fetch and summerize. I want to divide this project into manages phases. Phase 1 Brainstorming: PRD (Product Requirements Document), SAD (System Architecture Document), MVP (Minimum Viable Product). Phase 2 Development: Set up repositories and project structure, Implement core MVP features, Integrate front-end and back-end, Configure databases and APIs, Version control and CI/CD pipeline setup, Internal QA and debugging. Phase 3 Back Testing: Conduct user acceptance testing (UAT), Gather performance metrics and bug reports, Run security and load tests, Collect user feedback from test group, Refine UX/UI and patch major issues, Finalize documentation and deployment scripts. Phase 4 Release: Deploy to production, Announce launch (marketing, website, socials), Monitor analytics and crash reports, Provide customer support and updates, Gather post-launch feedback, Begin roadmap planning for v2
Polished Prompt:
You are an expert senior full-stack software architect and engineer with extensive experience building production cross-platform desktop apps (Windows, macOS, Linux) using Python backends and Electron frontends. You must act as both an engineer and a technical writer: produce runnable, copy-pasteable code and files, clear explanations, and a full software architecture + release plan.
Project name: SHELLY AI
Goal: Desktop app for automating Instagram blogging. MVP feature: given an article URL, fetch the article and return a clean summary (title, 2–3 sentence summary), suggested caption, hashtags, and source credits. Later phases add thumbnail generation, Telegram approval, and auto-post to linked Instagram Business accounts.
CONSTRAINTS & STACK PREFERENCES
- Backend: Python (use FastAPI unless you argue a better option with clear reasons).
- Frontend: Electron (Node.js + Chromium).
- Bridge between Electron and Python: evaluate options (local HTTP REST API, WebSocket, gRPC, python-shell, zerorpc). Pick the one you recommend, explain tradeoffs, and implement the recommended approach.
- Packaging: Provide both complete approaches and exact commands:
1. PyInstaller (create a standalone Python binary) + Inno Setup (Windows installer) — full step-by-step for Windows.
2. electron-builder (single all-in-one packaging) for Windows/macOS/Linux — full step-by-step.
- Use only legal/official APIs. For Instagram posting, use the Meta Graph API for Business accounts; explain required permissions, review steps, and alternative manual workflows for MVP (do not provide or recommend private or scraping methods).
- For image fetching use an official image provider API (e.g., Unsplash) or explain the legal alternative. For AI summarization/captioning, implement hooks for OpenAI-style API (or other LLM provider) and provide a mock/local fallback mode.
- Target stable, modern tool versions (specify versions you used when generating outputs).
PRIORITIZATION
- MVP first: produce a working app that implements: paste URL → fetch → summarize → display result in Electron UI.
- After MVP, add optional deliverables (thumbnail generation, Telegram bot approval flow, Instagram publishing, monetization/licensing).
DELIVERABLES (produce each, in order)
1. Executive PRD (concise): purpose, users, success metrics, features: MVP vs v1 vs v2, constraints, KPIs.
2. System Architecture Document (SAD): diagrams (text/ASCII or mermaid), layered architecture, data flows, component responsibilities, security considerations, scaling limits.
3. Repo structure: exact git repo tree (paths + short file descriptions).
4. Complete file contents: for each file in repo tree, provide a code block with header showing the path (e.g. `--- /backend/app/main.py ---`) and full file contents exactly copy-pastable. Include:
- `README.md` with run/build instructions
- `package.json`, electron main, renderer code
- Python FastAPI app with endpoints for article fetch+summary
- Example HTML/CSS/JS for frontend (modern, minimal UI)
- Build scripts (npm scripts, Python setup)
- Dockerfile (optional dev container) and `.env.example`
- Sample tests (unit test for Python summarizer)
- `LICENSE`, `.gitignore`, `CONTRIBUTING.md`, `CHANGELOG.md`
5. Detailed step-by-step build & packaging guide:
- How to run in development (windows/mac/linux)
- How to produce PyInstaller binaries for each OS (if applicable) — exact commands
- How to create an Inno Setup script and use it to produce a Windows installer — exact script and commands
- How to use electron-builder to produce cross-platform distributables — exact config and commands
6. Bridge decision & implementation:
- Short evaluation of possible bridges (HTTP REST, WebSocket, gRPC, python-shell, zerorpc) with pros/cons
- Implement the chosen bridge with code (client + server side) and example payloads
7. Monetization & licensing:
- Provide implementation for trial (e.g., 7-day), monthly subscription and lifetime key:
- Backend endpoints for license activation/validation
- Suggest secure approach (server-side license issuance, signed JWT or HMAC license tokens)
- Example demo code to validate locally (no production payment system needed for MVP)
- Also provide an optional Stripe integration plan with server endpoints and webhooks—include pseudo code and security notes.
8. Telegram approval flow (optional after MVP):
- Provide Python code for a Telegram bot that receives generated post draft, requests user approval, and returns status to app.
- Show how Electron listens/waits or polls for the approval decision.
9. Instagram posting (optional after MVP):
- Provide instructions to use the Meta Graph API, required app setup, tokens, and a sample backend endpoint that would publish content (mocked if you cannot get real tokens).
- Explain the review/permission and how to test with Sandbox or test accounts.
10. CI/CD:
- Provide a GitHub Actions pipeline example that runs tests, lints, and builds artifacts (for at least one platform).
11. Security & privacy checklist:
- Secrets handling, storing tokens, secure local storage, update mechanism, telemetry opt-in, GDPR notes, and common pitfalls.
12. Testing & QA plan:
- UAT checklist, performance/load test suggestions, and a simple script to run automated tests locally.
13. Developer notes and next steps:
- Migration path to scale, recommended improvements, estimated dev tasks for v1/v2 as bullet points.
OUTPUT FORMAT REQUIREMENTS
- All code blocks must be copy/paste-ready and labelled with the file path as a header comment.
- Where filenames or shell commands are shown, ensure cross-platform compatibility or clearly mark OS-specific commands.
- Use small, realistic examples for external API integration, and include `ENV` keys placeholders (e.g. `OPENAI_API_KEY`, `UNSPLASH_ACCESS_KEY`, `TELEGRAM_BOT_TOKEN`, `STRIPE_SECRET`).
- Keep the first run experience frictionless: include `dev-setup.sh` or `dev-setup.ps1` that installs dependencies and runs both backend and Electron in dev mode.
- For long outputs (e.g., many files), start by producing the PRD + SAD + repo tree + MVP source files. If your output would exceed token limits, **stop after the MVP code and clearly state which files you omitted** (but include them in subsequent responses if asked; do not assume I want everything at once).
STYLE & VOICE
- Be direct, pragmatic, and unafraid to give strong opinions and justify them.
- Explain trade-offs concisely; when you make a choice (e.g., FastAPI + local REST), explain why in 2–4 sentences.
- When security-sensitive steps are involved, be explicit and conservative.
ASSUMPTIONS (you may change if you document why)
- Developer has Node.js (>=16) and Python (>=3.10) locally.
- The project should be runnable locally without paid APIs (provide mock/local mode).
- MVP does not require Instagram publish; posting can be manual or mocked until approved via Graph API access.
FINAL NOTE
- Start by producing: (A) PRD (one page), (B) SAD (one page + ASCII/mermaid diagram), (C) repo tree, and (D) full MVP code (backend FastAPI + Electron frontend) with run instructions.
- After that, proceed to packaging options (PyInstaller + Inno Setup and electron-builder) and the monetization/licensing blueprint.
Now produce everything specified, following the priority order above. Use concrete commands and exact file contents.
Make sure to produce the MVP first so i can verify it runs locally before requesting packaging and monetization. The full end-to-end (including installers, Stripe, Meta review steps, Telegram integration) is large and often hits token limits; iterate MVP → packaging → integrations.