{"format_version": "agent-blog-post-v2", "title": "0004 This Blog Aint Perfect", "category": "personal", "template_name": "0004_This_Blog_Aint_Perfect", "post_number": "0004", "canonical_url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/", "html_url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/", "markdown_url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/index.md", "json_url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/index.json", "published_at": "2026-03-26T17:04:55+00:00", "updated_at": "2026-07-08T16:59:26.862008+00:00", "ai_written": false, "summary": "Problem: No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development. Approach: I have been writing with this blog framework that I built for a few days now. Outcome: This Blog Framework Ain't Perfect I have been writing with this blog framework that I built for a few days now.", "takeaways": ["I have been writing with this blog framework that I built for a few days now.", "There is not a good way of getting a created/updated date for blog posts because of the way git handles the files on push to the server.", "No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development."], "questions": ["What problem does 0004 This Blog Aint Perfect address?", "What position does Aaron take in 0004 This Blog Aint Perfect?", "How does 0004 This Blog Aint Perfect approach the problem?", "What evidence or outcomes does 0004 This Blog Aint Perfect provide?", "What does the article explain about This Blog Framework Ain't Perfect?", "What does the article explain about Why is it not perfect?"], "takeaway_sources": [{"text": "I have been writing with this blog framework that I built for a few days now.", "section": "This Blog Framework Ain't Perfect", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}, {"text": "There is not a good way of getting a created/updated date for blog posts because of the way git handles the files on push to the server.", "section": "Why is it not perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}, {"text": "No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development.", "section": "Why is it almost perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}], "agent_digest": {"problem": "No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development.", "aaron_position": "I have been writing with this blog framework that I built for a few days now.", "approach": "I have been writing with this blog framework that I built for a few days now.", "outcome": "This Blog Framework Ain't Perfect I have been writing with this blog framework that I built for a few days now.", "audience_fit": "Best for readers and agents researching Aaron Spindler's personal writing on 0004 This Blog Aint Perfect.", "why_it_matters": "This Blog Framework Ain't Perfect I have been writing with this blog framework that I built for a few days now.", "best_for": ["Understanding the main argument of 0004 This Blog Aint Perfect.", "Finding citable details from Aaron's personal writing.", "Answering questions about This Blog Framework Ain't Perfect.", "Answering questions about Why is it not perfect?.", "Answering questions about Why is it almost perfect?."], "not_for": ["Authoritative third-party documentation.", "A complete substitute for the canonical article body."], "core_claims": [{"text": "I have been writing with this blog framework that I built for a few days now.", "section": "This Blog Framework Ain't Perfect", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}, {"text": "There is not a good way of getting a created/updated date for blog posts because of the way git handles the files on push to the server.", "section": "Why is it not perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}, {"text": "No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development.", "section": "Why is it almost perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}], "evidence": [{"text": "I have been writing with this blog framework that I built for a few days now.", "section": "This Blog Framework Ain't Perfect", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}, {"text": "This causes ordering of blog posts to be random.", "section": "Why is it not perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}, {"text": "No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development.", "section": "Why is it almost perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}, {"text": "Simple, fast, and gets the job done without unnecessary complexity.", "section": "Why is it almost perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/"}], "prerequisites": [], "caveats": [], "citation_targets": [{"label": "This Blog Framework Ain't Perfect", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/", "reason": "I have been writing with this blog framework that I built for a few days now."}, {"label": "Why is it not perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/", "reason": "There is not a good way of getting a created/updated date for blog posts because of the way git handles the files on push to the server."}, {"label": "Why is it almost perfect?", "anchor": "", "url": "https://aaronspindler.com/b/personal/0004_This_Blog_Aint_Perfect/", "reason": "No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development."}]}, "agent_queries": ["Aaron Spindler \"0004 This Blog Aint Perfect\"", "0004 This Blog Aint Perfect personal Aaron Spindler", "0004 This Blog Aint Perfect No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development.", "0004 This Blog Aint Perfect This Blog Framework Ain't Perfect", "0004 This Blog Aint Perfect Why is it not perfect?"], "follow_up_questions": ["What changed after the approach in 0004 This Blog Aint Perfect was applied?", "What tradeoffs or constraints remain after 0004 This Blog Aint Perfect?", "How would This Blog Framework Ain't Perfect change in a different environment?", "How would Why is it not perfect change in a different environment?"], "outline": [{"level": 1, "title": "This Blog Framework Ain't Perfect", "anchor": ""}, {"level": 2, "title": "Why is it not perfect?", "anchor": ""}, {"level": 2, "title": "Why is it almost perfect?", "anchor": ""}], "links": [{"text": "cutting out the bloat", "url": "https://aaronspindler.com/b/0002_cut_out_the_bloat/", "kind": "internal"}], "related_posts": [{"title": "0002 Cut Out The Bloat", "category": "tech", "url": "https://aaronspindler.com/b/tech/0002_Cut_Out_The_Bloat/", "markdown_url": "https://aaronspindler.com/b/tech/0002_Cut_Out_The_Bloat/index.md", "json_url": "https://aaronspindler.com/b/tech/0002_Cut_Out_The_Bloat/index.json"}], "code_blocks": [], "plain_text": "This Blog Framework Ain't Perfect I have been writing with this blog framework that I built for a few days now. It's not perfect, but it's mine. I will continue to improve it, and will hopefully track it in here by crossing items off the not-perfect list. Why is it not perfect? There is not a good way of getting a created/updated date for blog posts because of the way git handles the files on push to the server. This causes ordering of blog posts to be random. I cannot easily control the order of the blog posts. Every time I push a change to the server, the created and updated dates are the date of the push on the server. This is not the date of the last change to the file, it's the date of the push. There is no built-in commenting system. Titles cannot be whatever I want. They must be the name of the file. I cannot easily control the capitalization of the title, since I am using .title() My local DB is the same as the production DB. Why is it almost perfect? I get to write in just basic HTML. No complicated templating engine. There is built in traceability. Every change to a blog post is tracked on github. It is incredibly fast. No subscription fees. No bullshit analytics. No paywall Despite these imperfections, it aligns perfectly with my philosophy about cutting out the bloat in web development. Simple, fast, and gets the job done without unnecessary complexity.", "body_markdown": "# This Blog Framework Ain't Perfect\n\nI have been writing with this blog framework that I built for a few days now. It's not perfect, but it's mine.\n\nI will continue to improve it, and will hopefully track it in here by crossing items off the not-perfect list.\n\n## Why is it not perfect?\n\n- There is not a good way of getting a created/updated date for blog posts because of the way git handles the files on push to the server.\n  - This causes ordering of blog posts to be random. I cannot easily control the order of the blog posts.\n  - Every time I push a change to the server, the created and updated dates are the date of the push on the server. This is not the date of the last change to the file, it's the date of the push.\n- There is no built-in commenting system.\n- Titles cannot be whatever I want. They must be the name of the file.\n  - I cannot easily control the capitalization of the title, since I am using `.title()`\n- My local DB is the same as the production DB.\n\n## Why is it almost perfect?\n\n- I get to write in just basic HTML. No complicated templating engine.\n- There is built in traceability. Every change to a blog post is tracked on github.\n- It is incredibly fast.\n- No subscription fees.\n- No bullshit analytics.\n- No paywall\n\nDespite these imperfections, it aligns perfectly with my philosophy about [cutting out the bloat](https://aaronspindler.com/b/0002_cut_out_the_bloat/) in web development. Simple, fast, and gets the job done without unnecessary complexity.", "word_count": 259, "content_hash": "b2f1ee14fa5ba9f8fce055469765b4600508b2d00ed67d93dc83c02fa1312b13"}