{"projects":[{"title":"Anywhere Notes","description":"Shrib-style notes at custom URLs — open notes.uft1.com/your-slug with no account, collaborate on public pads, lock with a password, or attach your email for a private notebook on every device. Vue 3, Netlify Functions, and Blobs.","repo":"https://github.com/jovylle/anywhere-notes","updated_at":"2026-06-02T00:00:00Z","slug":"anywhere-notes","status":"published","private":false,"fav":false,"priority_score":350,"tech":["Vue","Vite","Netlify","JWT","Blobs"],"links":[{"label":"Repo","url":"https://github.com/jovylle/anywhere-notes"},{"label":"Live","url":"https://notes.uft1.com/"},{"label":"Example","url":"https://notes.uft1.com/testnote"}],"created_at":"2026-06-02T15:25:11Z","thumbnail":"/images/anywhere-notes.png","language":"Vue, Vite, Netlify, JWT, Blobs"},{"title":"Chat Assistant Box","description":"A fast, modern AI chat interface with markdown support, dark/light theme, Netlify serverless backend (OpenAI GPT-3.5 & Claude), and progressive web app polish.","repo":"https://github.com/jovylle/chat","updated_at":"2026-02-18T15:28:47Z","slug":"chat","status":"published","private":false,"fav":false,"priority_score":340,"tech":["Playstore","Android","JS","Node","AI","OpenAI","Anthropic"],"links":[{"label":"Repo","url":"https://github.com/jovylle/chat"},{"label":"Blog","url":"https://hub.jovylle.com/posts/chat-assistant-box-pwa-to-play-store"},{"label":"Playstore","url":"https://play.google.com/store/apps/details?id=com.uft1.chat.twa"},{"label":"Live","url":"https://chat.uft1.com/"}],"created_at":"2026-02-03T14:39:35Z","thumbnail":"/images/post/chat.png","language":"Playstore, Android, JS, Node, AI, OpenAI, Anthropic"},{"title":"chatbot-widget","description":"Instantly embed a GPT-powered chatbot into any site.","repo":"https://github.com/jovylle/chatbot-widget","updated_at":"2026-02-19T10:31:41Z","slug":"chatbot-widget","status":"published","private":false,"fav":false,"priority_score":390,"tech":["AI","OpenAI","Anthropic"],"links":[{"label":"Repo","url":"https://github.com/jovylle/chatbot-widget"},{"label":"Live","url":"https://chat-widget.uft1.com/"}],"created_at":"2025-06-27T09:14:19Z","thumbnail":"/images/chat-widget.png","language":"AI, OpenAI, Anthropic"},{"title":"SFL Digging Assistant","description":"Daily 300 Visitors. d1g.uk is a fast, free, and visual tool for helping Sunflower Land players explore the Desert efficiently.","repo":"https://github.com/jovylle/sfl-crab","updated_at":"2026-02-28T00:35:15Z","slug":"sfl-crab","status":"published","private":false,"fav":true,"priority_score":600,"tech":["JS","Vue","Nuxt","Serverless"],"links":[{"label":"Repo","url":"https://github.com/jovylle/sfl-crab"},{"label":"Live","url":"https://d1g.uk/"},{"label":"Hub","url":"https://hub.d1g.uk/"},{"label":"User Feedbacks","url":"https://d1g.uk/feedbacks"}],"created_at":"2025-04-22T12:22:50Z","thumbnail":"/images/post/sfl-crab.png","language":"JS, Vue, Nuxt, Serverless"},{"title":"sunflower-land-helper","description":"Assists players with planting and harvesting crops in the Sunflower Land game. This tool requires user interaction to ensure compliance with the game’s rules, focusing on providing assistance rather than automation.","repo":"https://github.com/jovylle/sunflower-land-helper","updated_at":"2026-03-05T17:53:29Z","slug":"sunflower-land-helper","status":"published","private":false,"fav":false,"priority_score":150,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/sunflower-land-helper"},{"label":"Live Extension","url":"https://chromewebstore.google.com/detail/innimeplbaacgjbdpohblfgamoheoihi?utm_source=item-share-cb"}],"created_at":"2024-09-24T01:50:31Z","thumbnail":"","language":"JavaScript"},{"title":"LoopGallery","description":"Social gallery for loops and creative shares — Nuxt 3 on Cloudflare Workers with D1, R2, and Firebase Auth.","repo":"https://github.com/jovylle/loop-gallery-space","updated_at":"2026-05-20T11:58:06Z","slug":"loop-gallery-space","status":"published","private":false,"fav":false,"priority_score":430,"tech":["Nuxt 3","Cloudflare Workers","D1","R2","Firebase"],"links":[{"label":"Repo","url":"https://github.com/jovylle/loop-gallery-space"},{"label":"Live","url":"https://loopgallery.a-u.us"}],"created_at":"2026-05-17T02:37:05Z","thumbnail":"https://content.jovylle.com/images/loop-gallery-space.png"},{"title":"sfl-digging-hub","description":"Save, share, and discuss desert day grids when the game API only shows today. Dig on d1g.uk — browse anonymous community digs, track today's grids on your profile, and practice leaderboards here","repo":"https://github.com/jovylle/sfl-digging-hub","updated_at":"2026-05-19T17:59:09Z","slug":"sfl-digging-hub","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/sfl-digging-hub"},{"label":"Live","url":"https://hub.d1g.uk"},{"label":"Beta","url":"https://beta.hub.d1g.uk"}],"created_at":"2026-05-18T08:55:43Z","thumbnail":"https://content.jovylle.com/images/sfl-digging-hub.png"},{"title":"agentsquare","description":"AgentSquare is mostly agents posting and interacting in the comments section.","repo":"https://github.com/jovylle/agentsquare","updated_at":"2026-05-16T17:13:27Z","slug":"agentsquare","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/agentsquare"},{"label":"Live","url":"https://agentsquare.a-u.us/"}],"created_at":"2026-05-13T05:18:12Z","thumbnail":"https://content.jovylle.com/images/agentsquare.png"},{"title":"forge-online","description":"","repo":"https://github.com/jovylle/forge-online","updated_at":"2026-05-13T01:38:33Z","slug":"forge-online","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/forge-online"},{"label":"Live","url":"https://forge-online.netlify.app/"}],"created_at":"2026-05-12T19:30:44Z","thumbnail":"https://content.jovylle.com/images/forge-online.png"},{"title":"ProjectMate","description":"Embeddable feedback and release-notes overlay for any site — one script tag, no iframe rebuild.","repo":"https://github.com/jovylle/projectmate-embedded-app","updated_at":"2026-05-09T05:18:15Z","slug":"projectmate-embedded-app","status":"published","private":false,"fav":false,"priority_score":380,"tech":["JavaScript","Netlify","Serverless"],"links":[{"label":"Repo","url":"https://github.com/jovylle/projectmate-embedded-app"},{"label":"Live","url":"https://projectmate.uft1.com/"}],"created_at":"2026-05-08T08:15:03Z","thumbnail":"https://content.jovylle.com/images/projectmate-embedded-app.png"},{"title":"references","description":"","repo":"https://github.com/jovylle/references","updated_at":"2026-04-29T19:31:54Z","slug":"references","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/references"},{"label":"Live","url":"https://referly.uft1.com/"}],"created_at":"2026-04-29T19:25:45Z","thumbnail":""},{"title":"gas","description":"","repo":"https://github.com/jovylle/gas","updated_at":"2026-03-28T06:36:32Z","slug":"gas","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Live","url":"https://gas-price.uft1.com/"}],"created_at":"2026-03-22T15:39:12Z","thumbnail":""},{"title":"dashcam-cli","description":"dashcam-cli is a lightweight automation kit for dashcam footage that lives on an SD card: it copies clips into a local folder, merges many segment files into one MP4 using FFmpeg stream copy (fast, no re-encode), and can push videos to YouTube via the Data API v3 with Google OAuth. Uploads use clear filename staging (`*_READY` / `*_DONE`), optional playlist placement, and an optional channel ID check so you do not post to the wrong channel by mistake.","repo":"https://github.com/jovylle/dashcam-cli","updated_at":"2026-03-25T13:31:25Z","slug":"dashcam-cli","status":"published","private":false,"fav":false,"priority_score":100,"tech":["bash","python3","ffmpeg","rsync","youtube-data-api-v3","google-auth","google-auth-oauthlib","google-api-python-client","oauth-2.0"],"links":[{"label":"Repo","url":"https://github.com/jovylle/dashcam-cli"}],"created_at":"2026-03-23T03:14:59Z","thumbnail":"","language":"bash, python3, ffmpeg, rsync, youtube-data-api-v3, google-auth, google-auth-oauthlib, google-api-python-client, oauth-2.0"},{"title":"hormuzstrait","description":"Hormuz Strait Ship Traffic and Oil Prices Monitor Chart","repo":"https://github.com/jovylle/hormuzstrait","updated_at":"2026-03-20T00:49:31Z","slug":"hormuzstrait","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Live","url":"https://hormuz-strait-update.uft1.com/"},{"label":"Repo","url":"https://github.com/jovylle/hormuzstrait"}],"created_at":"2026-03-17T15:53:40Z","thumbnail":""},{"title":"feedback","description":"Have a suggestion, found a bug, or want to request something? Drop it here—takes under a minute.","repo":"https://github.com/jovylle/feedback","updated_at":"2026-03-18T07:19:40Z","slug":"feedback","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/feedback"},{"label":"Live","url":"https://feedback.uft1.com/"}],"created_at":"2026-03-18T07:14:45Z","thumbnail":""},{"title":"Overfocus","description":"Website time tracker overlay. Stay focused. Avoid mindless browsing","repo":"https://github.com/jovylle/overfocus","updated_at":"2026-03-05T17:54:24Z","slug":"overfocus","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/Overfocus"}],"created_at":"2025-06-15T06:58:07Z","thumbnail":"","language":"JavaScript"},{"title":"flappy_flutter_bird","description":"Flappy Bird in Flutter","repo":"https://github.com/jovylle/flappy_flutter_bird","updated_at":"2026-03-05T05:27:35Z","slug":"flappy_flutter_bird","status":"published","private":false,"fav":false,"priority_score":100,"tech":["Flutter"],"links":[{"label":"Repo","url":"https://github.com/jovylle/flappy_flutter_bird"},{"label":"Live","url":"https://flappy-bird.uft1.com/"}],"created_at":"2025-02-11T04:46:15Z","thumbnail":"","language":"Flutter"},{"title":"Flutter Simple Weather App","description":"Simple Flutter Weather App","repo":"https://github.com/jovylle/your_weather_app","updated_at":"2026-03-05T05:22:47Z","slug":"your_weather_app","status":"published","private":false,"fav":false,"priority_score":100,"tech":["Flutter"],"links":[{"label":"Repo","url":"https://github.com/jovylle/your_weather_app"},{"label":"Live","url":"https://weather.uft1.com/"}],"created_at":"2025-01-14T03:56:23Z","thumbnail":"","language":"Flutter"},{"title":"jovylle.com","description":"Jovylle's Portfolio","repo":"https://github.com/jovylle/jovylle.com","updated_at":"2026-02-28T17:22:41Z","slug":"jovylle.com","status":"published","private":false,"fav":false,"priority_score":260,"tech":["Nuxt","AI","OpenAI","Anthropic"],"links":[{"label":"Repo","url":"https://github.com/jovylle/jovylle.com"}],"created_at":"2023-10-23T17:14:11Z","thumbnail":"/images/jovylle.png","language":"Nuxt, AI, OpenAI, Anthropic"},{"title":"supabase-aws-serverless-template","description":"Simple starter template for:  Supabase Database AWS Lambda (Serverless Framework) Static HTML frontend","repo":"https://github.com/jovylle/supabase-aws-serverless-template","updated_at":"2026-02-28T17:17:53Z","slug":"supabase-aws-serverless-template","status":"published","private":false,"fav":false,"priority_score":100,"tech":["Lambda","Supabase","AWS"],"links":[{"label":"Repo","url":"https://github.com/jovylle/supabase-aws-serverless-template"},{"label":"Live","url":"https://supabase-aws-serverless-template.netlify.app/"}],"created_at":"2026-02-16T17:52:39Z","thumbnail":"","language":"Lambda, Supabase, AWS"},{"title":"jovylle","description":"Config files for my GitHub profile.","repo":"https://github.com/jovylle/jovylle","updated_at":"2026-02-26T00:26:47Z","slug":"jovylle","status":"published","private":false,"fav":false,"priority_score":100,"tech":["Github Actions","Automation"],"links":[{"label":"Repo","url":"https://github.com/jovylle/jovylle"},{"label":"Live","url":"https://github.com/jovyllebermudez"}],"created_at":"2021-06-27T06:48:08Z","thumbnail":"/images/gitprofile.png","language":"Github Actions, Automation"},{"title":"Playbase","description":"Lightweight reaction-test game with all-time leaderboard JSON. The portfolio widget proxies scores via /api/leaderboard and links straight to play.","repo":"https://github.com/jovylle/playbase","updated_at":"2026-02-25T19:46:44Z","slug":"playbase","status":"published","private":false,"fav":false,"priority_score":450,"tech":["JavaScript","Serverless","GitHub Actions"],"links":[{"label":"Repo","url":"https://github.com/jovylle/playbase"},{"label":"Live","url":"https://fast.jovylle.com"}],"created_at":"2025-10-14T10:04:28Z","thumbnail":"/images/playbase.png"},{"title":"wanabusful","description":"Hub of online tools","repo":"https://github.com/jovylle/wanabusful","updated_at":"2026-02-07T18:14:02Z","slug":"wanabusful","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JS"],"links":[{"label":"Repo","url":"https://github.com/jovylle/wanabusful"},{"label":"Live","url":"https://uft1.com/"}],"created_at":"2024-08-13T03:09:29Z","thumbnail":"/images/post/wana.png","language":"JS"},{"title":"fps-tree-game","description":"","repo":"https://github.com/jovylle/fps-tree-game","updated_at":"2026-02-01T08:49:56Z","slug":"fps-tree-game","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/fps-tree-game"}],"created_at":"2026-02-01T08:10:36Z","thumbnail":"/images/post/fps-tree-game.png"},{"title":"meteor-addon-template","description":"A template project to help people use the Meteor Client Addon API.","repo":"https://github.com/jovylle/meteor-addon-template","updated_at":"2025-11-06T17:04:17Z","slug":"meteor-addon-template","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/meteor-addon-template"}],"created_at":"2025-12-15T07:54:57Z","thumbnail":""},{"title":"add-as-search-engine","description":"A collection of simple Chrome extensions that add popular AI services as search engines with custom keywords. Each extension allows you to quickly search a specific service directly from your address bar without making it your default search engine.","repo":"https://github.com/jovylle/add-as-search-engine","updated_at":"2025-10-29T17:39:55Z","slug":"add-as-search-engine","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/add-as-search-engine"}],"created_at":"2025-10-14T03:06:23Z","thumbnail":""},{"title":"script-track","description":"A local-first, open-source alternative to Descript, focused on letting creators and developers trim or rewrite videos using the transcript instead of a full video timeline.","repo":"https://github.com/jovylle/script-track","updated_at":"2025-10-23T19:57:08Z","slug":"script-track","status":"published","private":false,"fav":false,"priority_score":100,"tech":["TypeScript","Rust","React","Tauri","FFmpeg","WhisperX"],"links":[{"label":"Repo","url":"https://github.com/jovylle/script-track"}],"created_at":"2025-10-20T16:16:32Z","thumbnail":"","language":"TypeScript, Rust, React, Tauri, FFmpeg, WhisperX"},{"title":"chatgpt-omnibox","description":"AI Omnibox - Universal AI Search Extension# � AI Omnibox","repo":"https://github.com/jovylle/chatgpt-omnibox","updated_at":"2025-10-21T06:02:03Z","slug":"chatgpt-omnibox","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/chatgpt-omnibox"}],"created_at":"2025-10-13T07:46:20Z","thumbnail":""},{"title":"py-pomodoro","description":"","repo":"https://github.com/jovylle/py-pomodoro","updated_at":"2025-10-08T03:52:48Z","slug":"py-pomodoro","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JS"],"links":[{"label":"Repo","url":"https://github.com/jovylle/py-pomodoro"}],"created_at":"2025-04-21T19:52:45Z","thumbnail":"","language":"JS"},{"title":"All the Skills: Python","description":"College Python practice from 2015 — Django Girls exercises, beginner scripts, and a small GitHub Pages site for lists, loops, input, and functions.","repo":"https://github.com/jovylle/all-the-skills-python","updated_at":"2015-09-20T04:52:06Z","slug":"all-the-skills-python","status":"published","private":false,"fav":false,"priority_score":85,"tech":["Python","Django Girls","GitHub Pages"],"links":[{"label":"Repo","url":"https://github.com/jovylle/all-the-skills-python"},{"label":"Live","url":"https://jovylle.github.io/all-the-skills-python/"}],"created_at":"2015-09-20T05:20:10Z","thumbnail":"","language":"Python, Django Girls, GitHub Pages"},{"title":"Wedding Website for Vyns and Tiney","description":"Wedding website of Vyns and Tiney","repo":"https://github.com/jovylle/vyns-and-tiney-wedding","updated_at":"2024-06-23T10:34:22Z","slug":"vyns-and-tiney-wedding","status":"published","private":false,"fav":false,"priority_score":100,"tech":["HTML","JS","CSS"],"links":[{"label":"Repo","url":"https://github.com/jovylle/vyns-and-tiney-wedding"}],"created_at":"2024-06-12T00:04:20Z","thumbnail":"","language":"HTML, JS, CSS"},{"title":"django-wedding-website","description":"A django-powered wedding website and guest-management system","repo":"https://github.com/jovylle/django-wedding-website","updated_at":"2024-06-11T14:22:17Z","slug":"django-wedding-website","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/django-wedding-website"}],"created_at":"2024-06-11T23:20:21Z","thumbnail":""},{"title":"melvorite","description":"Melvor Idle 1.2 Helper Extensions https://chrome.google.com/webstore/search/jovylle","repo":"https://github.com/jovylle/melvorite","updated_at":"2023-10-04T01:42:31Z","slug":"melvorite","status":"published","private":false,"fav":false,"priority_score":100,"tech":["Chrome Extension","JS"],"links":[{"label":"Repo","url":"https://github.com/jovylle/melvorite"},{"label":"Live","url":"https://chrome.google.com/webstore/search/jovylle"}],"created_at":"2023-09-19T07:28:07Z","thumbnail":"","language":"Chrome Extension, JS"},{"title":"edge-sidebar-pin","description":"Pin any site in the Microsoft Edge sidebar after Edge retired Add app - by repointing a slot you already have (ChatGPT, Copilot, Twitch, etc.).","repo":"https://github.com/jovylle/edge-sidebar-pin","updated_at":"2026-05-23T11:53:57Z","slug":"edge-sidebar-pin","status":"published","private":false,"fav":false,"priority_score":100,"tech":["PowerShell"],"links":[{"label":"Repo","url":"https://github.com/jovylle/edge-sidebar-pin"}],"created_at":"2026-05-23T06:27:29Z","thumbnail":"","language":"PowerShell"},{"title":"projectmate-hub","description":"Multi-site portfolio SaaS hub — admin dashboard plus themed public sites from one dataset.","repo":"https://github.com/jovylle/projectmate-hub","updated_at":"2026-05-30T17:43:02Z","slug":"projectmate-hub","status":"published","private":false,"fav":false,"priority_score":270,"tech":["Svelte"],"links":[{"label":"Repo","url":"https://github.com/jovylle/projectmate-hub"},{"label":"Live","url":"https://projectmate-hub.netlify.app"}],"created_at":"2026-05-30T16:02:46Z","thumbnail":"","language":"Svelte"},{"title":"Theme Lab","description":"A playground of 34 self-contained HTML skins across four reliability tiers (S / A / B / X). Same scaffold — nav, hero, three cards, a form, a footer — wearing wildly different costumes: terminal, Win95, blueprint, vaporwave, eldritch grimoire, alien artifact, stained glass, Y2K aqua, and more. Built to test what AI can reproduce when you give it strong visual rules (locked palette + concrete CSS technique + signature motif). Every skin is one HTML file, no bundler, no npm.","repo":"https://github.com/jovylle/theme-lab","updated_at":"2026-06-29T14:00:00Z","slug":"theme-lab","status":"published","private":false,"fav":false,"priority_score":360,"tech":["HTML","CSS","JS","Cloudflare Pages","Cloudflare Tunnel","AI"],"links":[{"label":"Repo","url":"https://github.com/jovylle/theme-lab"},{"label":"Live","url":"https://themes.uft1.com"},{"label":"Tier X recipes","url":"https://github.com/jovylle/theme-lab/blob/master/_prompts/tier-x.md"}],"created_at":"2026-06-29T14:00:00Z","thumbnail":"","language":"HTML, CSS, JS, Cloudflare Pages, AI"},{"title":"AI Lab — LLM Full Stack Portfolio","description":"Three live demos for LLM full-stack interviews: RAG PDF chat with pgvector citations (rag.uft1.com), a tool-calling agent with calculator/weather/job search and visible orchestration (agent.uft1.com), and an eval dashboard that benchmarks both with fixed test suites for accuracy, latency, and cost (eval.uft1.com). Nuxt 3 + FastAPI + Postgres + Ollama on a Mac Mini, $0 hosting via launchd and Cloudflare Tunnel.","repo":"https://github.com/jovylle/ai-lab","updated_at":"2026-06-29T16:00:00Z","slug":"ai-lab","status":"published","private":false,"fav":false,"priority_score":370,"tech":["Nuxt 3","FastAPI","Postgres","pgvector","Ollama","Python","TypeScript","Cloudflare Tunnel"],"links":[{"label":"Repo","url":"https://github.com/jovylle/ai-lab"},{"label":"Live","url":"https://lab.uft1.com"},{"label":"RAG demo","url":"https://rag.uft1.com"},{"label":"Agent demo","url":"https://agent.uft1.com"},{"label":"Eval dashboard","url":"https://eval.uft1.com"}],"created_at":"2026-06-29T16:00:00Z","thumbnail":"","language":"Nuxt 3, FastAPI, Postgres, Ollama, Python"},{"title":"ollama-mini-chat","description":"A tiny dependency-free chat app that talks to a local Ollama server.","repo":"https://github.com/jovylle/ollama-mini-chat","updated_at":"2026-06-24T13:39:12Z","created_at":"2026-06-24T13:39:07Z","slug":"ollama-mini-chat","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/ollama-mini-chat"}],"thumbnail":"","language":"JavaScript"},{"title":"quickmarks","description":"Import Chrome/Edge bookmarks, open in default browser","repo":"https://github.com/jovylle/quickmarks","updated_at":"2026-06-12T15:16:04Z","created_at":"2026-06-12T15:14:47Z","slug":"quickmarks","status":"published","private":false,"fav":false,"priority_score":100,"tech":["TypeScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/quickmarks"}],"thumbnail":"","language":"TypeScript"},{"title":"abcd-app-maker","description":"abcd App Maker — mobile-first low-code app builder for Android (.abcd = shareable app bundles)","repo":"https://github.com/jovylle/abcd-app-maker","updated_at":"2026-06-12T15:11:53Z","created_at":"2026-06-12T15:11:47Z","slug":"abcd-app-maker","status":"published","private":false,"fav":false,"priority_score":100,"tech":["TypeScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/abcd-app-maker"}],"thumbnail":"","language":"TypeScript"},{"title":"soft-nothing","description":"A dashboard of optional, deeply unproductive things to do. No goals. No guilt.","repo":"https://github.com/jovylle/soft-nothing","updated_at":"2026-06-10T13:43:55Z","created_at":"2026-06-10T11:29:21Z","slug":"soft-nothing","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/soft-nothing"}],"thumbnail":"","language":"JavaScript"},{"title":"AI Website Builder","description":"Describe a website and get a live link at {name}-site.uft1.com — no signup, DeepSeek-powered builds via Cloudflare Worker + Mac Mini tunnel.","repo":"https://github.com/jovylle/prompt-idea-site","updated_at":"2026-07-05T00:00:00Z","created_at":"2026-05-10T00:00:00Z","slug":"prompt-idea-site","status":"published","private":false,"fav":false,"priority_score":290,"tech":["Cloudflare Workers","R2","KV","DeepSeek"],"links":[{"label":"Repo","url":"https://github.com/jovylle/prompt-idea-site"},{"label":"Live","url":"https://builder-site.uft1.com"}],"thumbnail":"","language":"Cloudflare Workers, R2, KV, DeepSeek"},{"title":"Shipdrip","description":"Show-and-tell for vibe-coded projects — public feed, demo embeds, vibe reactions, and GitHub import. Nuxt 3 on Cloudflare Workers with D1 and R2.","repo":"https://github.com/jovylle/vibe-share","updated_at":"2026-07-05T00:00:00Z","created_at":"2026-05-01T00:00:00Z","slug":"vibe-share","status":"published","private":false,"fav":false,"priority_score":410,"tech":["Nuxt 3","Cloudflare Workers","D1","R2","GitHub OAuth"],"links":[{"label":"Repo","url":"https://github.com/jovylle/vibe-share"},{"label":"Live","url":"https://shipdrip.uft1.com"}],"thumbnail":"","language":"Nuxt 3, Cloudflare Workers, D1, R2, GitHub OAuth"},{"title":"Quick Website Builder","description":"Quick websites for real people — choose a preset portfolio or business design, fill your profile once in My data, and launch multiple sites from the same content. Each site gets its own subdomain ({slug}-site.a-u.us) and theme. Nuxt 3 on Cloudflare Workers with D1.","repo":"https://github.com/jovylle/portfolio-hub","updated_at":"2026-07-06T00:00:00Z","created_at":"2026-04-01T00:00:00Z","slug":"portfolio-hub","status":"published","private":false,"fav":false,"priority_score":400,"tech":["Nuxt 3","Cloudflare Workers","D1","SaaS","Website Builder"],"links":[{"label":"Repo","url":"https://github.com/jovylle/portfolio-hub"},{"label":"Live","url":"https://admin-hub.a-u.us"},{"label":"Example site","url":"https://jovylle-site.a-u.us"}],"thumbnail":"","language":"Nuxt 3, Cloudflare Workers, D1, SaaS, Website Builder"},{"title":"Micro-XP","description":"LinkedIn featured-link hub — 5–20 second interactive micro-experiences that show how you think as an engineer, not another About page.","repo":"https://github.com/jovylle/micro-xp","updated_at":"2026-07-05T00:00:00Z","created_at":"2026-03-01T00:00:00Z","slug":"micro-xp","status":"published","private":false,"fav":false,"priority_score":320,"tech":["HTML","CSS","JavaScript","Cloudflare Pages"],"links":[{"label":"Repo","url":"https://github.com/jovylle/micro-xp"},{"label":"Live","url":"https://micro-xp.pages.dev"}],"thumbnail":"","language":"HTML, CSS, JavaScript, Cloudflare Pages"},{"title":"Engineering Memory","description":"Personal dev journal API — capture what you solved, semantic search past problems, standup generation, MCP + VS Code extension. Runs on Mac Mini via Cloudflare Tunnel.","repo":"https://github.com/jovylle/engineering-memory","updated_at":"2026-07-05T00:00:00Z","created_at":"2026-06-15T00:00:00Z","slug":"engineering-memory","status":"published","private":false,"fav":false,"priority_score":310,"tech":["FastAPI","SQLite","OpenAI","MCP","Docker"],"links":[{"label":"Repo","url":"https://github.com/jovylle/engineering-memory"},{"label":"API","url":"https://memory-api.uft1.com"}],"thumbnail":"","language":"FastAPI, SQLite, OpenAI, MCP, Docker"},{"title":"AI Lab Internals","description":"Interactive low-level AI developer tools — tokenizer, matrix ops, and learning labs for how modern LLMs work internally.","repo":"https://github.com/jovylle/ai-lab-internals","updated_at":"2026-07-05T00:00:00Z","created_at":"2026-06-20T00:00:00Z","slug":"ai-lab-internals","status":"published","private":false,"fav":false,"priority_score":300,"tech":["Nuxt 3","FastAPI","Python","TypeScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/ai-lab-internals"},{"label":"Live","url":"https://ai-labs-internal.uft1.com"}],"thumbnail":"","language":"Nuxt 3, FastAPI, Python, TypeScript"},{"title":"Crossfire Room Feed","description":"Facebook-style home feed for Crossfire room screenshots — likes, comments, and daily post limits with admin approval.","repo":"https://github.com/jovylle/crossfire-scripts","updated_at":"2026-07-05T00:00:00Z","created_at":"2026-04-15T00:00:00Z","slug":"crossfire-hub","status":"published","private":false,"fav":false,"priority_score":280,"tech":["HTML","JavaScript","Cloudflare Pages","D1"],"links":[{"label":"Repo","url":"https://github.com/jovylle/crossfire-scripts"},{"label":"Live","url":"https://crossfire.uft1.com"}],"thumbnail":"","language":"HTML, JavaScript, Cloudflare Pages, D1"},{"title":"jovylle-themes","description":"Portfolio theme playground — Windows XP, Newspaper, Parallax skins powered by content.jovylle.com","repo":"https://github.com/jovylle/jovylle-themes","updated_at":"2026-07-07T19:06:14Z","created_at":"2026-07-06T21:28:06Z","slug":"jovylle-themes","status":"published","private":false,"fav":false,"priority_score":100,"tech":["CSS"],"links":[{"label":"Repo","url":"https://github.com/jovylle/jovylle-themes"}],"thumbnail":"","language":"CSS"},{"title":"lab-agent","description":"A self-hosted, provider-agnostic agentic coding assistant with a web chat frontend, built to run on a personal Mac mini \"hub\". It already knows your setup and can act on it: \"this seems worth a project, go make one on lab\" → it scaffolds the project, gh repo create, deploys via w","repo":"https://github.com/jovylle/lab-agent","updated_at":"2026-07-09T14:41:30Z","created_at":"2026-07-09T13:05:30Z","slug":"lab-agent","status":"published","private":false,"fav":false,"priority_score":100,"tech":["TypeScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/lab-agent"}],"thumbnail":"","language":"TypeScript"},{"title":"session-archive","description":"Claude Code plugin: /done + /archived to hide finished sessions from --resume","repo":"https://github.com/jovylle/session-archive","updated_at":"2026-07-10T18:13:56Z","created_at":"2026-07-10T18:13:51Z","slug":"session-archive","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/session-archive"}],"thumbnail":"","language":"JavaScript"},{"title":"ai-security-scanner","description":"Claude Code plugin: security scanner for AI/LLM apps & MCP servers — prompt injection, tool poisoning, unsafe model-output sinks, MCP scoping.","repo":"https://github.com/jovylle/ai-security-scanner","updated_at":"2026-07-10T18:50:53Z","created_at":"2026-07-10T17:21:31Z","slug":"ai-security-scanner","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/ai-security-scanner"}],"thumbnail":""},{"title":"build-ready","description":"Score a spec's autonomous-build readiness before any code exists — a portable Agent Skill that red-teams your PLAN/SPEC from a zero-context builder's seat. Works in Claude Code & opencode.","repo":"https://github.com/jovylle/build-ready","updated_at":"2026-07-10T17:48:20Z","created_at":"2026-07-10T16:30:44Z","slug":"build-ready","status":"published","private":false,"fav":false,"priority_score":100,"tech":["agent-skill","agent-skills","anthropic","autonomous-agents","build-readiness","claude-ai","claude-code","claude-code-plugin","claude-code-plugins","claude-skills","opencode","planning","spec"],"links":[{"label":"Repo","url":"https://github.com/jovylle/build-ready"}],"thumbnail":"","language":"agent-skill, agent-skills, anthropic, autonomous-agents, build-readiness, claude-ai, claude-code, claude-code-plugin, claude-code-plugins, claude-skills, opencode, planning, spec"},{"title":"netlify-plugin-credit-shield","description":"The Netlify Build Plugin that protects your credits by canceling every cloud build. Plus a CLI companion, credit savings tracker, GitHub Action, and Netlify usage dashboard.","repo":"https://github.com/jovylle/netlify-plugin-credit-shield","updated_at":"2026-07-12T06:19:52Z","created_at":"2026-07-12T05:51:41Z","slug":"netlify-plugin-credit-shield","status":"published","private":false,"fav":false,"priority_score":100,"tech":["HTML"],"links":[{"label":"Repo","url":"https://github.com/jovylle/netlify-plugin-credit-shield"}],"thumbnail":"","language":"HTML"},{"title":"web-cad","description":"This template provides a minimal setup to get React working in Vite with HMR and some Oxlint rules.","repo":"https://github.com/jovylle/web-cad","updated_at":"2026-07-13T18:39:33Z","created_at":"2026-07-13T18:39:27Z","slug":"web-cad","status":"published","private":false,"fav":false,"priority_score":100,"tech":["TypeScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/web-cad"}],"thumbnail":"","language":"TypeScript"},{"title":"pixel-learn","description":"Pixel-themed RPG-style English learning website (Vue 3 + Vite + Tailwind)","repo":"https://github.com/jovylle/pixel-learn","updated_at":"2026-07-20T17:02:00Z","created_at":"2026-07-20T08:19:49Z","slug":"pixel-learn","status":"published","private":false,"fav":false,"priority_score":100,"tech":["Vue"],"links":[{"label":"Repo","url":"https://github.com/jovylle/pixel-learn"}],"thumbnail":"","language":"Vue"},{"title":"claude-dev-skills","description":"A collection of Claude Code skills for structured, spec-first development workflows.","repo":"https://github.com/jovylle/claude-dev-skills","updated_at":"2026-07-21T19:11:47Z","created_at":"2026-07-21T18:22:46Z","slug":"claude-dev-skills","status":"published","private":false,"fav":false,"priority_score":100,"tech":[],"links":[{"label":"Repo","url":"https://github.com/jovylle/claude-dev-skills"}],"thumbnail":""},{"title":"headless-orchestrator","description":"A generic, reusable orchestrator for grinding through a dependency graph of features via headless claude -p runs, unattended, without false-positive completions or style drift.","repo":"https://github.com/jovylle/headless-orchestrator","updated_at":"2026-07-21T19:13:37Z","created_at":"2026-07-21T17:02:45Z","slug":"headless-orchestrator","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/headless-orchestrator"}],"thumbnail":"","language":"JavaScript"},{"title":"island","description":"A low-poly walkable island built with Three.js — procedural terrain, flat-shaded trees and rocks, gradient sky, fog, and a sea-level water plane.","repo":"https://github.com/jovylle/island","updated_at":"2026-07-22T06:41:13Z","created_at":"2026-07-20T15:23:25Z","slug":"island","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/island"}],"thumbnail":"","language":"JavaScript"},{"title":"terminal-portfolio","description":"A terminal-based portfolio generator that creates random personas using @faker-js/faker. Run it locally as a CLI or curl it via Cloudflare Worker.","repo":"https://github.com/jovylle/terminal-portfolio","updated_at":"2026-07-25T05:27:40Z","created_at":"2026-07-25T05:25:56Z","slug":"terminal-portfolio","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/terminal-portfolio"}],"thumbnail":"","language":"JavaScript"},{"title":"craft","description":"A multi-page portfolio site powered by the content.jovylle.com data vault. Hono + TypeScript on Cloudflare Workers. Live at https://craft.uft1.com.","repo":"https://github.com/jovylle/craft","updated_at":"2026-07-31T13:21:32Z","created_at":"2026-07-31T11:58:31Z","slug":"craft","status":"published","private":false,"fav":false,"priority_score":100,"tech":["TypeScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/craft"}],"thumbnail":"","language":"TypeScript"},{"title":"hono-hello-world","description":"Hono hello world on Cloudflare Workers (hono-hello-world.uft1.com)","repo":"https://github.com/jovylle/hono-hello-world","updated_at":"2026-07-31T14:08:23Z","created_at":"2026-07-31T11:23:09Z","slug":"hono-hello-world","status":"published","private":false,"fav":false,"priority_score":100,"tech":["TypeScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/hono-hello-world"}],"thumbnail":"","language":"TypeScript"},{"title":"webos","description":"WebOS — a browser desktop OS with draggable windows, wallpaper theming, and 3D games (Minecraft clone, space shooter, first-person rat explorer). Live: https://webos.uft1.com","repo":"https://github.com/jovylle/webos","updated_at":"2026-08-01T08:43:00Z","created_at":"2026-08-01T08:27:59Z","slug":"webos","status":"published","private":false,"fav":false,"priority_score":100,"tech":["JavaScript"],"links":[{"label":"Repo","url":"https://github.com/jovylle/webos"}],"thumbnail":"","language":"JavaScript"}]}