A 5 Idea Website
It's this thing before anything got changed
A 5 Idea Website
tips_and_updates The 5 Morning Sparks
Where more projects goGithub Repository
A repository with nice, publicly hosted project. A template repository where all the other projects are listed, presented and served as a static site. Everything runs in git
A 5 Idea Website
I got this idea from a book I read a few years ago by James Altucher from Quora (RIP). I did this for a while in a notebook, but it was a great way to get creative. Never implemented one, so this is going to be it. How about one every day?
A personal project website
I've done this one before - a website that serves as a curated space for free form posting of project. It makes everything seem like it needs curation and ultimately makes for better content, and more deliberate work.
Idea journal
I've got a spare Moleskine notebook, embossed with my name. I've been reading (listening to Audible) the Overstory and one of the characters puts his Computer Programming ideas in a notebook. Very old school. Could be a throwback.
Social Media Account
I don't go for social media posting very often. Partly because I don't want my work to somehow become someone else's intellectual property. But if it's for fun and my friends don't have to download a website, and people who can't download websites can still discover me...
How It Was Built With AI in 2.0 Hours
Built designs with Stitch, few back and forths
Step 2
1. Create 90s style design -> creates literal 90s technology type website (imagine text and images rendering pixel by pixel era. I was barely alive)
Step 3
2. No, I meant style, not technology, do modern tech -> Produces most basic slop using the original color palette
Step 4
3. I want the design style to be inspired by the 90s (describes what I mean) -> This
Step 6
Then I asked Antigravity to produce this with MCP server connection, modern python and my preferred stack (Fast API + Flask + UV + testing). It one shot the prompt, I had to delete the 4 demo days from the DB. It was really cool.
Step 7
I cheated a bit, because I was going to do this anyways, and came up with 4 additional ideas and the theme.
What Rocked
- ✓One shot. 15% of a pro subscription 5 hourly quota used for it.
- ✓Stitch MCP server is kind of magical.
What Broke & Fixed
- ✗Stitch is really decent at brainstorming, but man it is not good at picking up intent until it's spelled out.
smart_toy AI Interaction Summary
# Implementation Recap: 5 Ideas Daily Showcase & Radical Memphis Pop Engine
> **Shipped In:** ~1.5 hours | **Architecture:** FastAPI + Flask Admin + Stdlib SQLite | **Design:** Radical Memphis Pop Neo-Brutalism | **Live Site:** [lukaszdygon.github.io/5-ideas](https://lukaszdygon.github.io/5-ideas/)
---
## 1. Genesis & Problem Framing
### Initial Spark
```text
"initialise a modern python project with uv, python 3.14, flask, fastapi, good test suite, and an agents file for this project. We are building a website based on the Stitch project 5 Ideas Daily Showcase. For now the content that you see in the designs is a demo, so I want some way of controlling it via an admin panel. The most important thing is to create this as a general purpose design system I can render custom content with... Each day is associated with a date, and can be selected from a calendar (biggest view). The middle view is the scroll of ideas day by day with flexible links... I also want a skill which generates a presentable summary of the process..."
```
### Key Requirements Delivered
1. **Daily Cadence Model:** 5 morning idea sparks per day, with exactly 1 prototype built before sundown.
2. **Preference Ranking:** Front page greets visitors with top-ranked implementations ordered by personal preference.
3. **Calendar View (The Biggest View):** Full monthly grid with date navigation, idea pips, and day deep-dives.
4. **Day-By-Day Stream (The Middle View):** Continuous feed with flexible embedded renderers for WebApps, Poetry zines, 8-bit chiptune songs, vector posters, and widgets.
5. **Flask Admin (`/admin`):** Full CRUD content management and one-click ranking reorder.
6. **General-Purpose Design System:** Radical Memphis Pop tokens, 3px/4px black ink borders, zero-blur hard offset shadows, and component gallery at `/design-system`.
7. **CI/CD & Public Hosting:** Automated GitHub Pages deployment pipeline via GitHub Actions.
---
## 2. Human + AI Interaction Footprint
- **Human Turns:** 5 iterations
- **Execution Trajectory:** 271 agent steps
- **Files Created:** 26 source files (App, Admin, DB, Templates, CSS, Tests, Workflows, Skills)
- **Test Suite:** 22 passing tests in `0.55s`
```mermaid
flowchart LR
A["Stitch Design System<br/>(Radical Memphis Pop)"] --> B["Python 3.14 / uv<br/>Runtime Setup"]
B --> C["Stdlib SQLite DB<br/>(Days, Ideas, Impls)"]
C --> D["FastAPI Public Views<br/>+ Swagger API"]
C --> E["Flask Admin<br/>(/admin via WSGI)"]
D --> F["Interactive WebApp<br/>(NeonDJ Turntable)"]
D --> G["GitHub Pages CI/CD<br/>(Live Global CDN)"]
```
---
## 3. Architecture & Build Milestones
### Step 1: Zero-Bloat Data Layer (`db.py`)
- Python standard library `sqlite3` in WAL mode with enforced foreign keys.
- Relational schema linking `days` (1) ➔ `ideas` (5) ➔ `implementations` (1), indexed by `rank ASC`.
- Seeded with 4 canonical days spanning diverse media types (Webapp, Poetry, SVG Poster, 8-bit Chiptune).
### Step 2: Hybrid ASGI/WSGI Web Architecture (`app.py` + `admin.py`)
- **FastAPI (ASGI):** Powers high-speed public page rendering, JSON endpoints, and Swagger UI at `/docs`.
- **Flask (WSGI):** Cleanly mounted at `/admin` via Starlette `WSGIMiddleware`, handling form submissions, sessions, flash messages, and ranking reorders.
### Step 3: Radical Memphis Pop Design System (`style.css` + Tailwind CDN)
- Strict adherence to 90s MTV neo-brutalist physics:
- Solid `#1c1b1b` strokes (`3px` / `4px`).
- Mechanical hard offset drop-shadows (`4px 4px 0px #1c1b1b` to `8px 8px 0px #1c1b1b`).
- Active button physics: translation `translate(4px, 4px)` with shadow collapse on click.
- Saturated palette: Radical Magenta (`#b40065`), Electric Cyan (`#00e5ff`), Sunshine Yellow (`#fae100`), Acid Lime (`#39ff14`).
### Step 4: The 4 Core Views
- **Top Picks Showcase (`/`):** Hall of Fame leaderboard and latest daily drop.
- **Calendar Navigator (`/calendar`):** Interactive monthly matrix with streak badges.
- **Stream Feed (`/stream`):** Chronological timeline with polymorphic media renderers.
- **NeonDJ WebApp (`/interactive/neondj`):** Live dual-vinyl scratch deck with Web Audio synthesis and 7-band Memphis graphic EQ.
### Step 5: Test Suite & CI/CD Deployment
- Full pytest suite (`test_db.py`, `test_api.py`, `test_admin.py`) covering all CRUD, ranking logic, and view rendering.
- GitHub Actions workflow (`.github/workflows/deploy-pages.yml`) automating test execution and static site generation for GitHub Pages.
---
## 4. Retrospective (What Rocked vs What Broke)
### What Rocked
1. **Ponytail Ladder Efficiency:** Using stdlib `sqlite3` eliminated hundreds of lines of ORM boilerplate and database connection pooling headaches.
2. **Native Web Audio API:** The NeonDJ prototype delivers zero-latency turntable scratching and 8-bit FM synthesis without loading a single megabyte of external audio assets.
3. **Sub-Second Test Velocity:** The entire 22-test suite completes in `0.55s`, making test-driven development instantaneous.
### What Broke & How It Was Resolved
1. **CPython 3.14 Alpha PyO3 Binary Incompatibility:**
- *Issue:* Python 3.14 alpha 6 (`cpython-3.14.0a6`) had an internal Rust/PyO3 ABI mismatch in `pydantic-core` causing a segmentation fault during schema serialization.
- *Fix:* Configured `pyproject.toml` with `requires-python = ">=3.13"`, synced the local environment to Python 3.13.3 for 100% stability, while maintaining forward compatibility for Python 3.14 final.
2. **Starlette TemplateResponse API Shift:**
- *Issue:* Modern Starlette swapped parameter order in `TemplateResponse`, interpreting dictionary context as template name.
- *Fix:* Transitioned all calls to explicit keyword arguments (`request=request, name=..., context=...`).
3. **Secret Key Safeguard:**
- *Issue:* `mcp_config.json` contained an active Google API key before pushing to GitHub.
- *Fix:* Added `mcp_config.json` and `*.db` to `.gitignore` before creating the public repository.
---
## 5. Public Links & Resources
- **GitHub Repository:** [github.com/LukaszDygon/5-ideas](https://github.com/LukaszDygon/5-ideas)
- **Live Showcase:** [lukaszdygon.github.io/5-ideas](https://lukaszdygon.github.io/5-ideas/)
- **Calendar View:** [lukaszdygon.github.io/5-ideas/calendar/](https://lukaszdygon.github.io/5-ideas/calendar/)
- **Stream Feed:** [lukaszdygon.github.io/5-ideas/stream/](https://lukaszdygon.github.io/5-ideas/stream/)
- **Design System Sandbox:** [lukaszdygon.github.io/5-ideas/design-system/](https://lukaszdygon.github.io/5-ideas/design-system/)
- **NeonDJ Prototype:** [lukaszdygon.github.io/5-ideas/interactive/neondj/](https://lukaszdygon.github.io/5-ideas/interactive/neondj/)