Skip to content

Instantly share code, notes, and snippets.

@hernad
Created November 7, 2025 13:39
Show Gist options
  • Select an option

  • Save hernad/33aa2204fc2f0f25050c0398383bb914 to your computer and use it in GitHub Desktop.

Select an option

Save hernad/33aa2204fc2f0f25050c0398383bb914 to your computer and use it in GitHub Desktop.
Blog Post Creation Session - Odoo PDF Generation Feature (2025-11-07)

Blog Post Creation Session - 2025-11-07

Session Overview

Date: 2025-11-07 Project: bring.out www website Task: Create blog post about PDF generation feature development Duration: ~30 minutes


Initial Request

User requested creation of a blog post describing the adventure of creating the automatic PDF generation option with Claude AI, based on the session document:

  • Source: /home/hernad/src/bringout/0/packages/odoo-bringout-l10n_ba_edi/input/SESSION_2025-11-07_PDF_GENERATION.md
  • Reference: GitHub Gist
  • Include files from: input/odoo_pdf_generation/

Steps Taken

1. Research & Planning

Actions:

  • Read the session summary document (SESSION_2025-11-07_PDF_GENERATION.md)
  • Explored existing blog post structure by reading odoo-2025.md
  • Identified visual assets in input/odoo_pdf_generation/:
    • fisc_auto_pdf.gif - Animated demo of the feature
    • claude_session_gen_gif_ses.png - Screenshot of Claude session
    • vscode_edi_ba.png - VS Code development environment
  • Read supporting documents:
    • PDF_AFTER_SUCCESS_FISCALIZATION.md - Original requirement
    • EDI_status_pdf.md - Related EDI status feature

2. Initial Blog Post Creation

File Created: /home/hernad/src/bringout/0/www/src/content/blog/odoo-pdf-generation-adventure.md

Initial Structure:

---
title: 'Automatska generacija PDF-a nakon fiskalizacije: Avantura sa Claude AI'
description: 'Kako smo implementirali automatsku generaciju PDF-a računa nakon uspješne fiskalizacije u Odoo-u - priča o 17 iteracija, greškama i konačnom rješenju'
pubDate: '2025-11-07'
heroImage: '/odoo/odoo_ba_invoice_fiskalni.png'
---

Content Sections:

  1. Uvod - Introduction to AI-assisted development
  2. Početni zahtjev - Initial requirements
  3. Razvojna avantura kroz verzije - Development journey in 5 phases:
    • Faza 1: Wrong approach (EDI server PDF)
    • Faza 2: Standard PDF attempt
    • Faza 3: Duplicate problem
    • Faza 4: GPT-5 consultation
    • Faza 5: Final discovery
  4. Dodatni zahtjevi - Additional requirements
  5. Izmijenjeni fajlovi - Modified files
  6. Ključne lekcije - Key learnings
  7. Istorija verzija - Version history table
  8. Statistika - Statistics
  9. Test checklist - Testing checklist
  10. Zaključak - Conclusion
  11. Lekcija o razvoju sa AI - AI development lessons

3. Asset Management

Actions:

  • Created directory: /home/hernad/src/bringout/0/www/public/odoo_pdf_generation/
  • Copied all assets from input to public folder for web access

4. Started Dev Server

Command: npm run dev

5. Iterative Improvements

Iteration 1: Headline & Hero Image Update

User Feedback: "headline is not proper use: @input/odoo_pdf_generation/claude_session_gen_gif_ses.png"

Changes:

  • Updated title: '17 iteracija do savršenstva: Razvoj Odoo fiskalizacije uz Claude AI'
  • Changed hero image from generic invoice to: /odoo_pdf_generation/vscode_edi_ba.png
  • Added new section "Funkcionalnost u akciji" with animated GIF
  • Added Claude Code session screenshot
  • Added "Alati koje koristimo" section listing development tools

Iteration 2: Remove PostgreSQL Section

User Feedback: "PostgreSQL Service konfiguracija za testiranje is irrelevant for blog post"

Changes:

  • Removed entire "PostgreSQL Service konfiguracija za testiranje" subsection
  • Kept focus on main development story

Iteration 3: Remove Best Practices

User Feedback: "Best practice razvoja izbaciti"

Changes:

  • Removed "Best practice razvoja" section including:
    • Upravljanje verzijama
    • Logging strategija
    • Rukovanje greškama

Iteration 4: Remove Additional Requirements

User Feedback: "Dodatni zahtjevi: remove"

Changes:

  • Removed "Dodatni zahtjevi" section
  • Removed "Pristupačnost običnim korisnicima" subsection
  • Streamlined the flow from development journey directly to modified files

Iteration 5: Reorganize Claude Session

User Feedback: "Primjer Claude Code sesije - kreiranje animiranog GIF-a za dokumentaciju funkcionalnosti move to the end as section Claude sesije"

Changes:

  • Moved Claude Code screenshot from "Lekcija o razvoju sa AI" section
  • Created new dedicated section "Claude sesije" at the end
  • Added detailed explanation of how Claude helped with GIF creation:
    • File verification
    • FFmpeg command optimization
    • Resolution and framerate optimization
    • Custom palette for better colors
    • File size reduction from 1.7MB to 762KB

Final Blog Post Structure

1. Frontmatter (title, description, date, hero image)
2. Uvod (Introduction)
3. Funkcionalnost u akciji (Feature Demo with GIF)
4. Početni zahtjev (Initial Requirement)
5. Razvojna avantura kroz verzije (Development Journey)
   - Faza 1: Pogrešan pristup
   - Faza 2: Prelazak na standardni PDF
   - Faza 3: Problem duplikata
   - Faza 4: Konsultacija sa GPT-5
   - Faza 5: Konačno otkriće
6. Izmijenjeni fajlovi (Modified Files)
7. Ključne lekcije (Key Learnings)
8. Istorija verzija (Version History Table)
9. Statistika (Statistics)
10. Test checklist (Testing Checklist)
11. Zaključak (Conclusion)
12. Lekcija o razvoju sa AI (AI Development Lessons)
13. Alati koje koristimo (Tools Used)
14. Claude sesije (Claude Sessions - NEW!)
15. Reference (Links to GitHub)

Key Features of Final Blog Post

Visual Elements

  • Hero image: VS Code development environment
  • Animated GIF: Feature demonstration
  • Claude Code screenshot: Documentation preparation example

Technical Content

  • Complete 17-version journey with code examples
  • Version history table showing all iterations
  • Technical insights about Odoo PDF rendering
  • Real code snippets from the implementation

Narrative Elements

  • Story-driven approach
  • Honest about mistakes and wrong turns
  • Lessons learned from AI collaboration
  • Human perspective on AI-assisted development

Educational Value

  • Shows real development process
  • Demonstrates iterative problem-solving
  • Highlights importance of log analysis
  • Teaches about Odoo's internal mechanisms

Files Created/Modified

Created

  1. /home/hernad/src/bringout/0/www/src/content/blog/odoo-pdf-generation-adventure.md - Main blog post
  2. /home/hernad/src/bringout/0/www/public/odoo_pdf_generation/ - Asset directory
    • fisc_auto_pdf.gif
    • claude_session_gen_gif_ses.png
    • vscode_edi_ba.png

Technical Details

Blog Post Metadata

  • Word Count: ~2,500 words (estimated)
  • Code Blocks: 10+
  • Images: 3 (hero, GIF, screenshot)
  • Tables: 1 (version history)
  • External Links: 3 (GitHub references)

Development Tools Used

  • Astro dev server (v4.16.10)
  • Node.js/npm
  • Git
  • VS Code
  • Claude Code (Sonnet 4.5)

Outcome

Comprehensive blog post created covering:

  • Real development journey with AI
  • Technical implementation details
  • Visual demonstrations
  • Lessons learned
  • Tool showcase

Blog post is live on development server:

User-driven refinements completed:

  • Improved headline
  • Better visual hierarchy
  • Removed irrelevant technical details
  • Streamlined content flow
  • Added dedicated Claude sessions section

Next Steps (Suggested)

  1. Review blog post in browser
  2. Proofread for typos and clarity
  3. Test all links and images
  4. Build and deploy to production
  5. Share on social media/GitHub

Session Statistics

  • Total iterations: 6 (including initial creation)
  • Files created: 1 blog post + 1 asset directory
  • Assets copied: 3 images
  • Sections removed: 3 (PostgreSQL config, Best practices, Additional requirements)
  • Sections added: 2 (Funkcionalnost u akciji, Claude sesije)
  • Development time: ~30 minutes
  • Collaboration style: Iterative with user feedback

Key Learnings from This Session

  1. User feedback is essential - Blog post improved significantly through iterations
  2. Visual content matters - GIF and screenshots add value
  3. Focus is important - Removing irrelevant details strengthens the narrative
  4. Structure evolution - Initial structure evolved based on user preferences
  5. AI collaboration - Quick iterations possible with AI assistance

References

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment