{"id":34726091,"url":"https://github.com/seanivore/design-360","last_synced_at":"2026-05-26T10:32:47.579Z","repository":{"id":315619301,"uuid":"1058226281","full_name":"seanivore/design-360","owner":"seanivore","description":"Portfolio website that uses three template pages to dynamically pull projects from JSON files","archived":false,"fork":false,"pushed_at":"2026-05-18T09:31:06.000Z","size":178075,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"design-360","last_synced_at":"2026-05-18T11:28:42.879Z","etag":null,"topics":["404-page-trick","dynamic-site","github-hosted","html-css-javascript","json-file-configuration","polished","portfolio-website","single-page-applications","static-site","ui-design","ux-design","website-template"],"latest_commit_sha":null,"homepage":"https://www.august.style/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/seanivore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-16T19:50:50.000Z","updated_at":"2026-05-18T09:31:10.000Z","dependencies_parsed_at":"2025-09-19T17:51:37.589Z","dependency_job_id":"8a53cde8-6422-4fea-a922-1da31c09e22a","html_url":"https://github.com/seanivore/design-360","commit_stats":null,"previous_names":["seanivore/design-360"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/seanivore/design-360","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanivore%2Fdesign-360","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanivore%2Fdesign-360/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanivore%2Fdesign-360/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanivore%2Fdesign-360/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/seanivore","download_url":"https://codeload.github.com/seanivore/design-360/tar.gz/refs/heads/design-360","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/seanivore%2Fdesign-360/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33517111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T03:12:49.672Z","status":"ssl_error","status_checked_at":"2026-05-26T03:12:47.976Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["404-page-trick","dynamic-site","github-hosted","html-css-javascript","json-file-configuration","polished","portfolio-website","single-page-applications","static-site","ui-design","ux-design","website-template"],"created_at":"2025-12-25T02:28:00.438Z","updated_at":"2026-05-26T10:32:47.574Z","avatar_url":"https://github.com/seanivore.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# august.style\n\nPortfolio site for Sean August Horvath. JSON-driven architecture where all content is managed through structured entry files and a configurable homepage.\n\n**Live**: [august.style](https://august.style)\n\n---\n\n## Architecture\n\n- **37 project entries** as individual JSON files (`assets/entries/uid-*.json`)\n- **Tag-based filtering** across 4 groups: role, skill, product, company\n- **Configurable homepage** via `assets/js/homepage-content.json` — change tags to pivot for different job targets\n- **Images on CDN** at `cdn.august.style` (Cloudflare R2)\n- **Pre-rendered SEO** — `generate_manifest.py` outputs `/{slug}/index.html` with baked-in meta tags for social sharing\n- **Agentic entry creation** — AI agents can create new entries end-to-end using `assets/docs/ENTRY_SOP.md`\n\n## Key Files\n\n| File                               | Purpose                                                |\n| ---------------------------------- | ------------------------------------------------------ |\n| `index.html`                       | Homepage (landing page)                                |\n| `entry.html`                       | Entry page template                                    |\n| `section.html`                     | Universal tag/filter page                              |\n| `generate_manifest.py`             | Generates manifest + per-entry HTML with SEO meta tags |\n| `assets/js/homepage-content.json`  | Homepage section configuration                         |\n| `assets/js/data-loader.js`         | Data fetching, caching, filtering                      |\n| `assets/js/landing-controller.js`  | Homepage rendering                                     |\n| `assets/docs/ENTRY_SOP.md`         | Entry creation standard operating procedure            |\n| `assets/docs/JSON_ARCHITECTURE.md` | Full technical architecture reference                  |\n| `assets/docs/tags.json`            | Tag registry                                           |\n\n## Local Development\n\n```bash\npython3 -m http.server 5500 --bind 127.0.0.1\n```\n\nEntry pages use `?path=` parameter locally since `/{slug}/` routing requires GitHub Pages:\n\n```\nhttp://localhost:5500/                                          # Homepage\nhttp://localhost:5500/section.html?tags=Web+Developer           # Section\nhttp://localhost:5500/entry.html?path=saas-product-sale-features # Entry\n```\n\n## Adding a New Entry\n\nSee `assets/docs/ENTRY_SOP.md` for the full procedure. Quick reference:\n\n1. `python3 assets/scripts/new_project.py` — generate entry file\n2. Source + process images via Cloudinary\n3. Upload to R2 CDN (`aws s3 sync` with `--profile r2`)\n4. Fill out all JSON fields using CDN URLs\n5. Move to `assets/entries/`, validate, generate manifest\n\n## Generating Manifest + Entry HTML\n\n```bash\npython3 generate_manifest.py\n```\n\nThis outputs:\n- `assets/js/manifest.json` — slug-to-file mapping\n- `_pages/{slug}.html` — per-entry HTML with pre-rendered SEO meta tags (Jekyll collection)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanivore%2Fdesign-360","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseanivore%2Fdesign-360","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseanivore%2Fdesign-360/lists"}