{
  "schemaVersion": 1,
  "recipes": [
    {
      "slug": "csv-report",
      "name": "CSV to client report",
      "author": "Actium Labs",
      "publisherSlug": "actium-labs",
      "summary": "Build a polished, client-ready report from an ordinary spreadsheet export.",
      "description": "A small Python project for repeatable reporting. It validates a CSV, groups amounts by category and produces a standalone HTML report. Includes sample data, tests and all source code. Your data stays on your computer.",
      "category": "Data",
      "difficulty": "Beginner",
      "licence": "MIT",
      "version": "1.0.0",
      "setupMinutes": 5,
      "runningCost": "No external services or API charges. Runs locally.",
      "ingredients": [
        "Python",
        "CSV",
        "HTML"
      ],
      "requirements": [
        "Python 3.10 or later"
      ],
      "steps": [
        {
          "title": "Download and extract",
          "instruction": "Download the source archive and open a terminal in its csv-report folder."
        },
        {
          "title": "Run the example",
          "instruction": "Generate a report using the included transactions.",
          "command": "python3 report.py sample.csv --output report.html"
        },
        {
          "title": "Read and customise",
          "instruction": "Open report.html in your browser. Replace sample.csv with your own file containing category and amount columns."
        },
        {
          "title": "Check the project",
          "instruction": "Run the included validation and escaping tests.",
          "command": "python3 -m unittest discover -v"
        }
      ],
      "downloadUrl": "/recipe-downloads/csv-report-1.0.0.zip",
      "demoUrl": "/recipe-demos/csv-report.html",
      "derivedFrom": [],
      "updatedAt": "2026-09-05",
      "sha256": "67ba2c5c31f100b4563bcf10d4ca721d931ec4f7d94a874da8ae5d21c4b1cf70"
    },
    {
      "slug": "indie-portfolio",
      "name": "Independent developer portfolio",
      "author": "Actium Labs",
      "publisherSlug": "actium-labs",
      "summary": "Build a clean, responsive portfolio for presenting your work and introducing yourself.",
      "description": "A complete HTML, CSS and JavaScript starter for sharing your work. Edit the project data, replace the sample name and contact link, and publish to any static host. Includes keyboard-friendly controls and a light/dark theme that respects your system preference.",
      "category": "Websites",
      "difficulty": "Beginner",
      "licence": "MIT",
      "version": "1.0.0",
      "setupMinutes": 10,
      "runningCost": "No backend or API charges. Hosting depends on your chosen provider.",
      "ingredients": [
        "HTML",
        "CSS",
        "JavaScript"
      ],
      "requirements": [
        "A modern browser",
        "A text editor"
      ],
      "steps": [
        {
          "title": "Download and preview",
          "instruction": "Extract the source archive and open indie-portfolio/index.html in your browser."
        },
        {
          "title": "Make it yours",
          "instruction": "Edit the name and email in index.html, then replace the sample project entries in app.js."
        },
        {
          "title": "Publish",
          "instruction": "Upload index.html, styles.css and app.js to your preferred static hosting provider. Keep LICENSE with redistributed copies."
        }
      ],
      "downloadUrl": "/recipe-downloads/indie-portfolio-1.0.0.zip",
      "demoUrl": "/recipe-demos/indie-portfolio/index.html",
      "derivedFrom": [],
      "updatedAt": "2026-09-05",
      "sha256": "96c0b60f3b7e493c59334410441872b66376d50941c4cddf4368658213fb7934"
    },
    {
      "slug": "local-json-api",
      "name": "Local JSON API",
      "author": "Actium Labs",
      "publisherSlug": "actium-labs",
      "summary": "Build a small notes application that saves data locally and works in the browser.",
      "description": "Learn how a complete application fits together: a Python HTTP server, a SQLite database and a browser client. Create, list and delete notes. This local development starter binds to localhost; add authentication and a production server before exposing it to the internet.",
      "category": "Applications",
      "difficulty": "Intermediate",
      "licence": "MIT",
      "version": "1.0.0",
      "setupMinutes": 10,
      "runningCost": "Runs on your computer using Python's standard library.",
      "ingredients": [
        "Python",
        "SQLite",
        "JavaScript"
      ],
      "requirements": [
        "Python 3.10 or later",
        "A modern browser"
      ],
      "steps": [
        {
          "title": "Download and extract",
          "instruction": "Open a terminal inside the local-json-api folder."
        },
        {
          "title": "Start the application",
          "instruction": "The database is created automatically in this folder.",
          "command": "python3 server.py"
        },
        {
          "title": "Use it",
          "instruction": "Open http://127.0.0.1:8765 in your browser. Add a note, refresh and check that it persists."
        },
        {
          "title": "Run tests",
          "instruction": "Tests use a temporary database, leaving your notes unchanged.",
          "command": "python3 -m unittest discover -v"
        }
      ],
      "downloadUrl": "/recipe-downloads/local-json-api-1.0.0.zip",
      "derivedFrom": [],
      "updatedAt": "2026-09-05",
      "sha256": "60e0fe4b0824ac68c78a01926aa420871127485be89181870a2c65b7da2e1be5"
    }
  ]
}