|
1038
|
πKey by @ZiDi | Stardance
|
ZiDi
|
0
|
15.82
|
0
|
[]
|
[{"post_id": 6328, "ts": "2026 [{"post_id": 6328, "ts": "2026-06-10T17:25:48Z", "hours": 3.8253, "text": "Today I added USB Mode to the Pi_Key project, which allows the device to act as a portable AI configuration and data storage system. With this mode, AI settings and chat histories are stored directly on a USB flash drive, making the system fully portable across Linux, Windows, and macOS. The goal is to keep it simple and plug-and-play, so users can move their setup between machines without any extra setup. At the moment, the implementation is still in an early stage. There is no encryption or access protection, which means anyone with physical access to the USB drive can read all stored data, including API keys and chat histories. Security improvements are planned for future versions, including encryption and better protection for sensitive configuration data. Love u :3"}, {"post_id": 4992, "ts": "2026-06-08T17:14:17Z", "hours": 0.4158, "text": "I made a new design for Pi Key, I’ve already ordered it, and now I just hope it actually works. So what do I want to do next? Since I don’t need to work on the PCB for now, I’m going to focus on the software side. I want to make the app faster and smoother, clean up the code, and give it a more professional look. I also want to improve the GitHub repository so it looks well-structured and serious, not messy. On top of that, I want to build a proper website for the project. And if I finish the software in Python now, my next move is to rewrite the whole thing in Rust to make it faster, cleaner, and more solid. Basically: hardware is done for now — time to level up the software, the codebase, and the whole presentation. Love u :3"}, {"post_id": 4399, "ts": "2026-06-07T18:32:34Z", "hours": 0.7658, "text": "Fixing some bugs, repairing history saving love u :3"}, {"post_id": 3700, "ts": "2026-06-06T19:10:18Z", "hours": 3.2453, "text": "Currently working on an AI-powered chat system for Pi Key. Pi Key is evolving into much more than just an API key manager. The device is designed to securely store API keys, passwords, and chat histories while providing direct access to AI conversations. Current features: • AI Chat • API Key Storage • Password Manager • Chat History Storage Planned features: • Encrypted Data Storage • Local AI Processing • File Management • Secure Notes • Plugin System • Multi-Provider AI Support • Device-to-Device Sync • Custom Automations • Developer Tools • Terminal Access Thanks for support Love u :3"}, {"post_id": 2919, "ts": "2026-06-05T20:29:36Z", "hours": 2.2464, "text": "Working on AI API’s keys saving, connecting to openRouter, and some other things"}, {"post_id": 2312, "ts": "2026-06-04T18:50:02Z", "hours": 2.12, "text": "Some sneak pick from the app I’m working on for communication between PC and pi-key. It will also have support for adding API keys and communicating with AI bots and saving history locally. I’m also working on encrypted password storage and I’m thinking about rewriting all the code from this app and also from the software that runs on pi-key from python to rust."}, {"post_id": 1553, "ts": "2026-06-03T17:20:30Z", "hours": 1.2569, "text": "Testing programs on prototype :)"}, {"post_id": 937, "ts": "2026-06-02T18:15:14Z", "hours": 0.8025, "text": "Working on Simple Web-Site For now its just easy animation and repo button but in future I want to use it for something bigger… Maybe I am gonna buy domain for it"}, {"post_id": 894, "ts": "2026-06-02T16:52:16Z", "hours": 0.3511, "text": "Working on README in my repo"}, {"post_id": 283, "ts": "2026-06-01T14:56:08Z", "hours": 0.4242, "text": "Some 3D rendering :)"}, {"post_id": 236, "ts": "2026-06-01T11:12:17Z", "hours": 0.3639, "text": "Working on PCB :3"}]...
|
Title: πKey by @ZiDi | Stardance
Devlogs:
Working Title: πKey by @ZiDi | Stardance
Devlogs:
Working on PCB :3
Some 3D rendering :)
Working on README in my repo
Working on Simple Web-Site For now its just easy animation and repo button but in future I want to use it for something bigger… Maybe I am gonna buy domain for it
Testing programs on prototype :)
Some sneak pick from the app I’m working on for communication between PC and pi-key. It will also have support for adding API keys and communicating with AI bots and saving history locally. I’m also working on encrypted password storage and I’m thinking about rewriting all the code from this app and also from the software that runs on pi-key from python to rust.
Working on AI API’s keys saving, connecting to openRouter, and some other things
Currently working on an AI-powered chat system for Pi Key. Pi Key is evolving into much more than just an API key manager. The device is designed to securely store API keys, passwords, and chat histories while providing direct access to AI conversations. Current features: • AI Chat • API Key Storage • Password Manager • Chat History Storage Planned features: • Encrypted Data Storage • Local AI Processing • File Management • Secure Notes • Plugin System • Multi-Provider AI Support • Device-to-Device Sync • Custom Automations • Developer Tools • Terminal Access Thanks for support Love u :3
Fixing some bugs, repairing history saving love u :3
I made a new design for Pi Key, I’ve already ordered it, and now I just hope it actually works. So what do I want to do next? Since I don’t need to work on the PCB for now, I’m going to focus on the software side. I want to make the app faster and smoother, clean up the code, and give it a more professional look. I also want to improve the GitHub repository so it looks well-structured and serious, not messy. On top of that, I want to build a proper website for the project. And if I finish the software in Python now, my next move is to rewrite the whole thing in Rust to make it faster, cleaner, and more solid. Basically: hardware is done for now — time to level up the software, the codebase, and the whole presentation. Love u :3
Today I added USB Mode to the Pi_Key project, which allows the device to act as a portable AI configuration and data storage system. With this mode, AI settings and chat histories are stored directly on a USB flash drive, making the system fully portable across Linux, Windows, and macOS. The goal is to keep it simple and plug-and-play, so users can move their setup between machines without any extra setup. At the moment, the implementation is still in an early stage. There is no encryption or access protection, which means anyone with physical access to the USB drive can read all stored data, including API keys and chat histories. Security improvements are planned for future versions, including encryption and better protection for sensitive configuration data. Love u :3...
|
1792478905.7825334
|
1793083705.7825334
|
|
29808
|
İ built my first webos running the super mario bro İ built my first webos running the super mario bros3 by @cqwea | Stardance...
|
cqwea
|
2
|
2.52
|
1
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-03T21:00:02Z", "hours": 0.0, "multiplier": 3.19, "payout": 1, "blessing": "neutral", "text": "i faxed a major bug fixes that led to a crash and created a readme for the ship to get public on my first webos that can run a game", "repo": "https://github.com/cqwea/firstwebos", "demo": "https://cqweaos.netlify.app/main/"}, {"ship_num": 2, "ts": "2026-07-03T20:17:07Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "it was my first try of building a webos and i made it run a mario game", "repo": "https://github.com/cqwea/firstwebos", "demo": "https://cqweaos.netlify.app/main/"}]...
|
[{"post_id": 24001, "ts": "202 [{"post_id": 24001, "ts": "2026-07-07T08:46:09Z", "hours": 0.5228, "text": "after some work i coded my own snake game and ill ship it after i add a tutorial for the games and localstorage to keep your notes from not dissapearing ( thanks for the people rewieved my ideas and told me to do these )"}, {"post_id": 21752, "ts": "2026-07-03T20:56:07Z", "hours": 0.2667, "text": "so i fixed some major bugs and fixed the readme so my ship will get accepted"}, {"post_id": 21717, "ts": "2026-07-03T20:12:26Z", "hours": 1.6697, "text": "İ managed to get super mario bros. 3 on my webos !"}]...
|
Title: İ built my first webos running the super ma Title: İ built my first webos running the super mario bros3 by @cqwea | Stardance
Devlogs:
İ managed to get super mario bros. 3 on my webos !
so i fixed some major bugs and fixed the readme so my ship will get accepted
after some work i coded my own snake game and ill ship it after i add a tutorial for the games and localstorage to keep your notes from not dissapearing ( thanks for the people rewieved my ideas and told me to do these )
Ships:
it was my first try of building a webos and i made it run a mario game
i faxed a major bug fixes that led to a crash and created a readme for the ship to get public on my first webos that can run a game...
|
1792990584.4350824
|
1793076984.4350824
|
|
64026
|
öö by @rrm | Stardance
|
rrm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: öö by @rrm | Stardance
|
1792446474.618026
|
1793051274.618026
|
|
64038
|
öö by @rrm | Stardance
|
rrm
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: öö by @rrm | Stardance
|
1792446483.0633206
|
1793051283.0633206
|
|
66844
|
ØnyxZ a tool for ethical hackers by @0nyxZ | Stard ØnyxZ a tool for ethical hackers by @0nyxZ | Stardance...
|
0nyxZ
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ØnyxZ a tool for ethical hackers by @0nyxZ Title: ØnyxZ a tool for ethical hackers by @0nyxZ | Stardance...
|
1792461283.179932
|
1793066083.179932
|
|
37330
|
Ö-3D-Drucker by @Bouser23425 | Stardance
|
Bouser23425
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Ö-3D-Drucker by @Bouser23425 | Stardance
|
1792781315.0699759
|
1793386115.0699759
|
|
28445
|
Ítalo's Workshop! by @ItaloJDev | Stardance
|
ItaloJDev
|
1
|
2.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-30T13:51:01Z", "hours": 2.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I just shipped my personal workspace portfolio! This project was a deep dive into building a clean, functional digital home for my work. It features my recent projects and acts as a hub for my development journey. I used an AI-assisted workflow to speed up the coding and UI refinement process, ensuring that the final structure is solid and well-documented. AI Transparency: This project was developed with the assistance of AI tools to accelerate the workflow and refine technical implementation. While AI supported the brainstorming and coding processes, all logic was reviewed, tested, and integrated manually to ensure quality and maintain full project ownership", "repo": "https://github.com/neymardashopepaulwalker-blip/Italo-s-Workspace", "demo": "https://neymardashopepaulwalker-blip.github.io/Italo-s-Workspace/"}]...
|
[{"post_id": 19203, "ts": "202 [{"post_id": 19203, "ts": "2026-06-30T13:50:01Z", "hours": 0.6292, "text": "Finally wrapped up the core development of my portfolio site. Spent the last session refining the layout and ensuring everything is responsive. It is officially live, and I am really happy with how it turned out. Onto the next challenge!"}, {"post_id": 19169, "ts": "2026-06-30T12:54:07Z", "hours": 0.7767, "text": "Second area complete!"}, {"post_id": 18707, "ts": "2026-06-29T21:51:09Z", "hours": 0.3686, "text": "Looking good!"}, {"post_id": 18688, "ts": "2026-06-29T21:30:04Z", "hours": 0.5256, "text": "Doing the first visual now!"}]...
|
Title: Ítalo's Workshop! by @ItaloJDev | Stard Title: Ítalo's Workshop! by @ItaloJDev | Stardance
Devlogs:
Doing the first visual now!
Looking good!
Second area complete!
Finally wrapped up the core development of my portfolio site. Spent the last session refining the layout and ensuring everything is responsive. It is officially live, and I am really happy with how it turned out. Onto the next challenge!
Ships:
I just shipped my personal workspace portfolio! This project was a deep dive into building a clean, functional digital home for my work. It features my recent projects and acts as a hub for my development journey. I used an AI-assisted workflow to speed up the coding and UI refinement process, ensuring that the final structure is solid and well-documented. AI Transparency: This project was developed with the assistance of AI tools to accelerate the workflow and refine technical implementation. While AI supported the brainstorming and coding processes, all logic was reviewed, tested, and integrated manually to ensure quality and maintain full project ownership...
|
1792968652.5289888
|
1793055052.5289888
|
|
61141
|
Élan by @boberto | Stardance
|
boberto
|
0
|
15.09
|
0
|
[]
|
[{"post_id": 66408, "ts": "202 [{"post_id": 66408, "ts": "2026-09-12T07:00:37Z", "hours": 15.0875, "text": "REGAINING YOUR FOCUS ONE STEP AT A TIME!!! I keep opening my laptop to work and somehow ending up on YouTube 10 minutes later. So I started building Élan, a cross-platform momentum app designed to notice when you drift and gently pull you back. The first working MVP is Élan v0: a passive Mac focus companion + Chrome extension. You can find the landing page at elan-web-neon.vercel.app/ Right now, it can: Let you pick a task and distracting websites. Detect when you spend 5+ seconds on one of those sites. Send a gentle reminder instead of blocking anything. Give you 30 minutes of task-free browsing, plus 15 minutes after dismissing a reminder. Track aggregate focus time, reminders, and completed tasks."}]...
|
Title: Élan by @boberto | Stardance
Devlogs:
REGA Title: Élan by @boberto | Stardance
Devlogs:
REGAINING YOUR FOCUS ONE STEP AT A TIME!!! I keep opening my laptop to work and somehow ending up on YouTube 10 minutes later. So I started building Élan, a cross-platform momentum app designed to notice when you drift and gently pull you back. The first working MVP is Élan v0: a passive Mac focus companion + Chrome extension. You can find the landing page at elan-web-neon.vercel.app/ Right now, it can: Let you pick a task and distracting websites. Detect when you spend 5+ seconds on one of those sites. Send a gentle reminder instead of blocking anything. Give you 30 minutes of task-free browsing, plus 15 minutes after dismissing a reminder. Track aggregate focus time, reminders, and completed tasks....
|
1792428890.6207232
|
1793033690.6207232
|
|
13946
|
École Salish FRIMM Help by @harnidh_lohaniwal | St École Salish FRIMM Help by @harnidh_lohaniwal | Stardance...
|
harnidh_lohaniwal
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: École Salish FRIMM Help by @harnidh_lohaniw Title: École Salish FRIMM Help by @harnidh_lohaniwal | Stardance...
|
1792554565.6804287
|
1793159365.6804287
|
|
25954
|
ÆTHER OS by @SubhamtheBuilder | Stardance
|
SubhamtheBuilder
|
1
|
5.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T10:25:25Z", "hours": 5.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "Devlog 4 — “Ship It” Devlog 1 drew the canvas. Devlog 2 built the OS. Devlog 3 cut everything that wasn’t ready. This is the one where ÆTHER OS finally ships. Why I made this I wanted to answer a simple question: How much of a desktop operating system can exist inside a single browser tab using only HTML, CSS, and JavaScript? No React. No Electron. No backend. No build step. Just the browser. The result is ÆTHER OS ver 7 —a complete WebOS with a window manager, virtual filesystem, dock, menu bar, boot sequence, lock screen, and nine built-in applications. What ships 9 fully working applications Custom window manager with drag, resize, snapping, maximize, minimize, and Alt+Tab Virtual filesystem backed by localStorage Animated cosmic desktop with starfield and nebula Boot sequence, notifications, dock, menu bar, shortcuts, and synthesized UI sounds Everything is written in vanilla HTML, CSS, and JavaScript. No runtime dependencies. No build step. Around 5,700 lines of code . The hardest part The window manager. Getting windows to drag, resize, snap, animate, maintain focus, and interact correctly without leaking event listeners took more time than every individual app combined. The biggest lesson was that most bugs weren’t isolated. One bad shared system could create five different symptoms. Fixing the root cause almost always solved multiple problems at once. Am I proud of it? Absolutely. Not because it’s perfect, but because I kept cutting until everything left felt solid. Earlier versions had more apps. I removed anything that wasn’t ready to stand beside the rest. Shipping nine polished applications felt far better than shipping unfinished ideas. If you’re testing ÆTHER OS… Here’s what I’d recommend trying: Wait through the boot sequence and unlock the system. Open several apps and drag, resize, snap, minimize, and restore the windows. Open Void Navigator , then edit a file in Prism Editor and save it. Open Stellar Terminal and run neofetch , ls , or warp . Open Pulse Monitor and terminate a process (PID 1 has a surprise). Change wallpapers and dock settings in System Core . Triple-click any window titlebar to zoom-cycle. Try using the OS like a desktop for a few minutes. If something breaks, I want to know. What I learned Shipping is its own feature. One source of truth beats syncing multiple copies of data. Event listeners accumulate unless managed carefully. Cutting unfinished features improves the final product. Vanilla JavaScript is more capable than people often give it credit for. Live https://aether-os-ver7.vercel.app ✦ breathe the void — shipped", "repo": "https://github.com/hyper10203/aether-os", "demo": "https://aether-os-ver7.vercel.app/"}]...
|
[{"post_id": 16196, "ts": "202 [{"post_id": 16196, "ts": "2026-06-26T09:57:59Z", "hours": 0.2897, "text": "Devlog 3 — “ver 7” Devlog 1 drew the canvas. Devlog 2 built the OS. This one was about cutting features, fixing bugs, and shipping something I’m proud to show. What’s in ver 7 ÆTHER OS ver 7 is a cosmic WebOS built with HTML, CSS, and JavaScript . No framework, no build step, no runtime dependencies—just one HTML file, one CSS file, four JS files, and ~5,500 lines of code. The apps Ships with 9 built-in apps : Void Navigator — file explorer with folders, breadcrumbs, drag-and-drop, and wallpaper controls. Stellar Terminal — 18 commands including ls , cd , mkdir , mv , rm , neofetch , warp , and js . Prism Editor — line numbers, minimap, find/replace, themes, tabs, and Ctrl+S saving. Starlog — Markdown notes with search, live preview, and auto-save. Nebula Calc — scientific mode, DEG/RAD toggle, history, and expression rewriting. Pulse Monitor — live CPU, Memory, Network, Disk, and GPU charts with a process list. System Core — wallpapers, uploads, accent colors, dock settings, sounds, and reset. Cosmos Info — animated system specs and uptime. Shortcuts — keyboard shortcut reference. Window system Supports draggable titlebars, eight resize handles, edge and corner snapping, double-click maximize, triple-click zoom, minimize-to-dock animations, z-order updates, Alt+Tab switching, and a shared drag state that eliminates listener leaks. Virtual filesystem Everything is backed by one JSON tree stored in localStorage ( aether:fs ). The Terminal, desktop, File Explorer, and editor all use the same data. Move or delete a file anywhere and every app immediately reflects the change. Polish Added custom scrollbars, purple text selection, Google Fonts with preconnect , focused window glow, boot typing effects, dock magnification, spring animations, notification toasts, and six synthesized Web Audio sounds. What I cut Earlier builds contained more apps. I removed everything that wasn’t solid enough to ship. Nine polished apps are better than shipping unfinished features. Bugs fixed Twelve major release blockers, including: Window manager listener leaks Frozen menu bar clock Broken triple-click zoom Volume slider not affecting sound Pulse Monitor interval leak Missing desktop.js Music player syntax error Maximized windows behind the menu bar Ctrl+W closing the browser Scientific calculator layout Calculator expression parsing Starlog auto-save race condition The biggest fix was replacing per-window event listeners with one shared drag system, eliminating multiple unrelated bugs at once. What I learned Cutting is a feature. Shipping fewer polished apps beats shipping more unfinished ones. One source of truth. The virtual filesystem is a single JSON tree shared by every app. Event listeners accumulate. Install shared listeners once instead of per object. Fix root causes. One fix in shared code is better than many patches. Cleanup matters. Every timer or interval created must be cleaned up when a window closes. UI should never lie. If a control exists, it should actually control something. ✦ breathe the void P.S. Devlog was delayed. I forgot to post devlog 2 and just kept building, so Hackatime only shows 16 minutes on this one. The code didn’t write itself—I simply forgot to log the voyage. ;)"}, {"post_id": 16188, "ts": "2026-06-26T09:32:11Z", "hours": 2.4064, "text": "Devlog 2 — “Building the Void” Devlog 1 laid the foundation. This week was about turning ÆTHER OS into something that actually feels like an operating system: a real window manager, virtual filesystem, built-in apps, polish, shipping, and a bug-fixing marathon. What I built 1. Window manager The window manager now supports draggable titlebars, eight resize handles, edge and corner snapping, double-click maximize, triple-click zoom, minimize animations to the dock, close animations, and automatic z-order updates. One of the biggest bugs came from installing a new mousemove listener every drag. After enough windows were opened and closed, stale listeners accumulated, dragging became unreliable, and buttons stopped responding. The fix was a single shared drag state with listeners installed once. 2. Virtual filesystem + desktop The filesystem is stored as a JSON tree in localStorage ( aether:fs ). The Terminal supports ls , cd , cat , mkdir , touch , mv , cp , rm , rename , and more. The desktop renders /home/explorer as an icon grid with drag-and-drop, context menus, and File Explorer integration with folders, breadcrumbs, and direct file editing. 3. Apps Built eight core apps: Stellar Terminal — history, tab completion, neofetch , cowsay , warp , js , and more. Prism Editor — minimap, tabs, find/replace, themes, and Ctrl+S filesystem saving. Nebula Calc — scientific mode, DEG/RAD toggle, history, and expression rewriting. Starlog — Markdown notes with live preview and auto-save. Pulse Monitor — live CPU, Memory, Network, Disk, and GPU graphs. System Core — wallpapers, accent colors, dock settings, sounds, and reset. Cosmos Info — animated specs, uptime, and a hidden matrix-rain easter egg. Shortcuts — keyboard shortcut reference. 4. Polish Added custom scrollbars, purple selection, Inter + JetBrains Mono fonts, focused window glow, randomized boot typing, dock magnification, spring animations, notification toasts, and six synthesized Web Audio UI sounds. 5. First shipping attempt After deploying to Vercel, I spent thirty minutes using the OS like a real user and found another wave of bugs. The clock froze after unlock, the volume slider wasn’t wired, Ctrl+W closed the browser, the GPU chart was missing, the scientific calculator layout broke, maximized windows hid behind the menu bar, file opening crashed because of a template literal typo, and the window manager listener leak caused multiple unrelated issues. The biggest lesson: fix the root cause, not every symptom. 6. Analytics Integrated @vercel/analytics and @vercel/speed-insights to monitor production traffic and performance. Bugs fixed Thirty-five bugs spotted, including window snapping, Alt+Tab, filesystem edge cases, calculator fixes, audio leaks, notification cleanup, dock magnification, font loading, window manager listener leaks, frozen clock, GPU monitoring, wallpaper caching, Finder title sync, maximized window layout, and The biggest fix was removing duplicated event listeners from the window manager, solving several seemingly unrelated bugs at once. ✦ breathe the void"}, {"post_id": 16114, "ts": "2026-06-26T06:24:27Z", "hours": 1.8642, "text": "Devlog 1 — “Boot” Day 1 of Hack Club Stardance. The cosmic medium takes its first breath. I’ve been sketching this idea for weeks: a full-fledged WebOS that feels like diving into deep space. Today I finally wrote the first line of code. The commit log will be my captain’s log. Stardance only ships if you document the voyage, so here goes. What even is ÆTHER OS? ÆTHER (pronounced “ay-ther” ) is the Greek personification of the upper sky—the pure, glowing air above the mortal atmosphere. Later, physics borrowed the name for the theoretical medium that fills space and carries light. ÆTHER OS is a desktop environment running entirely in a browser tab: a window manager, menu bar, dock, virtual filesystem, and 12 built-in apps. No backend, no framework, no build step—just HTML, CSS, and JavaScript . Its design blends glassmorphism with cosmic depth: frosted panels over a parallax starfield with slowly morphing nebulae, using Void Black, Nebula Purple, and Cosmic Cyan. What I built today 1. The stellar scaffold The project consists of one index.html , one styles.css , and four JavaScript modules: core.js — boot, lock screen, menu bar, dock, notifications, sounds, shortcuts wm.js — window manager fs.js — virtual filesystem and desktop apps.js — all 12 apps No npm, bundler, or framework. Just globals and the DOM. 2. The cosmic background The desktop uses two animated layers: a <canvas> starfield rendered with requestAnimationFrame and a morphing nebula made from blurred radial gradients. Stars belong to near and far layers (parallax factors 18 and 6). Mouse movement is smoothed with: tmx += ( mx - tmx ) * 0.06 ; Near stars receive a cyan halo and subtle twinkle, while the nebula morphs over ~24-second cycles using filter: blur(80px) . 3. Boot sequence The boot log is typed line-by-line using await sleep(...) , alongside a progress bar and ASCII logo. The system announces NEBULA KERNEL v1.0.0 before printing fake kernel logs like: Spawning process init (PID 1) Calibrating cosmic background radiation… 2.725 K. 4. Lock screen A live clock, date, user avatar, decorative password field (any password works) , and click-anywhere-to-unlock. 5. Menu bar A macOS-style menu bar with the ÆTHER menu, active app name, Wi-Fi, battery, notifications, volume, and live clock. Context menus include working actions like New Window ( Ctrl+N ) , Close ( Ctrl+W ) , and Fullscreen ( F11 ) . 6. Sound engine All UI sounds are synthesized with the Web Audio API through a single helper: beep ( freq , duration , type , vol , slide ) Current sounds include boot, open, close, click, notification, and error. Bugs fixed # Problem Fix 1 Boot text blurred because it lived inside the nebula with filter: blur(80px) . Moved the boot overlay above the nebula layer using z-index . 2 Window z-order never updated. el.style.zIndex = ++zTop on focus. 3 Starfield broke after resize. Added a resize listener that updates and reseeds the canvas. Up next Next comes the window manager: dragging, resizing, minimizing, maximizing, snapping, z-order, spring animations, double-click maximize, triple-click zoom, and finally the dock with magnification. That’s when ÆTHER starts feeling like an operating system instead of a website. ✦ breathe the void"}]...
|
Title: ÆTHER OS by @SubhamtheBuilder | Stardance
Title: ÆTHER OS by @SubhamtheBuilder | Stardance
Devlogs:
Devlog 1 — “Boot” Day 1 of Hack Club Stardance. The cosmic medium takes its first breath. I’ve been sketching this idea for weeks: a full-fledged WebOS that feels like diving into deep space. Today I finally wrote the first line of code. The commit log will be my captain’s log. Stardance only ships if you document the voyage, so here goes. What even is ÆTHER OS? ÆTHER (pronounced “ay-ther” ) is the Greek personification of the upper sky—the pure, glowing air above the mortal atmosphere. Later, physics borrowed the name for the theoretical medium that fills space and carries light. ÆTHER OS is a desktop environment running entirely in a browser tab: a window manager, menu bar, dock, virtual filesystem, and 12 built-in apps. No backend, no framework, no build step—just HTML, CSS, and JavaScript . Its design blends glassmorphism with cosmic depth: frosted panels over a parallax starfield with slowly morphing nebulae, using Void Black, Nebula Purple, and Cosmic Cyan. What I built today 1. The stellar scaffold The project consists of one index.html , one styles.css , and four JavaScript modules: core.js — boot, lock screen, menu bar, dock, notifications, sounds, shortcuts wm.js — window manager fs.js — virtual filesystem and desktop apps.js — all 12 apps No npm, bundler, or framework. Just globals and the DOM. 2. The cosmic background The desktop uses two animated layers: a <canvas> starfield rendered with requestAnimationFrame and a morphing nebula made from blurred radial gradients. Stars belong to near and far layers (parallax factors 18 and 6). Mouse movement is smoothed with: tmx += ( mx - tmx ) * 0.06 ; Near stars receive a cyan halo and subtle twinkle, while the nebula morphs over ~24-second cycles using filter: blur(80px) . 3. Boot sequence The boot log is typed line-by-line using await sleep(...) , alongside a progress bar and ASCII logo. The system announces NEBULA KERNEL v1.0.0 before printing fake kernel logs like: Spawning process init (PID 1) Calibrating cosmic background radiation… 2.725 K. 4. Lock screen A live clock, date, user avatar, decorative password field (any password works) , and click-anywhere-to-unlock. 5. Menu bar A macOS-style menu bar with the ÆTHER menu, active app name, Wi-Fi, battery, notifications, volume, and live clock. Context menus include working actions like New Window ( Ctrl+N ) , Close ( Ctrl+W ) , and Fullscreen ( F11 ) . 6. Sound engine All UI sounds are synthesized with the Web Audio API through a single helper: beep ( freq , duration , type , vol , slide ) Current sounds include boot, open, close, click, notification, and error. Bugs fixed # Problem Fix 1 Boot text blurred because it lived inside the nebula with filter: blur(80px) . Moved the boot overlay above the nebula layer using z-index . 2 Window z-order never updated. el.style.zIndex = ++zTop on focus. 3 Starfield broke after resize. Added a resize listener that updates and reseeds the canvas. Up next Next comes the window manager: dragging, resizing, minimizing, maximizing, snapping, z-order, spring animations, double-click maximize, triple-click zoom, and finally the dock with magnification. That’s when ÆTHER starts feeling like an operating system instead of a website. ✦ breathe the void
Devlog 2 — “Building the Void” Devlog 1 laid the foundation. This week was about turning ÆTHER OS into something that actually feels like an operating system: a real window manager, virtual filesystem, built-in apps, polish, shipping, and a bug-fixing marathon. What I built 1. Window manager The window manager now supports draggable titlebars, eight resize handles, edge and corner snapping, double-click maximize, triple-click zoom, minimize animations to the dock, close animations, and automatic z-order updates. One of the biggest bugs came from installing a new mousemove listener every drag. After enough windows were opened and closed, stale listeners accumulated, dragging became unreliable, and buttons stopped responding. The fix was a single shared drag state with listeners installed once. 2. Virtual filesystem + desktop The filesystem is stored as a JSON tree in localStorage ( aether:fs ). The Terminal supports ls , cd , cat , mkdir , touch , mv , cp , rm , rename , and more. The desktop renders /home/explorer as an icon grid with drag-and-drop, context menus, and File Explorer integration with folders, breadcrumbs, and direct file editing. 3. Apps Built eight core apps: Stellar Terminal — history, tab completion, neofetch , cowsay , warp , js , and more. Prism Editor — minimap, tabs, find/replace, themes, and Ctrl+S filesystem saving. Nebula Calc — scientific mode, DEG/RAD toggle, history, and expression rewriting. Starlog — Markdown notes with live preview and auto-save. Pulse Monitor — live CPU, Memory, Network, Disk, and GPU graphs. System Core — wallpapers, accent colors, dock settings, sounds, and reset. Cosmos Info — animated specs, uptime, and a hidden matrix-rain easter egg. Shortcuts — keyboard shortcut reference. 4. Polish Added custom scrollbars, purple selection, Inter + JetBrains Mono fonts, focused window glow, randomized boot typing, dock magnification, spring animations, notification toasts, and six synthesized Web Audio UI sounds. 5. First shipping attempt After deploying to Vercel, I spent thirty minutes using the OS like a real user and found another wave of bugs. The clock froze after unlock, the volume slider wasn’t wired, Ctrl+W closed the browser, the GPU chart was missing, the scientific calculator layout broke, maximized windows hid behind the menu bar, file opening crashed because of a template literal typo, and the window manager listener leak caused multiple unrelated issues. The biggest lesson: fix the root cause, not every symptom. 6. Analytics Integrated @vercel/analytics and @vercel/speed-insights to monitor production traffic and performance. Bugs fixed Thirty-five bugs spotted, including window snapping, Alt+Tab, filesystem edge cases, calculator fixes, audio leaks, notification cleanup, dock magnification, font loading, window manager listener leaks, frozen clock, GPU monitoring, wallpaper caching, Finder title sync, maximized window layout, and The biggest fix was removing duplicated event listeners from the window manager, solving several seemingly unrelated bugs at once. ✦ breathe the void
Devlog 3 — “ver 7” Devlog 1 drew the canvas. Devlog 2 built the OS. This one was about cutting features, fixing bugs, and shipping something I’m proud to show. What’s in ver 7 ÆTHER OS ver 7 is a cosmic WebOS built with HTML, CSS, and JavaScript . No framework, no build step, no runtime dependencies—just one HTML file, one CSS file, four JS files, and ~5,500 lines of code. The apps Ships with 9 built-in apps : Void Navigator — file explorer with folders, breadcrumbs, drag-and-drop, and wallpaper controls. Stellar Terminal — 18 commands including ls , cd , mkdir , mv , rm , neofetch , warp , and js . Prism Editor — line numbers, minimap, find/replace, themes, tabs, and Ctrl+S saving. Starlog — Markdown notes with search, live preview, and auto-save. Nebula Calc — scientific mode, DEG/RAD toggle, history, and expression rewriting. Pulse Monitor — live CPU, Memory, Network, Disk, and GPU charts with a process list. System Core — wallpapers, uploads, accent colors, dock settings, sounds, and reset. Cosmos Info — animated system specs and uptime. Shortcuts — keyboard shortcut reference. Window system Supports draggable titlebars, eight resize handles, edge and corner snapping, double-click maximize, triple-click zoom, minimize-to-dock animations, z-order updates, Alt+Tab switching, and a shared drag state that eliminates listener leaks. Virtual filesystem Everything is backed by one JSON tree stored in localStorage ( aether:fs ). The Terminal, desktop, File Explorer, and editor all use the same data. Move or delete a file anywhere and every app immediately reflects the change. Polish Added custom scrollbars, purple text selection, Google Fonts with preconnect , focused window glow, boot typing effects, dock magnification, spring animations, notification toasts, and six synthesized Web Audio sounds. What I cut Earlier builds contained more apps. I removed everything that wasn’t solid enough to ship. Nine polished apps are better than shipping unfinished features. Bugs fixed Twelve major release blockers, including: Window manager listener leaks Frozen menu bar clock Broken triple-click zoom Volume slider not affecting sound Pulse Monitor interval leak Missing desktop.js Music player syntax error Maximized windows behind the menu bar Ctrl+W closing the browser Scientific calculator layout Calculator expression parsing Starlog auto-save race condition The biggest fix was replacing per-window event listeners with one shared drag system, eliminating multiple unrelated bugs at once. What I learned Cutting is a feature. Shipping fewer polished apps beats shipping more unfinished ones. One source of truth. The virtual filesystem is a single JSON tree shared by every app. Event listeners accumulate. Install shared listeners once instead of per object. Fix root causes. One fix in shared code is better than many patches. Cleanup matters. Every timer or interval created must be cleaned up when a window closes. UI should never lie. If a control exists, it should actually control something. ✦ breathe the void P.S. Devlog was delayed. I forgot to post devlog 2 and just kept building, so Hackatime only shows 16 minutes on this one. The code didn’t write itself—I simply forgot to log the voyage. ;)
Ships:
Devlog 4 — “Ship It” Devlog 1 drew the canvas. Devlog 2 built the OS. Devlog 3 cut everything that wasn’t ready. This is the one where ÆTHER OS finally ships. Why I made this I wanted to answer a simple question: How much of a desktop operating system can exist inside a single browser tab using only HTML, CSS, and JavaScript? No React. No Electron. No backend. No build step. Just the browser. The result is ÆTHER OS ver 7 —a complete WebOS with a window manager, virtual filesystem, dock, menu bar, boot sequence, lock screen, and nine built-in applications. What ships 9 fully working applications Custom window manager with drag, resize, snapping, maximize, minimize, and Alt+Tab Virtual filesystem backed by localStorage Animated cosmic desktop with starfield and nebula Boot sequence, notifications, dock, menu bar, shortcuts, and synthesized UI sounds Everything is written in vanilla HTML, CSS, and JavaScript. No runtime dependencies. No build step. Around 5,700 lines of code . The hardest part The window manager. Getting windows to drag, resize, snap, animate, maintain focus, and interact correctly without leaking event listeners took more time than every individual app combined. The biggest lesson was that most bugs weren’t isolated. One bad shared system could create five different symptoms. Fixing the root cause almost always solved multiple problems at once. Am I proud of it? Absolutely. Not because it’s perfect, but because I kept cutting until everything left felt solid. Earlier versions had more apps. I removed anything that wasn’t ready to stand beside the rest. Shipping nine polished applications felt far better than shipping unfinished ideas. If you’re testing ÆTHER OS… Here’s what I’d recommend trying: Wait through the boot sequence and unlock the system. Open several apps and drag, resize, snap, minimize, and restore the windows. Open Void Navigator , then edit a file in Prism Editor and save it. Open Stellar Terminal and run neofetch , ls , or warp . Open Pulse Monitor and terminate a process (PID 1 has a surprise). Change wallpapers and dock settings in System Core . Triple-click any window titlebar to zoom-cycle. Try using the OS like a desktop for a few minutes. If something breaks, I want to know. What I learned Shipping is its own feature. One source of truth beats syncing multiple copies of data. Event listeners accumulate unless managed carefully. Cutting unfinished features improves the final product. Vanilla JavaScript is more capable than people often give it credit for. Live https://aether-os-ver7.vercel.app ✦ breathe the void — shipped...
|
1792990117.1211374
|
1793076517.1211374
|
|
48185
|
~/SLAIR by @domos000 | Stardance
|
domos000
|
1
|
4.55
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-18T17:39:33Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "~/SLAIR is now LIVE! What is ~/SLAIR ? ~/SLAIR is a free-to-use Slack Bot packed with mini-games and a few things you probably didn’t know you needed! Where does the name ~/SLAIR come from? The name ~/SLAIR comes from my other project ~/KLAIR which was a Discord Bot. As this bot is similar to ~/KLAIR in features but for Slack instead of Discord, I’ve decided to name it ~/SLAIR . Features: ~/SLAIR is designed to be a small, fun, free-to-use bot that aims to add a bunch of entertaining features. Mini Games: /slair-coinflip Flip a coin /slair-guessthenumber Try to guess the number /slair-rps Challenge the bot /slair-unscramble Unscramble the word Other Commands: /slair-8ball Ask the magic 8-ball /slair-cat Get a random cat /slair-dog Get a random dog /slair-cryptoprice Check cryptocurrency prices /slair-uselessfact Receive a completely useless fact AI Usage: Used Gemini 3.1 Pro (High) in Antigravity to fix errors and bugs in the code which I couldn't figure out how to solve. AI was primarily used to debug /slair-unscramble and /slair-guessthenumber commands as I couldn't figure out how to open modals upon clicking a button.", "repo": "https://github.com/adeebur-x64/SLAIR", "demo": "https://hackclub.enterprise.slack.com/archives/C0BR0071C14"}]...
|
[{"post_id": 59693, "ts": "202 [{"post_id": 59693, "ts": "2026-09-01T16:48:52Z", "hours": 0.5453, "text": "Devlog - 5 I don’t remember what exactly I did but these 32 mins weren’t logged. What I do remember: I had worked on troubleshooting the bot and fixing errors / bugs in the code as well as writing the README.md file where most of this 32 minutes went."}, {"post_id": 48848, "ts": "2026-08-17T12:17:30Z", "hours": 1.3106, "text": "Devlog - 4 Aw man, I forgot to post a devlog againnnnnn! Anyways, I’ve now ported the /unscramble and /guessthenumber commands to ~/SLAIR now! Creating both of these commands was a challenge and I had to utilize Gemini 3.1 Pro (High) in Antigravity to get it working. The main challenge I faced was to make the modals open upon a button click and work exactly how modals do in Discord. Also, ignore the stuff I covered with red, those responses were just for testing what works and what bugs there are which I need to fix. => This is the last Devlog! I’ll NOT be adding the nim Mini Game to ~/SLAIR for now."}, {"post_id": 47961, "ts": "2026-08-16T07:31:16Z", "hours": 0.7831, "text": "Devlog - 3 Didn’t even realize it took me 46 minutes to make this lol. Anyways, I’ve now ported the /coinflip and /rockpaperscissors command to ~/SLAIR now! Creating this was somehow a challenge and I almost lost my mind trying to figure out how to get these buttons working! I’ll take a break for now and will be back with another Devlog very soon! This will most probably be one of the last few Devlogs before the first Ship!"}, {"post_id": 47942, "ts": "2026-08-16T06:35:54Z", "hours": 0.6028, "text": "Devlog - 2 Made some more progress in porting the features of ~/KLAIR to the Slack Bot ~/SLAIR . I’ve added the /cryptoprice and /8ball commands now which utilize the Slack Modal to ask the person for their input. I’ll try to port the mini games to ~/SLAIR too and that will be the V1 of the Slack Bot!"}, {"post_id": 47487, "ts": "2026-08-15T12:51:49Z", "hours": 0.8081, "text": "Devlog - 1 I started working on my Slack Bot and completely forgot I also need to post my progress here. Well, till now, I’ve been able to port the /cat , /dog and /uselessfact commands from my Discord Bot ~/KLAIR to this Slack Bot ~/SLAIR . => I will NOT be adding the AI features in this Slack Bot. (At least for now, I won’t). Where does the name ~/SLAIR come from? The name ~/SLAIR comes from the Discord Bot I made earlier /KLAIR but, instead of it being a Discord Bot, it’s a Slack Bot."}]...
|
Title: ~/SLAIR by @domos000 | Stardance
Devlogs:
Title: ~/SLAIR by @domos000 | Stardance
Devlogs:
Devlog - 1 I started working on my Slack Bot and completely forgot I also need to post my progress here. Well, till now, I’ve been able to port the /cat , /dog and /uselessfact commands from my Discord Bot ~/KLAIR to this Slack Bot ~/SLAIR . => I will NOT be adding the AI features in this Slack Bot. (At least for now, I won’t). Where does the name ~/SLAIR come from? The name ~/SLAIR comes from the Discord Bot I made earlier /KLAIR but, instead of it being a Discord Bot, it’s a Slack Bot.
Devlog - 2 Made some more progress in porting the features of ~/KLAIR to the Slack Bot ~/SLAIR . I’ve added the /cryptoprice and /8ball commands now which utilize the Slack Modal to ask the person for their input. I’ll try to port the mini games to ~/SLAIR too and that will be the V1 of the Slack Bot!
Devlog - 3 Didn’t even realize it took me 46 minutes to make this lol. Anyways, I’ve now ported the /coinflip and /rockpaperscissors command to ~/SLAIR now! Creating this was somehow a challenge and I almost lost my mind trying to figure out how to get these buttons working! I’ll take a break for now and will be back with another Devlog very soon! This will most probably be one of the last few Devlogs before the first Ship!
Devlog - 4 Aw man, I forgot to post a devlog againnnnnn! Anyways, I’ve now ported the /unscramble and /guessthenumber commands to ~/SLAIR now! Creating both of these commands was a challenge and I had to utilize Gemini 3.1 Pro (High) in Antigravity to get it working. The main challenge I faced was to make the modals open upon a button click and work exactly how modals do in Discord. Also, ignore the stuff I covered with red, those responses were just for testing what works and what bugs there are which I need to fix. => This is the last Devlog! I’ll NOT be adding the nim Mini Game to ~/SLAIR for now.
Devlog - 5 I don’t remember what exactly I did but these 32 mins weren’t logged. What I do remember: I had worked on troubleshooting the bot and fixing errors / bugs in the code as well as writing the README.md file where most of this 32 minutes went.
Ships:
~/SLAIR is now LIVE! What is ~/SLAIR ? ~/SLAIR is a free-to-use Slack Bot packed with mini-games and a few things you probably didn’t know you needed! Where does the name ~/SLAIR come from? The name ~/SLAIR comes from my other project ~/KLAIR which was a Discord Bot. As this bot is similar to ~/KLAIR in features but for Slack instead of Discord, I’ve decided to name it ~/SLAIR . Features: ~/SLAIR is designed to be a small, fun, free-to-use bot that aims to add a bunch of entertaining features. Mini Games: /slair-coinflip Flip a coin /slair-guessthenumber Try to guess the number /slair-rps Challenge the bot /slair-unscramble Unscramble the word Other Commands: /slair-8ball Ask the magic 8-ball /slair-cat Get a random cat /slair-dog Get a random dog /slair-cryptoprice Check cryptocurrency prices /slair-uselessfact Receive a completely useless fact AI Usage: Used Gemini 3.1 Pro (High) in Antigravity to fix errors and bugs in the code which I couldn't figure out how to solve. AI was primarily used to debug /slair-unscramble and /slair-guessthenumber commands as I couldn't figure out how to open modals upon clicking a button....
|
1792997580.7195
|
1793083980.7195
|
|
42327
|
~/KLAIR by @domos000 | Stardance
|
domos000
|
1
|
17.99
|
202
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-08-11T11:37:08Z", "hours": 17.0, "multiplier": 12.14, "payout": 202, "blessing": "neutral", "text": "~/KLAIR is a free-to-use Discord bot packed with AI features, mini-games, and a few things you probably didn’t know you needed! It comes with 15 features: 5 minigames 5 AI features 5 other miscellaneous commands The best feature, by far, has to be the Live AI feature that I’ve implemented in the bot. Instead of texting the bot, now, you can actually talk to it INSIDE Discord! This is thanks to Gemini Live, the AI model behind generating the responses and speaking them. There are a bunch of other features too like /cat - which fetches a cat image, /dog - which well, fetches a dog image, and more! You can see the showcase YouTube video by clicking on the “Try project” button. If you don’t want to host the bot by yourself, you can also just add it to your server as it’s currently being hosted online. Use the link below to add the bot to your server! https://discord.com/oauth2/authorize?client_id=1532745014600536146&permissions=35186573274480&integration_type=0&scope=bot", "repo": "https://github.com/adeebur-x64/KLAIR", "demo": "https://discord.gg/sscjgj2d7C"}]...
|
[{"post_id": 49775, "ts": "202 [{"post_id": 49775, "ts": "2026-08-18T18:17:50Z", "hours": 0.9942, "text": "(smol and late) Devlog I’m not sure exactly when and what changes I did but, this is the final GitHub Repo README.md. I’ve added some alerts and more information in the README.md as you can see. The reason this Devlog is so long is that I spent some time fixing bugs and stuff (like typos) in the code and those changes were so small that I just didn’t care enough to post a Devlog on them. Will add some more features to the bot very soon :D"}, {"post_id": 43253, "ts": "2026-08-08T12:31:44Z", "hours": 0.9247, "text": "✅Change: Updated the README.md file! Spent an hour writing a README.md file and committed the README to GitHub. Only need to create a showcase video for the bot now!"}, {"post_id": 43229, "ts": "2026-08-08T11:33:04Z", "hours": 0.68, "text": "✅Change: Added comments to the code! Spent a few minutes just adding comments to the code so it becomes more understandable. Some of the examples of comments I’ve added are in the screenshot I’ve attached. The bot is practically completed at this point. I’ll spend a few more minutes writing the README.md file and creating a showcase video for the bot."}, {"post_id": 43173, "ts": "2026-08-08T09:13:05Z", "hours": 0.7303, "text": "✅ Fixed: Some bugs in the /liveai feature! So, if you were trying to ask the bot a question in the VC and there was some background noise, the bot would glitch out and sometimes fill its buffer of holding the audio chunks of the users. Now, I have fixed this issue and added a “End Session” button so that the user can get the summary of their conversation without waiting for 3 mins inactivity in the VC. **Most of the voice handling and AI stuff was implemented using Gemini 3.1 Pro as I don’t have an idea on how to manage audio chunks and stuff. **"}, {"post_id": 42795, "ts": "2026-08-07T18:09:51Z", "hours": 3.7328, "text": "✨Implemented an AI Feature: /liveai Oof! This took wayyyy too long to implement. Now, instead of typing your queries / prompts, you can actually talk to the bot! It creates a private voice channel (only you and the bot) and you can ask it questions. It’s instantaneous too! I honestly love this feature! I can’t show the full working of this command in a screenshot so, the full demo of this command, (including all the other commands) will be in the showcasing video that I’ll create. Stay tuned for that! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 42057, "ts": "2026-08-06T16:42:48Z", "hours": 0.2928, "text": "Implemented an AI Feature: /eli5 Sometimes, even the simplest of explanations of concepts might start feeling hard to understand. This is where ELI5, or Explain Like I’m 5 comes to play! Simply, tell the bot what concept you want to get explained and it will do exactly that for you in a simple, fun way! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 42035, "ts": "2026-08-06T16:18:50Z", "hours": 0.3111, "text": "✨Implemented an AI Feature: /factcheck This is also pretty self-explanatory. You pass it on a claim that you want to get fact checked and get a response. However, since the model doesn’t have access to the internet (as Google Search tool with Gemini isn’t included in the free tier of Google Cloud Projects ), the user is always informed at the end of a message that the bot can make mistakes. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 42024, "ts": "2026-08-06T15:56:26Z", "hours": 0.5128, "text": "✨Implemented an AI Feature: /grammarcheck It’s pretty self-explanatory. You pass it on a sentence (or multiple sentences) and tell it your desired sentence type (default being normal) and it converts your sentence into the desired sentence type while ensuring no there are no grammar, spelling or any other mistakes in the output!. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41990, "ts": "2026-08-06T15:09:47Z", "hours": 0.9803, "text": "✨QOL Changes! Now, if an error occurs, the bot will tell the user something has happened rather than just ghosting the user. I forgot to implement this error handling in the last update so, here it is! Now, you aren’t required to type /ask all the type to ask the bot a question! Simply do KLAIR, <question> and the bot will respond with a generated response! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41342, "ts": "2026-08-05T14:33:01Z", "hours": 0.6753, "text": "✨Implemented an AI Feature: /ask Ask the AI (Gemini’s Latest Flash Lite model - Gemini 3.5 Flash Lite ) any question and it will answer it! This is the first AI feature and there are many more AI features to come! Why Gemini Flash Lite Model? Earlier, I was testing out the normal Gemini Flash Model (Gemini 3.6 Flash) but I quickly reached a problem- Rate Limits! Previously, Google had a really high rate limit for their AI Models in the free tier however, they have since significantly reduced that. And this sucks! 1500 RPD down to 20 RPD for the Flash model is INSANITY! In order to not get rate limited after only 20 requests, I took the decision to use a much dumber AI model. It’s on Discord though, I’m pretty sure if users need a more in-depth or accurate answer, they’ll probably go to the actual AI website rather than ask the bot. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41306, "ts": "2026-08-05T13:33:57Z", "hours": 0.3344, "text": "Implemented a 8Ball (Prediction) Command! You just pass it on a question and it generates a random prediction of whether something will happen or not! PS. even though the description says the question must end with a “?”, it isn’t required for it to end with it! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41287, "ts": "2026-08-05T12:40:26Z", "hours": 0.7522, "text": "Implemented multiple commands! Dog Image Displaying Command Basically the Cat Image Displaying Command but instead of cat it displays an image of a dog! Useless Fact Command Fetches an API and displays a useless fact! Some of these are actually kinda interesting though! Cryptocurrency Price Fetch Command Fetches an API and displays the price of the cryptocurrency the user has asked for. I don’t know why someone would need to know the price of a crypto on Discord, but hey! At least, the option is there! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 41262, "ts": "2026-08-05T11:30:20Z", "hours": 0.6439, "text": "Implemented a Cat Image Displaying Command! It’s pretty self-explanatory. You type /cat and it fetches a cat image from a free API and sends it on discord! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 40811, "ts": "2026-08-04T15:58:53Z", "hours": 1.1972, "text": "Implemented a Nim Mini Game! Nim is a strategic mini game. There are 15 rocks in total. In each turn, the player can take away 1, 2 or 3 rocks. The bot will also randomly take away some number of rocks. In order to win you need to make the opponent take the last rock. If you take the last rock, you lose! This mini game is actually really fun to play! Had to use Gemini 3.1 Pro to fix some bugs because somehow I can never make a fully working mini game by myself. (I guess it’s just skill issue lol.) NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 40717, "ts": "2026-08-04T13:04:31Z", "hours": 1.8767, "text": "Implemented a Unscramble The Word Mini Game! Okay this mini game took WAYYY TOO LONG! It took like almost an hour just to fetch the word and display it and another hour to actually make the mini game working. It fetches the word automatically from a free API, scrambles it and then displays the scrambled word to the user. Clicking on Unscramble button opens up a Modal for the user to input their guess. The bot checks the guess and tells if it was correct or not and the user can guess again if it was incorrect. If you guess the word correctly, it shows the number of attempts it took for you to guess the word correctly. Clicking on give up shows the unscrambled word and how many attempts they tried. idk how this took 2 hours to make but at least it works! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 40653, "ts": "2026-08-04T10:31:50Z", "hours": 0.7458, "text": "Implemented a Coin Flip Mini Game! aghhh being sick isn’t fun. i wasn’t able to code for 3 days cuz i was sick :( anyways The mini game is self-explanatory. You just guess whether the coin flip came out to be heads or tails! This shouldn’t have taken 40 mins but somehow it did. (maybe cuz i’m still sick and recovering but who knows?) NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 38318, "ts": "2026-07-31T17:13:35Z", "hours": 1.0161, "text": "Implemented Guess The Number Mini game! So, just spent like an hour working on this. The main challenge I faced was to retrieve the guess submission from the user. I wasn’t able to do that so I required the help of my friend Gemini 3.1 Pro (High) in Antigravity IDE to do that for me. Clicking guess shows a modal where the user can input their guess. Clicking give up shows what the number the bot had selected and the number of tries the user did. When the user guesses the number correctly, it shows the number of tries the user required. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 38259, "ts": "2026-07-31T15:50:22Z", "hours": 0.6547, "text": "Implemented Rock Paper Scissors Mini game! So, Just spend a couple of minutes implementing a working rock paper scissors mini game. [] It uses the button feature to ask for the user’s choice. [] It uses Math.Random() function to select its own choice. [] It uses multiple If statements for every case. Will spend some more time refining its style later but the actual mini game is complete for now. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}, {"post_id": 38210, "ts": "2026-07-31T14:40:00Z", "hours": 0.5672, "text": "Initial Bot Setup is complete! Bot is being developed using Discord.js . What has been added till now: A ready output whenever the Discord Bot has successfully logged in. A way to register slash commands for the Bot. A way to handle those slash command requests. A ping command that replies with “Pong!” (just for testing). NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS."}]...
|
Title: ~/KLAIR by @domos000 | Stardance
Devlogs:
Title: ~/KLAIR by @domos000 | Stardance
Devlogs:
Initial Bot Setup is complete! Bot is being developed using Discord.js . What has been added till now: A ready output whenever the Discord Bot has successfully logged in. A way to register slash commands for the Bot. A way to handle those slash command requests. A ping command that replies with “Pong!” (just for testing). NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented Rock Paper Scissors Mini game! So, Just spend a couple of minutes implementing a working rock paper scissors mini game. [] It uses the button feature to ask for the user’s choice. [] It uses Math.Random() function to select its own choice. [] It uses multiple If statements for every case. Will spend some more time refining its style later but the actual mini game is complete for now. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented Guess The Number Mini game! So, just spent like an hour working on this. The main challenge I faced was to retrieve the guess submission from the user. I wasn’t able to do that so I required the help of my friend Gemini 3.1 Pro (High) in Antigravity IDE to do that for me. Clicking guess shows a modal where the user can input their guess. Clicking give up shows what the number the bot had selected and the number of tries the user did. When the user guesses the number correctly, it shows the number of tries the user required. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a Coin Flip Mini Game! aghhh being sick isn’t fun. i wasn’t able to code for 3 days cuz i was sick :( anyways The mini game is self-explanatory. You just guess whether the coin flip came out to be heads or tails! This shouldn’t have taken 40 mins but somehow it did. (maybe cuz i’m still sick and recovering but who knows?) NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a Unscramble The Word Mini Game! Okay this mini game took WAYYY TOO LONG! It took like almost an hour just to fetch the word and display it and another hour to actually make the mini game working. It fetches the word automatically from a free API, scrambles it and then displays the scrambled word to the user. Clicking on Unscramble button opens up a Modal for the user to input their guess. The bot checks the guess and tells if it was correct or not and the user can guess again if it was incorrect. If you guess the word correctly, it shows the number of attempts it took for you to guess the word correctly. Clicking on give up shows the unscrambled word and how many attempts they tried. idk how this took 2 hours to make but at least it works! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a Nim Mini Game! Nim is a strategic mini game. There are 15 rocks in total. In each turn, the player can take away 1, 2 or 3 rocks. The bot will also randomly take away some number of rocks. In order to win you need to make the opponent take the last rock. If you take the last rock, you lose! This mini game is actually really fun to play! Had to use Gemini 3.1 Pro to fix some bugs because somehow I can never make a fully working mini game by myself. (I guess it’s just skill issue lol.) NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a Cat Image Displaying Command! It’s pretty self-explanatory. You type /cat and it fetches a cat image from a free API and sends it on discord! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented multiple commands! Dog Image Displaying Command Basically the Cat Image Displaying Command but instead of cat it displays an image of a dog! Useless Fact Command Fetches an API and displays a useless fact! Some of these are actually kinda interesting though! Cryptocurrency Price Fetch Command Fetches an API and displays the price of the cryptocurrency the user has asked for. I don’t know why someone would need to know the price of a crypto on Discord, but hey! At least, the option is there! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented a 8Ball (Prediction) Command! You just pass it on a question and it generates a random prediction of whether something will happen or not! PS. even though the description says the question must end with a “?”, it isn’t required for it to end with it! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨Implemented an AI Feature: /ask Ask the AI (Gemini’s Latest Flash Lite model - Gemini 3.5 Flash Lite ) any question and it will answer it! This is the first AI feature and there are many more AI features to come! Why Gemini Flash Lite Model? Earlier, I was testing out the normal Gemini Flash Model (Gemini 3.6 Flash) but I quickly reached a problem- Rate Limits! Previously, Google had a really high rate limit for their AI Models in the free tier however, they have since significantly reduced that. And this sucks! 1500 RPD down to 20 RPD for the Flash model is INSANITY! In order to not get rate limited after only 20 requests, I took the decision to use a much dumber AI model. It’s on Discord though, I’m pretty sure if users need a more in-depth or accurate answer, they’ll probably go to the actual AI website rather than ask the bot. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨QOL Changes! Now, if an error occurs, the bot will tell the user something has happened rather than just ghosting the user. I forgot to implement this error handling in the last update so, here it is! Now, you aren’t required to type /ask all the type to ask the bot a question! Simply do KLAIR, <question> and the bot will respond with a generated response! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨Implemented an AI Feature: /grammarcheck It’s pretty self-explanatory. You pass it on a sentence (or multiple sentences) and tell it your desired sentence type (default being normal) and it converts your sentence into the desired sentence type while ensuring no there are no grammar, spelling or any other mistakes in the output!. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨Implemented an AI Feature: /factcheck This is also pretty self-explanatory. You pass it on a claim that you want to get fact checked and get a response. However, since the model doesn’t have access to the internet (as Google Search tool with Gemini isn’t included in the free tier of Google Cloud Projects ), the user is always informed at the end of a message that the bot can make mistakes. NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
Implemented an AI Feature: /eli5 Sometimes, even the simplest of explanations of concepts might start feeling hard to understand. This is where ELI5, or Explain Like I’m 5 comes to play! Simply, tell the bot what concept you want to get explained and it will do exactly that for you in a simple, fun way! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✨Implemented an AI Feature: /liveai Oof! This took wayyyy too long to implement. Now, instead of typing your queries / prompts, you can actually talk to the bot! It creates a private voice channel (only you and the bot) and you can ask it questions. It’s instantaneous too! I honestly love this feature! I can’t show the full working of this command in a screenshot so, the full demo of this command, (including all the other commands) will be in the showcasing video that I’ll create. Stay tuned for that! NOTE: I’m using a modified version of discord ONLY to show some useful information (like which device I’m using [see members list], what the previous messages were of the bot [see chat, message logger is enabled]. I DO NOT CONDONE THE USAGE OF MODIFIED VERSIONS OF DISCORD AS IT GOES AGAINST THEIR TOS.
✅ Fixed: Some bugs in the /liveai feature! So, if you were trying to ask the bot a question in the VC and there was some background noise, the bot would glitch out and sometimes fill its buffer of holding the audio chunks of the users. Now, I have fixed this issue and added a “End Session” button so that the user can get the summary of their conversation without waiting for 3 mins inactivity in the VC. **Most of the voice handling and AI stuff was implemented using Gemini 3.1 Pro as I don’t have an idea on how to manage audio chunks and stuff. **
✅Change: Added comments to the code! Spent a few minutes just adding comments to the code so it becomes more understandable. Some of the examples of comments I’ve added are in the screenshot I’ve attached. The bot is practically completed at this point. I’ll spend a few more minutes writing the README.md file and creating a showcase video for the bot.
✅Change: Updated the README.md file! Spent an hour writing a README.md file and committed the README to GitHub. Only need to create a showcase video for the bot now!
(smol and late) Devlog I’m not sure exactly when and what changes I did but, this is the final GitHub Repo README.md. I’ve added some alerts and more information in the README.md as you can see. The reason this Devlog is so long is that I spent some time fixing bugs and stuff (like typos) in the code and those changes were so small that I just didn’t care enough to post a Devlog on them. Will add some more features to the bot very soon :D
Ships:
~/KLAIR is a free-to-use Discord bot packed with AI features, mini-games, and a few things you probably didn’t know you needed! It comes with 15 features: 5 minigames 5 AI features 5 other miscellaneous commands The best feature, by far, has to be the Live AI feature that I’ve implemented in the bot. Instead of texting the bot, now, you can actually talk to it INSIDE Discord! This is thanks to Gemini Live, the AI model behind generating the responses and speaking them. There are a bunch of other features too like /cat - which fetches a cat image, /dog - which well, fetches a dog image, and more! You can see the showcase YouTube video by clicking on the “Try project” button. If you don’t want to host the bot by yourself, you can also just add it to your server as it’s currently being hosted online. Use the link below to add the bot to your server! https://discord.com/oauth2/authorize?client_id=1532745014600536146&permissions=35186573274480&integration_type=0&scope=bot...
|
1792979377.8440964
|
1793065777.8440964
|
|
17073
|
~ by @ayush1 | Stardance
|
ayush1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ~ by @ayush1 | Stardance
|
1792493695.8248127
|
1793098495.8248127
|
|
15664
|
~ PURPLD'S WORLD ~ by @purpld | Stardance
|
purpld
|
0
|
10.68
|
0
|
[]
|
[{"post_id": 36751, "ts": "202 [{"post_id": 36751, "ts": "2026-07-29T00:42:29Z", "hours": 9.1239, "text": "NINTENDO 3DS! WAIT I STILL HAVEN’T MADE A DEVLOG FOR THIS??? okay so, i began working on this page MONTHS AGO but i stopped for a while, and eventually moved on to my other two projects that I’ve made here so far (FUNNY MIC and LARPARDY). I THOUGHT I MADE A DEVLOG ALREADY BUT APPARENTLY NOT SORRY LOL YIPPEE NEW STUFF! This is my next shrine page, for the Nintendo 3DS, which has been weirdly important to me, lol. The thing is, I decided that I wanted to make this like an actual 3DS, because I thought that would be fun! And you can visit different pages through the HOME Menu. There is a LOT of time logged here because just to get to this point, I have had to: Rip packaged HOME Menu assets from my personal 3DS Figure out how to actually get the textures and such out of those assets Turns out those textures don’t have colors. Rip the colors from the material files Couldn’t figure out how to get the models, so recreate the spinny animation in Blender I DON’T KNOW HOW TO USE BLENDER VERY WELL LOL Recreate the top screen background in DaVinci Resolve I already had ripped the HOME Menu audio a long time ago for other stuff, but now I had to make it loopable Fit those assets in a 3DS image with HTML and CSS (RAAAAHR) JavaScript pain ALL for this so far… but I think it’s worth it. It’s only the beginning! And I think having all of these sells it a lot better than it would otherwise."}, {"post_id": 6635, "ts": "2026-06-11T03:52:34Z", "hours": 1.5606, "text": "NEOCITIES LOG 1 hihi! i’ve been on Neocities for a while, but, y’know, i haven’t had a good place to log my development process before! so this seems fitting. i finally finished and published my Bluey page! it is LITERALLY a children’s show but despite that i became obsessed with it last year, and i think it’s actually really neat and really is worth the recognition. i started working on this shrine page mannyyy months ago and i’ve finally recently had the time to finish it to my liking! one of my favorite parts of my shrine pages is matching the styling ! i “borrowed” some CSS (mainly colors) from the actual bluey.tv website to help, but learning CSS while making this website has definitely been interesting lol the voice clip buttons also use a convenient nunjucks macro to save me some time (and it keeps consistency)! {% macro audio(url) %} <a href= \"#\" onclick= \"new Audio('{{ url | escape }}').play(); return false;\" aria-label= \"Play voice clip\" ><i class= \"nf nf-fa-play\" ></i ></a> {% endmacro %} this would probably be better with a dedicated script, but that seemed like a bit much for this task IMO so i did NOT do that lol in general i learned actually quite a lot about CSS from this, i cannot lie lol i’m quite happy with how this turned out in the end. whether or not you care about the show, i hope it’s worth a read! (psst, also, the time logged for this devlog is quite small because most of this page had been done before Stardance! i just finished some touchups today and merged it.)"}]...
|
Title: ~ PURPLD'S WORLD ~ by @purpld | Stardan Title: ~ PURPLD'S WORLD ~ by @purpld | Stardance
Devlogs:
NEOCITIES LOG 1 hihi! i’ve been on Neocities for a while, but, y’know, i haven’t had a good place to log my development process before! so this seems fitting. i finally finished and published my Bluey page! it is LITERALLY a children’s show but despite that i became obsessed with it last year, and i think it’s actually really neat and really is worth the recognition. i started working on this shrine page mannyyy months ago and i’ve finally recently had the time to finish it to my liking! one of my favorite parts of my shrine pages is matching the styling ! i “borrowed” some CSS (mainly colors) from the actual bluey.tv website to help, but learning CSS while making this website has definitely been interesting lol the voice clip buttons also use a convenient nunjucks macro to save me some time (and it keeps consistency)! {% macro audio(url) %} <a href= "#" onclick= "new Audio('{{ url | escape }}').play(); return false;" aria-label= "Play voice clip" ><i class= "nf nf-fa-play" ></i ></a> {% endmacro %} this would probably be better with a dedicated script, but that seemed like a bit much for this task IMO so i did NOT do that lol in general i learned actually quite a lot about CSS from this, i cannot lie lol i’m quite happy with how this turned out in the end. whether or not you care about the show, i hope it’s worth a read! (psst, also, the time logged for this devlog is quite small because most of this page had been done before Stardance! i just finished some touchups today and merged it.)
NINTENDO 3DS! WAIT I STILL HAVEN’T MADE A DEVLOG FOR THIS??? okay so, i began working on this page MONTHS AGO but i stopped for a while, and eventually moved on to my other two projects that I’ve made here so far (FUNNY MIC and LARPARDY). I THOUGHT I MADE A DEVLOG ALREADY BUT APPARENTLY NOT SORRY LOL YIPPEE NEW STUFF! This is my next shrine page, for the Nintendo 3DS, which has been weirdly important to me, lol. The thing is, I decided that I wanted to make this like an actual 3DS, because I thought that would be fun! And you can visit different pages through the HOME Menu. There is a LOT of time logged here because just to get to this point, I have had to: Rip packaged HOME Menu assets from my personal 3DS Figure out how to actually get the textures and such out of those assets Turns out those textures don’t have colors. Rip the colors from the material files Couldn’t figure out how to get the models, so recreate the spinny animation in Blender I DON’T KNOW HOW TO USE BLENDER VERY WELL LOL Recreate the top screen background in DaVinci Resolve I already had ripped the HOME Menu audio a long time ago for other stuff, but now I had to make it loopable Fit those assets in a 3DS image with HTML and CSS (RAAAAHR) JavaScript pain ALL for this so far… but I think it’s worth it. It’s only the beginning! And I think having all of these sells it a lot better than it would otherwise....
|
1792792389.291558
|
1793397189.291558
|
|
64583
|
} ;cw by @Ichbins | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: } ;cw by @Ichbins | Stardance
|
1792450222.9747546
|
1793055022.9747546
|
|
25457
|
{Scratch so it doesnt count}Flappy Dragon Game by {Scratch so it doesnt count}Flappy Dragon Game by @ClairePoehner | Stardance...
|
ClairePoehner
|
1
|
1.0
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-26T16:59:49Z", "hours": 1.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "I made a game where you have to navigate a dragon up and down to avoid hitting spires to collect score points. I am proud that you can use both space bar and clicking the screen as now it works on mobile as well as computer. I am also glad that I could program a “flapping” animation to the dragon when you click the screen or press space bar.", "repo": "https://github.com/clairepoehner-dot/Flappy---Dragon", "demo": "https://scratch.mit.edu/projects/1335387292"}]...
|
[{"post_id": 15940, "ts": "202 [{"post_id": 15940, "ts": "2026-06-25T21:59:48Z", "hours": 0.3731, "text": "Game Over now plays a sound (Faint Courage by Toby Fox) when it shows up and Game Over is also now displayed when you hit the bottom of the screen and not just when you hit the spires :)"}, {"post_id": 15930, "ts": "2026-06-25T21:32:53Z", "hours": 0.6211, "text": "I made the basic mechanics for the game and it all works, now it is time for the fine tuning."}]...
|
Title: {Scratch so it doesnt count}Flappy Dragon G Title: {Scratch so it doesnt count}Flappy Dragon Game by @ClairePoehner | Stardance
Devlogs:
I made the basic mechanics for the game and it all works, now it is time for the fine tuning.
Game Over now plays a sound (Faint Courage by Toby Fox) when it shows up and Game Over is also now displayed when you hit the bottom of the screen and not just when you hit the spires :)
Ships:
I made a game where you have to navigate a dragon up and down to avoid hitting spires to collect score points. I am proud that you can use both space bar and clicking the screen as now it works on mobile as well as computer. I am also glad that I could program a “flapping” animation to the dragon when you click the screen or press space bar....
|
1792849998.9127493
|
1792936398.9127493
|
|
36664
|
{Delete} by @zeusyboy | Stardance
|
zeusyboy
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: {Delete} by @zeusyboy | Stardance
|
1792655730.999005
|
1793260530.999005
|
|
23309
|
zzzclip by @nosrep | Stardance
|
nosrep
|
1
|
51.0
|
840
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-07-04T21:15:59Z", "hours": 51.0, "multiplier": 19.28, "payout": 840, "blessing": "neutral", "text": "ever since I was a wee lad I’ve never found a clipboard manager that’s fully worked how I wanted it. A lot can’t handle images correctly, and even fewer can handle multiple MIME types (multiple types of content) simultaneously. Not a lot can persist clipboard content properly either; some don’t wait until the program has exited to replace. So, in 2023, I decided to make my own clipboard manager! I wasn’t very good, though, so it never got to a usable state. This year, I picked the project back up, figured out the blockers (lazy persistence is a lot more annoying than it sounds), and finally added all the features needed for a proper clipboard manager. zzzclip can: store your history. hopefully this was obvious. persist clipboard content. another fun fact: the data in your clipboard doesn’t actually exist to your compositor/WM/DE. if a program exits while something is copied from it, that data is GONE unless it was backed up. that’s what zzzclip does! it backs up the clipboard data and “copies” it again once the program providing it exits. represent your clipboard as files. ever find a website that reaallly wants you to upload a file and won’t take your ctrl-v? zzzclip can fix that! zzzclip also has a configurable system to set which MIME types you really care about, so it won’t store the same image 10 times in different formats every time you copy something. THIS IS FOR WAYLAND USERS ON LINUX ONLY. IF YOU ARE NOT A WAYLAND USER ON LINUX (OR, LIKE, BSD, IF YOU CAN FIGURE IT OUT), THIS IS NOT FOR YOU.", "repo": "https://github.com/Osrepnay/zzzclip", "demo": "https://github.com/Osrepnay/zzzclip/releases/tag/v0.1.0"}]...
|
[{"post_id": 22353, "ts": "202 [{"post_id": 22353, "ts": "2026-07-04T19:44:20Z", "hours": 4.4239, "text": "I have no idea how this devlog ended up so long Anyway, I cleaned up some potential crashes/undefined behavior, fixed up the README, and finally tagged a release + published to AUR! Spent a lot of time wrestling with static linking. I remember using old versions of linux before and getting glibc problems so I wanted to link it statically. I first tried using musl-gcc, but I ended up needing too many static versions of libraries so I just made a Dockerfile with alpine (which has static versions of basically everything) and made the binary there. Did you know PKGBUILDs are just bash scripts? I didn’t."}, {"post_id": 21105, "ts": "2026-07-02T21:58:27Z", "hours": 3.8542, "text": "the clipboard-as-files thing is added! I originally wanted to use FUSE/libfuse, but i realized i could just change the storage format to have the data be in a single file. now i’m just using symlinks instead, no dependencies this was relatively easy, ran into a couple of bugs but nothing too crazy. Biggest thing I got hung up on was which directory to put it in ($XDG_STATE_HOME? $XDG_DATA_HOME? ~/clipboard?). I eventually decided on $XDG_RUNTIME_DIR which seems mostly appropriate - the only thing is that it’s kinda annoying to access, but you could just make your own symlink, change the path with $ZZZCLIP_SYMLINK_PATH, or add a bookmark like in the screenshot. Another thing was to add extensions (e.g. .png) to the file, because apps like discord won’t recognize them if they don’t have extensions. I was initially gonna take and process one of the giant lists online, but then i found out most systems have a /etc/mime.types so i parsed that instead."}, {"post_id": 20183, "ts": "2026-07-01T18:49:37Z", "hours": 2.9758, "text": "I added some more options to the CLI, which ended up being a lot more annoying than i expected. Here are the ones I added: added to zzzclip list : -v: verbose mode. Verbose mode also lists the mimetype for a clipboard item. added to zzzclip get : -f: runs in foreground. Here’s something you might not have known: wl-copy starts a background process when you run it. The clipboard contents aren’t owned by the compositor, so a process has to be running to supply the data. I made zzzclip get do the same thing, but like wl-copy I added an option to make it run in the foreground. -s: output summary. It’s basically zzzclip list -v but only for one item. -l: list stored mime types. It lists the mime types for an item. -m : directly prints the data for an item."}, {"post_id": 18165, "ts": "2026-06-29T05:56:47Z", "hours": 3.1797, "text": "big ticket is overhauling the config format. Previously, the index looked like this: 4a93d8d7 6b5d69df 2143c202 Each random string of 8 characters was a label for data under a particular mime type, and each line was a selection (a selection can have multiple mimetypes). Each label had its own file to store the actual clipboard data, with the mimetype included in that file. this worked fine, but I’ve been wanting to implement the feature where the current clipboard contents are accessible via file. If I moved the mimetype out of the data files, I could just use symlinks because each file has exactly the data I need; using the old format, i’d need to use libfuse to make “fake” files without the mimetypes instead. this was a lot more annoying than i expected (thank god for address sanitizer, caught many mistakes), but I eventually got it working. I think i’m nearing the finish line"}, {"post_id": 17963, "ts": "2026-06-28T22:31:36Z", "hours": 4.0781, "text": "lots of minor-ish stuff for this batch of changes. Biggest change is actually adding proper cli parsing and help messages! previously, the cli was extremely bare-bones and just good enough to actually work but didn’t have any decent error handling or help messages. I’ve also ditched the option that runs the selector program (e.g. rofi, fuzzel). I didn’t know about he -nth those programs have, which let you hide data from the selector, so that functionality was kinda redundant. (also the sizes are human-readable now, i.e. in kb/mb/gb instead of just raw bytes)"}, {"post_id": 16987, "ts": "2026-06-27T15:51:35Z", "hours": 6.7522, "text": "the tests were bad. I fixed them and now everything passes. hooray! Anyway, welcome to macro hell! i’ve been working through the todo list and one of the items I wanted to hit was to support the ext-data-control protocol on top of the wlr-data-control protocol. Wayland compositors work on “protocols,” and not every compositor supports every protocol; the *-data-control protocols are what allow clipboard managers to mess with the clipboard. wlr-data-control was first (i think) and is only supported by wlroots-based compositors, but ext-data-control is the standard now. (except the compositor I use, river, doesn’t support it yet…) The problem with supporting both is that C is not a very expressive language. I had to generate wrapper functions for every function supplied by the protocol, which was bad enough, but I also had to write wrapper functions for my own functions that were used in listeners. This part could have been so much worse, but I was able to hide some function pointers in the user data and cut down even more boilerplate. Not fun. 3/10."}, {"post_id": 14809, "ts": "2026-06-24T01:36:55Z", "hours": 3.3247, "text": "there’s always the boring janitorial stuff (e.g. i renamed a few files, moved some stuff around, fixed a mem leak and a potential crash, etc.) the cooler change is that I finally added testing! testing an app like this is infinitely more annoying than something like a chess engine (shameless plug) because it’s built around IO. I followed in fuzzel ’s footsteps and did integration testing in a shell script, which isn’t something i realized is practical until seeing it used there. the very sparse tests actually already did find a bug, but i’ll fix it later…… the testing is to set up more disruptive features i’ll add later, like implementing the ext-data-control protocol on top of wlr-data-control, and I want to make sure they won’t break anything without having to manually test"}, {"post_id": 14166, "ts": "2026-06-23T04:52:15Z", "hours": 1.7025, "text": "two things: finally got rid of libpcre2. For the people that didn’t read the previous devlog, I needed a regex implementation as part of the user-provided mimetype selection, but I didn’t realize POSIX had one in regex.h and pcre seemed like the standard. POSIX regexes should be more than enough, though, so that’s a dependency killed added locking and index refreshing. nothing was locked previously which is Not Good™️, but more importantly, the daemon never refreshed the index of clipboard data, so if i deleted one, the index would get rewritten anyway with the deleted file and corrupt it. Solution was to stop persisting the index and only read it when it’s used."}, {"post_id": 13561, "ts": "2026-06-22T06:20:10Z", "hours": 3.2839, "text": "minor changes for this devlog. spent way more time than is reasonable thinking of the best way to deal with allocation failures… it seems like everyone online has a different opinion on it. I tried doing it “properly” before seeing how many lines of checks that would require for a codepath that would realistically never get hit, so I gave up and just did xmalloc (basically, a wrapper around malloc that exits with an error message when it fails). Also in the theme of error handling, I did a sweep of the code and wrapped (most) of the io functions I missed to check for failure. it seems like overkill… there has to be a better way but maybe this is how it is. Finally, I switched from libpcre2 to posix regex.h. I didn’t realize POSIX had a regex.h and it’s way more than is required for this use-case (matching mimetypes)."}, {"post_id": 12902, "ts": "2026-06-21T04:06:31Z", "hours": 17.6878, "text": "I started this project much earlier than stardance (it’s years old by now), but it’s only recently become usable. think of this devlog as motivation/background the main goal was to make a clipboard manager that could persist clipboard selections after applications closed have configurable mimetype selection Here’s something interesting you might not have known about linux clipboards (both wayland and x11): the data doesn’t actually exist until a client requests it. This is how applications like firefox offer 20 morbillion image types; it’s converting the image on-the-fly. Given this, it’s impractical to request every offered type, so most clipboard managers I’ve found solve this by giving up and only doing text or text+hardcoded image mimetypes. zzzclip has a probably-overcomplicated system that lets you configure which mimetypes it’ll remember and priority between mimetypes (plus regexes). Another feature I want to add eventually is a FUSE clipboard system where it can make a “fake” (meaning it’s backed by the program, not something on disk) file holding the current clipboard contents. (as for what these 17 hours are actually for: it’s just adding config parsing and a load of cleanups.)"}]...
|
Title: zzzclip by @nosrep | Stardance
Devlogs:
I Title: zzzclip by @nosrep | Stardance
Devlogs:
I started this project much earlier than stardance (it’s years old by now), but it’s only recently become usable. think of this devlog as motivation/background the main goal was to make a clipboard manager that could persist clipboard selections after applications closed have configurable mimetype selection Here’s something interesting you might not have known about linux clipboards (both wayland and x11): the data doesn’t actually exist until a client requests it. This is how applications like firefox offer 20 morbillion image types; it’s converting the image on-the-fly. Given this, it’s impractical to request every offered type, so most clipboard managers I’ve found solve this by giving up and only doing text or text+hardcoded image mimetypes. zzzclip has a probably-overcomplicated system that lets you configure which mimetypes it’ll remember and priority between mimetypes (plus regexes). Another feature I want to add eventually is a FUSE clipboard system where it can make a “fake” (meaning it’s backed by the program, not something on disk) file holding the current clipboard contents. (as for what these 17 hours are actually for: it’s just adding config parsing and a load of cleanups.)
minor changes for this devlog. spent way more time than is reasonable thinking of the best way to deal with allocation failures… it seems like everyone online has a different opinion on it. I tried doing it “properly” before seeing how many lines of checks that would require for a codepath that would realistically never get hit, so I gave up and just did xmalloc (basically, a wrapper around malloc that exits with an error message when it fails). Also in the theme of error handling, I did a sweep of the code and wrapped (most) of the io functions I missed to check for failure. it seems like overkill… there has to be a better way but maybe this is how it is. Finally, I switched from libpcre2 to posix regex.h. I didn’t realize POSIX had a regex.h and it’s way more than is required for this use-case (matching mimetypes).
two things: finally got rid of libpcre2. For the people that didn’t read the previous devlog, I needed a regex implementation as part of the user-provided mimetype selection, but I didn’t realize POSIX had one in regex.h and pcre seemed like the standard. POSIX regexes should be more than enough, though, so that’s a dependency killed added locking and index refreshing. nothing was locked previously which is Not Good™️, but more importantly, the daemon never refreshed the index of clipboard data, so if i deleted one, the index would get rewritten anyway with the deleted file and corrupt it. Solution was to stop persisting the index and only read it when it’s used.
there’s always the boring janitorial stuff (e.g. i renamed a few files, moved some stuff around, fixed a mem leak and a potential crash, etc.) the cooler change is that I finally added testing! testing an app like this is infinitely more annoying than something like a chess engine (shameless plug) because it’s built around IO. I followed in fuzzel ’s footsteps and did integration testing in a shell script, which isn’t something i realized is practical until seeing it used there. the very sparse tests actually already did find a bug, but i’ll fix it later…… the testing is to set up more disruptive features i’ll add later, like implementing the ext-data-control protocol on top of wlr-data-control, and I want to make sure they won’t break anything without having to manually test
the tests were bad. I fixed them and now everything passes. hooray! Anyway, welcome to macro hell! i’ve been working through the todo list and one of the items I wanted to hit was to support the ext-data-control protocol on top of the wlr-data-control protocol. Wayland compositors work on “protocols,” and not every compositor supports every protocol; the *-data-control protocols are what allow clipboard managers to mess with the clipboard. wlr-data-control was first (i think) and is only supported by wlroots-based compositors, but ext-data-control is the standard now. (except the compositor I use, river, doesn’t support it yet…) The problem with supporting both is that C is not a very expressive language. I had to generate wrapper functions for every function supplied by the protocol, which was bad enough, but I also had to write wrapper functions for my own functions that were used in listeners. This part could have been so much worse, but I was able to hide some function pointers in the user data and cut down even more boilerplate. Not fun. 3/10.
lots of minor-ish stuff for this batch of changes. Biggest change is actually adding proper cli parsing and help messages! previously, the cli was extremely bare-bones and just good enough to actually work but didn’t have any decent error handling or help messages. I’ve also ditched the option that runs the selector program (e.g. rofi, fuzzel). I didn’t know about he -nth those programs have, which let you hide data from the selector, so that functionality was kinda redundant. (also the sizes are human-readable now, i.e. in kb/mb/gb instead of just raw bytes)
big ticket is overhauling the config format. Previously, the index looked like this: 4a93d8d7 6b5d69df 2143c202 Each random string of 8 characters was a label for data under a particular mime type, and each line was a selection (a selection can have multiple mimetypes). Each label had its own file to store the actual clipboard data, with the mimetype included in that file. this worked fine, but I’ve been wanting to implement the feature where the current clipboard contents are accessible via file. If I moved the mimetype out of the data files, I could just use symlinks because each file has exactly the data I need; using the old format, i’d need to use libfuse to make “fake” files without the mimetypes instead. this was a lot more annoying than i expected (thank god for address sanitizer, caught many mistakes), but I eventually got it working. I think i’m nearing the finish line
I added some more options to the CLI, which ended up being a lot more annoying than i expected. Here are the ones I added: added to zzzclip list : -v: verbose mode. Verbose mode also lists the mimetype for a clipboard item. added to zzzclip get : -f: runs in foreground. Here’s something you might not have known: wl-copy starts a background process when you run it. The clipboard contents aren’t owned by the compositor, so a process has to be running to supply the data. I made zzzclip get do the same thing, but like wl-copy I added an option to make it run in the foreground. -s: output summary. It’s basically zzzclip list -v but only for one item. -l: list stored mime types. It lists the mime types for an item. -m : directly prints the data for an item.
the clipboard-as-files thing is added! I originally wanted to use FUSE/libfuse, but i realized i could just change the storage format to have the data be in a single file. now i’m just using symlinks instead, no dependencies this was relatively easy, ran into a couple of bugs but nothing too crazy. Biggest thing I got hung up on was which directory to put it in ($XDG_STATE_HOME? $XDG_DATA_HOME? ~/clipboard?). I eventually decided on $XDG_RUNTIME_DIR which seems mostly appropriate - the only thing is that it’s kinda annoying to access, but you could just make your own symlink, change the path with $ZZZCLIP_SYMLINK_PATH, or add a bookmark like in the screenshot. Another thing was to add extensions (e.g. .png) to the file, because apps like discord won’t recognize them if they don’t have extensions. I was initially gonna take and process one of the giant lists online, but then i found out most systems have a /etc/mime.types so i parsed that instead.
I have no idea how this devlog ended up so long Anyway, I cleaned up some potential crashes/undefined behavior, fixed up the README, and finally tagged a release + published to AUR! Spent a lot of time wrestling with static linking. I remember using old versions of linux before and getting glibc problems so I wanted to link it statically. I first tried using musl-gcc, but I ended up needing too many static versions of libraries so I just made a Dockerfile with alpine (which has static versions of basically everything) and made the binary there. Did you know PKGBUILDs are just bash scripts? I didn’t.
Ships:
ever since I was a wee lad I’ve never found a clipboard manager that’s fully worked how I wanted it. A lot can’t handle images correctly, and even fewer can handle multiple MIME types (multiple types of content) simultaneously. Not a lot can persist clipboard content properly either; some don’t wait until the program has exited to replace. So, in 2023, I decided to make my own clipboard manager! I wasn’t very good, though, so it never got to a usable state. This year, I picked the project back up, figured out the blockers (lazy persistence is a lot more annoying than it sounds), and finally added all the features needed for a proper clipboard manager. zzzclip can: store your history. hopefully this was obvious. persist clipboard content. another fun fact: the data in your clipboard doesn’t actually exist to your compositor/WM/DE. if a program exits while something is copied from it, that data is GONE unless it was backed up. that’s what zzzclip does! it backs up the clipboard data and “copies” it again once the program providing it exits. represent your clipboard as files. ever find a website that reaallly wants you to upload a file and won’t take your ctrl-v? zzzclip can fix that! zzzclip also has a configurable system to set which MIME types you really care about, so it won’t store the same image 10 times in different formats every time you copy something. THIS IS FOR WAYLAND USERS ON LINUX ONLY. IF YOU ARE NOT A WAYLAND USER ON LINUX (OR, LIKE, BSD, IF YOU CAN FIGURE IT OUT), THIS IS NOT FOR YOU....
|
1792968809.0337737
|
1793055209.0337737
|
|
55624
|
zzz by @rosikur | Stardance
|
rosikur
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zzz by @rosikur | Stardance
|
1792504229.6664333
|
1793109029.6664333
|
|
53563
|
zyr by @shailesh | Stardance
|
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zyr by @shailesh | Stardance
|
1792932873.0003903
|
1793796873.0003903
|
|
35791
|
zsobix's personal website! by @zsobix | Starda zsobix's personal website! by @zsobix | Stardance...
|
zsobix
|
0
|
3.37
|
0
|
[]
|
[{"post_id": 29441, "ts": "202 [{"post_id": 29441, "ts": "2026-07-16T11:59:17Z", "hours": 2.4289, "text": "First normal and last devlog before the (first) ship! Since my project isn’t going to be rated, and I will only get 10 stardust (for the first ship), I’m not wasting time that could be stardust. Today, I added the basics like: Projects I’m currently working on Basic styling Contact details So yeah, after this ship, I’ll add more stuff. Changelog fix: font pointing to wrong website ( b09e544 ) feat: remade website in a swiss style ( bd61b70 ) thanks for coming to my ted talk -zsobix"}, {"post_id": 29184, "ts": "2026-07-15T22:19:34Z", "hours": 0.9422, "text": "Hey, this is my new website! I’m currently thinking about making it with a Swiss Style. Today I did some research and made just the basics, like adding the font and some spacing!"}]...
|
Title: zsobix's personal website! by @zsobix | Title: zsobix's personal website! by @zsobix | Stardance
Devlogs:
Hey, this is my new website! I’m currently thinking about making it with a Swiss Style. Today I did some research and made just the basics, like adding the font and some spacing!
First normal and last devlog before the (first) ship! Since my project isn’t going to be rated, and I will only get 10 stardust (for the first ship), I’m not wasting time that could be stardust. Today, I added the basics like: Projects I’m currently working on Basic styling Contact details So yeah, after this ship, I’ll add more stuff. Changelog fix: font pointing to wrong website ( b09e544 ) feat: remade website in a swiss style ( bd61b70 ) thanks for coming to my ted talk -zsobix...
|
1792709266.2492418
|
1793314066.2492418
|
|
67457
|
zoro by @myreester | Stardance
|
myreester
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zoro by @myreester | Stardance
|
1792464894.9352918
|
1793069694.9352918
|
|
42874
|
zombies must die by @Josh1928 | Stardance
|
Josh1928
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zombies must die by @Josh1928 | Stardance
|
1792525972.5406625
|
1793130772.5406625
|
|
33834
|
zombie shooter game by @the_bored | Stardance
|
the_bored
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zombie shooter game by @the_bored | Stardan Title: zombie shooter game by @the_bored | Stardance...
|
1792641094.7285984
|
1793245894.7285984
|
|
14163
|
zombOS by @numycode | Stardance
|
numycode
|
0
|
0.68
|
0
|
[]
|
[{"post_id": 5984, "ts": "2026 [{"post_id": 5984, "ts": "2026-06-10T01:17:53Z", "hours": 0.6842, "text": "#1: I worked on the launch area, and made a dark-mode version similar to the zombocom gradient. I tried to make it look similar to GRUB, and I think it turned out really well."}]...
|
Title: zombOS by @numycode | Stardance
Devlogs:
# Title: zombOS by @numycode | Stardance
Devlogs:
#1: I worked on the launch area, and made a dark-mode version similar to the zombocom gradient. I tried to make it look similar to GRUB, and I think it turned out really well....
|
1792511349.9814193
|
1793116149.9814193
|
|
20935
|
zod by @AhmedKhaledAhmed | Stardance
|
AhmedKhaledAhmed
|
2
|
88.28
|
1014
|
[{"ship_num": 1, "ts": "2026-1 [{"ship_num": 1, "ts": "2026-10-05T17:40:20Z", "hours": 44.0, "multiplier": 13.43, "payout": 593, "blessing": "neutral", "text": "ZodLang is a small, interpreted, dynamically-typed language implemented in Go and inspired by Thorsten Ball’s Writing an Interpreter in Go and Writing a Compiler in Go. It is designed to be small, simple, and easy to use. It is not a general-purpose replacement for Python or Ruby. Instead, it is built for people who want to enjoy programming and learn at the same time. The initial version was a tree-walk interpreter, but now it is a VM. I created the new version Tetris, a 3D cube simulation, and a minimal version of vim. And you can do more.", "repo": "https://github.com/theawakener0/Zod", "demo": "https://github.com/theawakener0/Zod/releases/latest"}, {"ship_num": 2, "ts": "2026-08-27T20:22:35Z", "hours": 36.0, "multiplier": 11.59, "payout": 421, "blessing": "neutral", "text": "Zod is a small, interpreted, dynamic typed language for joyful programming you can build many things from 2D terminal games to tiny ml experiments and more.", "repo": "https://github.com/theawakener0/Zod", "demo": "https://github.com/theawakener0/Zod/releases/latest"}]...
|
[{"post_id": 80179, "ts": "202 [{"post_id": 80179, "ts": "2026-10-16T15:48:10Z", "hours": 8.2819, "text": "DevLog#19 — Currently, I am testing and seeing what I can built using ZodLang. And I built with ZodLang a minimal Codex-like AI harness. It is cool, but needs more work. Stay tuned…."}, {"post_id": 77108, "ts": "2026-10-05T17:28:26Z", "hours": 3.4997, "text": "DevLog#18 — I created a minimal version of vim using ZodLang. Before submitting, I got the idea to recreate a minimal version of vim using ZodLang to show how the language works. I am ready to ship…"}, {"post_id": 76077, "ts": "2026-10-02T08:26:29Z", "hours": 4.8414, "text": "DevLog#17 — I fixed the term library in the stdlib and added raw mode to it (Made it cross-platform). I am currently on version 0.7.0 , and I think I am ready to ship the new version of ZodLang…"}, {"post_id": 75219, "ts": "2026-09-29T14:40:10Z", "hours": 7.1428, "text": "DevLog#16 — I built a 3D cube simulation, and Tetris using ZodLang. Yeah, the language is currently able to build things, Cool things. And this is just the beginning. ZodLang started as a simple toy language and now it is on the road of becoming a full programming language. Thank you all for helping……."}, {"post_id": 73498, "ts": "2026-09-25T07:42:48Z", "hours": 3.7936, "text": "DevLog#15 — I finished the bytecode compiler and vm!!!!!!!!!!!!!!!!!!!!! Also, I have added a full module system to the language, and made the language a bit clean. I will improve the built-ins function and add a full stdlib . Also, the Demo for the current in developing version will be cool….. Wish me luck…"}, {"post_id": 69739, "ts": "2026-09-17T18:04:39Z", "hours": 3.5044, "text": "DevLog#14 — I have added Closures and I can finally said I finished ZodLang bytecode compiler and vm ( I mean that I just finished the core of the language ). The coming DevLogs will be fire……. Stay tuned………"}, {"post_id": 68021, "ts": "2026-09-14T12:08:53Z", "hours": 8.0092, "text": "DevLog#13 — I have added functions and builtins-functions to the bytecode compiler and the vm. Yeah, I spent like a week on this phase, it was hard, but the results of this phase is unlimited. I have completed 70% of the language. I hope ZodLang really turn to be something great. Wish me luck. And stay tuned for the cool things coming."}, {"post_id": 61366, "ts": "2026-09-04T07:35:36Z", "hours": 2.5022, "text": "DevLog#12 — I have added Strings , Arrays , and Hashes to the bytecode compiler and the vm. I thought at first that it would be hard, but turns out it was smooth and easy. Well, not that easy because the Hashes had an issue that I discovered later when I tested the repl, turns out the Hashes doesn’t appear in the repl, but it worked in the tests, so that was weird, but I solved it by keeping track of the order of Hashes . I must continue the bytecode compiler and the vm by adding functions, and built-in functions. Wish me luck……."}, {"post_id": 60792, "ts": "2026-09-03T11:57:16Z", "hours": 1.7017, "text": "DevLog#11 — I have added variables to the bytecode compiler and the vm. Mostly, it was easy, but the assigning char := was a bit tricky to implement in the bytecode compiler and the vm. I made a global environment for setting and getting the values in the variables. I must now focus on implementing / adding strings, arrays, and hashes. Wish me luck……"}, {"post_id": 60112, "ts": "2026-09-02T08:36:53Z", "hours": 1.7417, "text": "DevLog#11 — Finished adding the other comparison expression. I implemented if conditions to the bytecode compiler and the vm. It worked just fine, but It was tense ordering the instructions to make the compiler compile the if condition in a good way. I must now start by adding else-if, and variables. Wish me luck."}, {"post_id": 59450, "ts": "2026-09-01T09:44:41Z", "hours": 2.9603, "text": "DevLog#10 — Finished adding FLOAT_OBJ to the bytecode compiler and vm. Also, supported the operations +, -, *, / . I Implemented BOOLEAN_OBJ and comparison expression in the bytecode compiler and vm too. I will work now on adding more ways in the comparison expression. Also, adding if conditions."}, {"post_id": 58849, "ts": "2026-08-31T13:02:11Z", "hours": 4.44, "text": "DevLog#9 — Currently, Implementing the bytecode compiler and VM. I managed to to finish the initial part of the compiler and the vm. I was able to add integers, it can’t add float and it can’t do any operation other than addition. What I will do now is to add float to compiler so I can add them, and then I will I will add the other operation. I hope this bytecode compiler phase works good, so I can implement the full compiler so Zod could be like Go, Zig, and Rust in the future."}, {"post_id": 55675, "ts": "2026-08-27T17:14:20Z", "hours": 8.3244, "text": "DevLog#8 — Zod is finally here. I finished building the interpreter phase (Yeah, Zod will be a compiled language soon). I added MATRIX_OBJ and that opens ways to build cool things with the language like this demo of Conway’s game of life built in Zod. Cooool!!!!!!! right."}, {"post_id": 41354, "ts": "2026-08-05T14:45:04Z", "hours": 5.5675, "text": "DevLog #7 — I have added hash map in Zod. Also added hash built-in functions like insert() , remove() , contains() , keys() , vals() . NOTE: The hash map is randomized due to Go maps logic."}, {"post_id": 38285, "ts": "2026-07-31T16:25:59Z", "hours": 3.4467, "text": "DevLog #6 — Zod finally has built-in functions, not many, but still good. Zod has len() , println() , printf() , input() , int() , string() , and type() . Also I have added string datatype, for-loop , and a loop {} statement like in Rust. Zod is becoming better day after day and I hope it become a great small language."}, {"post_id": 36622, "ts": "2026-07-28T21:00:05Z", "hours": 4.0358, "text": "DevLog #5 — Zod is finally functional. After I have built the evaluator and added it to the REPL, Zod became a fully function language, Its not a full language, but its still functional. I still have to add more datatypes and built-in functions since it only has integers and boolean , and no built-in function . Zod is becoming a programming language day after day and I think the of its becoming a programming language is near."}, {"post_id": 35237, "ts": "2026-07-26T15:14:47Z", "hours": 3.3225, "text": "DevLog #4 — I have added FunctionLiteral , CallExpressions , and IfExpressions . Also, updated the REPL with the parser. Now, I will start working on the Evaluation."}, {"post_id": 32218, "ts": "2026-07-21T07:51:01Z", "hours": 7.6453, "text": "DevLog #3 –– Today I made significant progress on Zod’s parser. The parser can now handle: Let statements , Assignment statements , Return statements , Infix expressions , Prefix expressions , and Boolean literals . There’s still plenty of work to do, but the parser is taking shape and the language is starting to feel real. My goal with Zod remains the same: to create a programming language that puts learning first while still being capable of building interesting and practical projects."}, {"post_id": 11573, "ts": "2026-06-18T21:13:14Z", "hours": 1.5856, "text": "Finally, I built the repl foundation, but the AST, parser, and eval are still left. Wish me luck…."}, {"post_id": 10682, "ts": "2026-06-17T15:24:19Z", "hours": 2.4353, "text": "Currently, expanding the lexer of zod. I am planning to make zod have mixed syntax between C, Go, and Rust."}]...
|
Title: zod by @AhmedKhaledAhmed | Stardance
Devlo Title: zod by @AhmedKhaledAhmed | Stardance
Devlogs:
Currently, expanding the lexer of zod. I am planning to make zod have mixed syntax between C, Go, and Rust.
Finally, I built the repl foundation, but the AST, parser, and eval are still left. Wish me luck….
DevLog #3 –– Today I made significant progress on Zod’s parser. The parser can now handle: Let statements , Assignment statements , Return statements , Infix expressions , Prefix expressions , and Boolean literals . There’s still plenty of work to do, but the parser is taking shape and the language is starting to feel real. My goal with Zod remains the same: to create a programming language that puts learning first while still being capable of building interesting and practical projects.
DevLog #4 — I have added FunctionLiteral , CallExpressions , and IfExpressions . Also, updated the REPL with the parser. Now, I will start working on the Evaluation.
DevLog #5 — Zod is finally functional. After I have built the evaluator and added it to the REPL, Zod became a fully function language, Its not a full language, but its still functional. I still have to add more datatypes and built-in functions since it only has integers and boolean , and no built-in function . Zod is becoming a programming language day after day and I think the of its becoming a programming language is near.
DevLog #6 — Zod finally has built-in functions, not many, but still good. Zod has len() , println() , printf() , input() , int() , string() , and type() . Also I have added string datatype, for-loop , and a loop {} statement like in Rust. Zod is becoming better day after day and I hope it become a great small language.
DevLog #7 — I have added hash map in Zod. Also added hash built-in functions like insert() , remove() , contains() , keys() , vals() . NOTE: The hash map is randomized due to Go maps logic.
DevLog#8 — Zod is finally here. I finished building the interpreter phase (Yeah, Zod will be a compiled language soon). I added MATRIX_OBJ and that opens ways to build cool things with the language like this demo of Conway’s game of life built in Zod. Cooool!!!!!!! right.
DevLog#9 — Currently, Implementing the bytecode compiler and VM. I managed to to finish the initial part of the compiler and the vm. I was able to add integers, it can’t add float and it can’t do any operation other than addition. What I will do now is to add float to compiler so I can add them, and then I will I will add the other operation. I hope this bytecode compiler phase works good, so I can implement the full compiler so Zod could be like Go, Zig, and Rust in the future.
DevLog#10 — Finished adding FLOAT_OBJ to the bytecode compiler and vm. Also, supported the operations +, -, *, / . I Implemented BOOLEAN_OBJ and comparison expression in the bytecode compiler and vm too. I will work now on adding more ways in the comparison expression. Also, adding if conditions.
DevLog#11 — Finished adding the other comparison expression. I implemented if conditions to the bytecode compiler and the vm. It worked just fine, but It was tense ordering the instructions to make the compiler compile the if condition in a good way. I must now start by adding else-if, and variables. Wish me luck.
DevLog#11 — I have added variables to the bytecode compiler and the vm. Mostly, it was easy, but the assigning char := was a bit tricky to implement in the bytecode compiler and the vm. I made a global environment for setting and getting the values in the variables. I must now focus on implementing / adding strings, arrays, and hashes. Wish me luck……
DevLog#12 — I have added Strings , Arrays , and Hashes to the bytecode compiler and the vm. I thought at first that it would be hard, but turns out it was smooth and easy. Well, not that easy because the Hashes had an issue that I discovered later when I tested the repl, turns out the Hashes doesn’t appear in the repl, but it worked in the tests, so that was weird, but I solved it by keeping track of the order of Hashes . I must continue the bytecode compiler and the vm by adding functions, and built-in functions. Wish me luck…….
DevLog#13 — I have added functions and builtins-functions to the bytecode compiler and the vm. Yeah, I spent like a week on this phase, it was hard, but the results of this phase is unlimited. I have completed 70% of the language. I hope ZodLang really turn to be something great. Wish me luck. And stay tuned for the cool things coming.
DevLog#14 — I have added Closures and I can finally said I finished ZodLang bytecode compiler and vm ( I mean that I just finished the core of the language ). The coming DevLogs will be fire……. Stay tuned………
DevLog#15 — I finished the bytecode compiler and vm!!!!!!!!!!!!!!!!!!!!! Also, I have added a full module system to the language, and made the language a bit clean. I will improve the built-ins function and add a full stdlib . Also, the Demo for the current in developing version will be cool….. Wish me luck…
DevLog#16 — I built a 3D cube simulation, and Tetris using ZodLang. Yeah, the language is currently able to build things, Cool things. And this is just the beginning. ZodLang started as a simple toy language and now it is on the road of becoming a full programming language. Thank you all for helping…….
DevLog#17 — I fixed the term library in the stdlib and added raw mode to it (Made it cross-platform). I am currently on version 0.7.0 , and I think I am ready to ship the new version of ZodLang…
DevLog#18 — I created a minimal version of vim using ZodLang. Before submitting, I got the idea to recreate a minimal version of vim using ZodLang to show how the language works. I am ready to ship…
DevLog#19 — Currently, I am testing and seeing what I can built using ZodLang. And I built with ZodLang a minimal Codex-like AI harness. It is cool, but needs more work. Stay tuned….
Ships:
Zod is a small, interpreted, dynamic typed language for joyful programming you can build many things from 2D terminal games to tiny ml experiments and more.
ZodLang is a small, interpreted, dynamically-typed language implemented in Go and inspired by Thorsten Ball’s Writing an Interpreter in Go and Writing a Compiler in Go. It is designed to be small, simple, and easy to use. It is not a general-purpose replacement for Python or Ruby. Instead, it is built for people who want to enjoy programming and learn at the same time. The initial version was a tree-walk interpreter, but now it is a VM. I created the new version Tetris, a 3D cube simulation, and a minimal version of vim. And you can do more....
|
1792979744.5228577
|
1793066144.5228577
|
|
58771
|
zminecraft clone???? by @kmdw | Stardance
|
kmdw
|
0
|
0.92
|
0
|
[]
|
[{"post_id": 62594, "ts": "202 [{"post_id": 62594, "ts": "2026-09-06T01:57:46Z", "hours": 0.9206, "text": "its so beautiful"}]...
|
Title: zminecraft clone???? by @kmdw | Stardance
Title: zminecraft clone???? by @kmdw | Stardance
Devlogs:
its so beautiful...
|
1792767327.6870852
|
1793372127.6870852
|
|
4162
|
zkFog: Referee-Less Fog of War Chess by @kev | Sta zkFog: Referee-Less Fog of War Chess by @kev | Stardance...
|
kev
|
0
|
1.77
|
0
|
[]
|
[{"post_id": 44259, "ts": "202 [{"post_id": 44259, "ts": "2026-08-09T21:49:26Z", "hours": 1.7703, "text": "Hey Hack Clubbers! I’m building zkFog , a website that lets you play fog-of-war chess without a trusted server. In fog chess you only see the squares your pieces can move to, and normally a server hides the rest of the board and everyone trusts it. I’m replacing that server with zero-knowledge proofs so that each player’s view is secret to only them, not even the server, and cryptography proves that the moves are legal. ~2 hours in: built a 6x6 Los Alamos chess UI to keep implementation simple for now. Using Bun + Vite + Biome , and chessgroundx for the UI. I also added a bit of CSS to emulate the snappiness of chess.com’s UI. I’ve also coded from scratch the engine that determines move legality (the dots that show up when you drag a piece)."}]...
|
Title: zkFog: Referee-Less Fog of War Chess by @ke Title: zkFog: Referee-Less Fog of War Chess by @kev | Stardance
Devlogs:
Hey Hack Clubbers! I’m building zkFog , a website that lets you play fog-of-war chess without a trusted server. In fog chess you only see the squares your pieces can move to, and normally a server hides the rest of the board and everyone trusts it. I’m replacing that server with zero-knowledge proofs so that each player’s view is secret to only them, not even the server, and cryptography proves that the moves are legal. ~2 hours in: built a 6x6 Los Alamos chess UI to keep implementation simple for now. Using Bun + Vite + Biome , and chessgroundx for the UI. I also added a bit of CSS to emulate the snappiness of chess.com’s UI. I’ve also coded from scratch the engine that determines move legality (the dots that show up when you drag a piece)....
|
1792806461.5754397
|
1793411261.5754397
|
|
33689
|
zircd by @DragonDev22 | Stardance
|
DragonDev22
|
0
|
2.05
|
0
|
[]
|
[{"post_id": 28020, "ts": "202 [{"post_id": 28020, "ts": "2026-07-14T00:42:43Z", "hours": 2.0525, "text": "zircd - Devlog 0 Hello everyone! this is a brief introduction to the project. I’ve had this idea for a little while now, but I’m only beginning to work on it now. I’ve currently got a basic HTTP server working that accepts one request, which isn’t very impressive, but it’s a step in the right direction. I haven’t been using zig for more than a few months, so i’m learning about the language and the standard library as I go."}]...
|
Title: zircd by @DragonDev22 | Stardance
Devlogs: Title: zircd by @DragonDev22 | Stardance
Devlogs:
zircd - Devlog 0 Hello everyone! this is a brief introduction to the project. I’ve had this idea for a little while now, but I’m only beginning to work on it now. I’ve currently got a basic HTTP server working that accepts one request, which isn’t very impressive, but it’s a step in the right direction. I haven’t been using zig for more than a few months, so i’m learning about the language and the standard library as I go....
|
1792734832.236711
|
1793339632.236711
|
|
27427
|
zip2a by @fraa2a | Stardance
|
fraa2a
|
0
|
3.32
|
0
|
[]
|
[{"post_id": 17486, "ts": "202 [{"post_id": 17486, "ts": "2026-06-28T09:09:57Z", "hours": 3.3192, "text": "Building My Own Archive Manager Today I worked on what is basically a worse alternative to 7-Zip and other archive managers. Why? Mostly because there are a few things I don’t really like about existing tools, so I decided to build my own version of one. I was also a little bit rusty with Rust. Yes, I said it. Sorry for the dad joke. For now, the project uses the zip crate to handle .zip files. The current version can already create and extract archives, but this is still just the beginning. Next steps Add a proper UI Improve ZIP options Support more archive formats like .7z , .rar , and others Make the whole thing actually useful instead of just being a funny experiment I attached a short recording showing how it currently works."}]...
|
Title: zip2a by @fraa2a | Stardance
Devlogs:
Buil Title: zip2a by @fraa2a | Stardance
Devlogs:
Building My Own Archive Manager Today I worked on what is basically a worse alternative to 7-Zip and other archive managers. Why? Mostly because there are a few things I don’t really like about existing tools, so I decided to build my own version of one. I was also a little bit rusty with Rust. Yes, I said it. Sorry for the dad joke. For now, the project uses the zip crate to handle .zip files. The current version can already create and extract archives, but this is still just the beginning. Next steps Add a proper UI Improve ZIP options Support more archive formats like .7z , .rar , and others Make the whole thing actually useful instead of just being a funny experiment I attached a short recording showing how it currently works....
|
1792691308.5129297
|
1793296108.5129297
|
|
43971
|
zindous98 by @WowZiesel | Stardance
|
WowZiesel
|
0
|
1.51
|
0
|
[]
|
[{"post_id": 44813, "ts": "202 [{"post_id": 44813, "ts": "2026-08-10T20:46:57Z", "hours": 0.3372, "text": "I added background change new things to terminal, etc"}, {"post_id": 44034, "ts": "2026-08-09T15:20:20Z", "hours": 1.1731, "text": "This my zindous, im planning to implement features like background change, 12/24 and other time settings"}]...
|
Title: zindous98 by @WowZiesel | Stardance
Devlog Title: zindous98 by @WowZiesel | Stardance
Devlogs:
This my zindous, im planning to implement features like background change, 12/24 and other time settings
I added background change new things to terminal, etc...
|
1792568967.3482745
|
1793173767.3482745
|
|
54332
|
ziglm by @simonproyt | Stardance
|
simonproyt
|
1
|
52.95
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-20T17:57:15Z", "hours": 51.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "So after achieving the performance goals that i wanted i think i decided that im ready to ship this project but i feel kinda scared because i wrote a lot less devlogs then my previous projects but like this project was a lot more boring debugging heavy so idk if i could have wrote about more stuff but im hoping that ppl are going to like this one as much as my previous project and it was a great learning experience and i learned a lot about the zig programing language and performance optimization and about the inner workings of llms and about writing low level performance critical cuda code Thank you for checking out my project and best of luck finishing your project and getting what you want", "repo": "https://github.com/simonproyt/ziglm", "demo": "https://cdn.hackclub.com/01a0bfeb-6c82-7528-93f3-aae99d703da5/ziglm_demo.mp4"}]...
|
[{"post_id": 75555, "ts": "202 [{"post_id": 75555, "ts": "2026-09-30T12:45:05Z", "hours": 1.9483, "text": "Note to the reviewers/shipwright/fraud squad so i accidentally added my home folder to the hackatime project and and when i contacted the fraud squad they told me to write a note so can you please deduct around 10 hours please also i attached a demo video of the benchmark script running for the ppl that dont want to download models and set my project up"}, {"post_id": 71338, "ts": "2026-09-20T17:33:25Z", "hours": 9.8469, "text": "removed multimodal and fixed the performance issue so im writing this devlog the second time because stardance logged me out when i tried to post it and it didnt save it sadly so i have to write it again i guess but as the title said i removed the multimodal code basically because it was a pain to maintain and it broke with every update so i just wanted to focus on just closely matching llama.cpp on text speed as a solo developer project and i think i kinda achieved that because in the generation speed its only a few tokens of difference so i think the project is basically finished now and i maybe add a few small changes to it or ship it now but i dont know yet but i hope that someone will like my project even if it was a bit more boring then my other projects"}, {"post_id": 69690, "ts": "2026-09-17T16:20:51Z", "hours": 10.3528, "text": "Fixed some bugs and improved the performance in my free time so i had some time on the weekend and the days i didnt go to school to fix added a benchmark shell script to compare the performance against ollama and llama.cpp for testing and for generating performance graphs now the vision tensors are run on the gpu too so the model wont get bottle necked by my laptops pci express bus speeds and uses the gpus memory instead so this or maybe another one will be probably the last devlog for this project because it has been super hard to develop this and kinda a pain to maintain and try to get it to the performance levels of modern interference libraries and i dont have much free time anymore because of school maybe i will continue development but idk"}, {"post_id": 64849, "ts": "2026-09-09T15:22:55Z", "hours": 11.8742, "text": "Working cuda and ci pipeline but sadly i cant work on this project anymore because school started So working on this project required quite a beefy and heavy computer and i dont want to carry one so sadly i dont have time to continue on this project in this time so after adding a working cuda gpu backend and a ci pipeline so ppl dont have to compile it from the source code and have nvcc to even try i think this is the end of this project for the current time being and i hope that someone will find this So this is what i added: added a cuda backend with a fatbin kernel so it will work on multiple compute levels a github actions ci pipeline to generate verified releases for the ppl who dont want to compile everything for themselves"}, {"post_id": 57155, "ts": "2026-08-29T08:16:47Z", "hours": 7.4842, "text": "Devlog 2: Finally working multimodal audio and video support So after a lot of trial and error i finally added multimodal audio and video support because they were the only two things missing from a complete cpu engine because i wanted a fully working cpu reference before doing anything with cuda and stuff but i want to get cuda working asap because the smaller models that i have been testing that would run on my cpu with a good speed they kinda have bad multimodal performance Thank you for reading my devlog"}, {"post_id": 54967, "ts": "2026-08-26T12:21:34Z", "hours": 11.2867, "text": "First devlog for this new project So i decided to start this new project while waiting for my other project getting reviewed Why did i do this: I was kinda bored waiting for my other project to be reviewed by ppl and i wanted to try out zig so i thought this is a great toy project idea to play with in zig What models are tested (others might work but i havent tested them): smollm2-360m gemma 4 and its variants with curently only image multimodal working but sound and video might be added in the future Thank you for reading my devlog"}]...
|
Title: ziglm by @simonproyt | Stardance
Devlogs:
Title: ziglm by @simonproyt | Stardance
Devlogs:
First devlog for this new project So i decided to start this new project while waiting for my other project getting reviewed Why did i do this: I was kinda bored waiting for my other project to be reviewed by ppl and i wanted to try out zig so i thought this is a great toy project idea to play with in zig What models are tested (others might work but i havent tested them): smollm2-360m gemma 4 and its variants with curently only image multimodal working but sound and video might be added in the future Thank you for reading my devlog
Devlog 2: Finally working multimodal audio and video support So after a lot of trial and error i finally added multimodal audio and video support because they were the only two things missing from a complete cpu engine because i wanted a fully working cpu reference before doing anything with cuda and stuff but i want to get cuda working asap because the smaller models that i have been testing that would run on my cpu with a good speed they kinda have bad multimodal performance Thank you for reading my devlog
Working cuda and ci pipeline but sadly i cant work on this project anymore because school started So working on this project required quite a beefy and heavy computer and i dont want to carry one so sadly i dont have time to continue on this project in this time so after adding a working cuda gpu backend and a ci pipeline so ppl dont have to compile it from the source code and have nvcc to even try i think this is the end of this project for the current time being and i hope that someone will find this So this is what i added: added a cuda backend with a fatbin kernel so it will work on multiple compute levels a github actions ci pipeline to generate verified releases for the ppl who dont want to compile everything for themselves
Fixed some bugs and improved the performance in my free time so i had some time on the weekend and the days i didnt go to school to fix added a benchmark shell script to compare the performance against ollama and llama.cpp for testing and for generating performance graphs now the vision tensors are run on the gpu too so the model wont get bottle necked by my laptops pci express bus speeds and uses the gpus memory instead so this or maybe another one will be probably the last devlog for this project because it has been super hard to develop this and kinda a pain to maintain and try to get it to the performance levels of modern interference libraries and i dont have much free time anymore because of school maybe i will continue development but idk
removed multimodal and fixed the performance issue so im writing this devlog the second time because stardance logged me out when i tried to post it and it didnt save it sadly so i have to write it again i guess but as the title said i removed the multimodal code basically because it was a pain to maintain and it broke with every update so i just wanted to focus on just closely matching llama.cpp on text speed as a solo developer project and i think i kinda achieved that because in the generation speed its only a few tokens of difference so i think the project is basically finished now and i maybe add a few small changes to it or ship it now but i dont know yet but i hope that someone will like my project even if it was a bit more boring then my other projects
Note to the reviewers/shipwright/fraud squad so i accidentally added my home folder to the hackatime project and and when i contacted the fraud squad they told me to write a note so can you please deduct around 10 hours please also i attached a demo video of the benchmark script running for the ppl that dont want to download models and set my project up
Ships:
So after achieving the performance goals that i wanted i think i decided that im ready to ship this project but i feel kinda scared because i wrote a lot less devlogs then my previous projects but like this project was a lot more boring debugging heavy so idk if i could have wrote about more stuff but im hoping that ppl are going to like this one as much as my previous project and it was a great learning experience and i learned a lot about the zig programing language and performance optimization and about the inner workings of llms and about writing low level performance critical cuda code Thank you for checking out my project and best of luck finishing your project and getting what you want...
|
1792856974.2318213
|
1792943374.2318213
|
|
70739
|
zig-terminal-honeypot by @ezxd1148 | Stardance
|
ezxd1148
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zig-terminal-honeypot by @ezxd1148 | Starda Title: zig-terminal-honeypot by @ezxd1148 | Stardance...
|
1792565233.658705
|
1793170033.658705
|
|
7199
|
zig-compiler-crash by @LouisNotLuna | Stardance
|
LouisNotLuna
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zig-compiler-crash by @LouisNotLuna | Stard Title: zig-compiler-crash by @LouisNotLuna | Stardance...
|
1792759818.2696588
|
1793364618.2696588
|
|
49471
|
zeypad by @zeyywq | Stardance
|
zeyywq
|
0
|
1.72
|
0
|
[]
|
[{"post_id": 48367, "ts": "202 [{"post_id": 48367, "ts": "2026-08-16T18:00:44Z", "hours": 1.7167, "text": "I made awesome progress on my hackpad project today! First, I finished the schematic and PCB design. Then, while working on the case, after wrestling a bit with 3D models in the KiCad libraries, I decided to skip them and switch to the cloud-based Onshape instead. We measured the PCB dimensions in KiCad as 25.654 x 54.991 mm, added a 0.4 mm tolerance for a sandwich mount design, and started our first sketch in Onshape. The project is slowly coming together!"}]...
|
Title: zeypad by @zeyywq | Stardance
Devlogs:
I m Title: zeypad by @zeyywq | Stardance
Devlogs:
I made awesome progress on my hackpad project today! First, I finished the schematic and PCB design. Then, while working on the case, after wrestling a bit with 3D models in the KiCad libraries, I decided to skip them and switch to the cloud-based Onshape instead. We measured the PCB dimensions in KiCad as 25.654 x 54.991 mm, added a 0.4 mm tolerance for a sandwich mount design, and started our first sketch in Onshape. The project is slowly coming together!...
|
1792594173.197818
|
1793198973.197818
|
|
52941
|
zexx by @abhishek11223344ak | Stardance
|
abhishek11223344ak
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zexx by @abhishek11223344ak | Stardance
|
1792730929.7562234
|
1793335729.7562234
|
|
17123
|
zetamac for android by @bvuong | Stardance
|
bvuong
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zetamac for android by @bvuong | Stardance
|
1792712980.5232139
|
1793317780.5232139
|
|
35497
|
zestyWin by @omeriadon | Stardance
|
omeriadon
|
0
|
7.29
|
0
|
[]
|
[{"post_id": 29384, "ts": "202 [{"post_id": 29384, "ts": "2026-07-16T09:38:07Z", "hours": 1.5203, "text": "I found some apps, such as this one, kept crashing when I opened them, which after some investigation revealed it was the tweak making the app crash. So I spent some more time debugging the tweak, and adding fallback options for when it really can’t remove the window background."}, {"post_id": 28880, "ts": "2026-07-15T13:40:05Z", "hours": 5.7744, "text": "I made this ammonia tweak that makes the background of most windows on your mac translucent, its a fork of an existing project, but when i tried it it was broken for macos 27, so i fixed it to run on the newer macos’s."}]...
|
Title: zestyWin by @omeriadon | Stardance
Devlogs Title: zestyWin by @omeriadon | Stardance
Devlogs:
I made this ammonia tweak that makes the background of most windows on your mac translucent, its a fork of an existing project, but when i tried it it was broken for macos 27, so i fixed it to run on the newer macos’s.
I found some apps, such as this one, kept crashing when I opened them, which after some investigation revealed it was the tweak making the app crash. So I spent some more time debugging the tweak, and adding fallback options for when it really can’t remove the window background....
|
1792918099.7704363
|
1793782099.7704363
|
|
57582
|
zeroknights by @krk | Stardance
|
krk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zeroknights by @krk | Stardance
|
1792712907.8831508
|
1793317707.8831508
|
|
57592
|
zeroknights by @krk | Stardance
|
krk
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zeroknights by @krk | Stardance
|
1792712918.0705488
|
1793317718.0705488
|
|
57586
|
zeroknights by @koushithkr | Stardance
|
koushithkr
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zeroknights by @koushithkr | Stardance
|
1792712910.3671074
|
1793317710.3671074
|
|
48994
|
zeroOS by @ZER0 | Stardance
|
ZER0
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zeroOS by @ZER0 | Stardance
|
1792572939.4434173
|
1793177739.4434173
|
|
48995
|
zeroOS by @ZER0 | Stardance
|
ZER0
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zeroOS by @ZER0 | Stardance
|
1792572940.305897
|
1793177740.305897
|
|
70171
|
zero-hour by @jakub-ginal | Stardance
|
jakub-ginal
|
0
|
119.43
|
0
|
[]
|
[{"post_id": 82659, "ts": "202 [{"post_id": 82659, "ts": "2026-10-25T15:16:16Z", "hours": 9.9333, "text": "v1.13.0 - Saved Launches and Subscribable Calendars Saved Launches - Added browser-based bookmarks, a saved-only filter, live count, and empty state. Full Launch Manifest - Added up to 100 upcoming missions, displayed 24 at a time with a Load More button. Calendar Feed - Added /api/calendar for subscribing to confirmed launches, excluding tentative dates until schedules become more certain. Calendar Setup Page - Added a copyable feed URL, .ics downloads, and subscription instructions. Mission Calendar Files - Added individual calendar events with launch details and links back to mission briefings. API Performance - Added ETags, 304 responses, gzip compression, and stale-cache fallback. Calendar Download Fix - Redirected browser visits to the setup page and fixed download handling. Interface Polish - Improved accessibility, bookmark controls, responsive layouts, and saved-launch indicators. Published - v1.13.0 is now available on GitHub."}, {"post_id": 82472, "ts": "2026-10-24T22:17:34Z", "hours": 8.1708, "text": "v1.12.0 - Honest Launch Dates and Shareable Mission Briefings Date Precision - Unconfirmed launch dates now display as NET Q4 2026 or NET May 2026 and appear under “Date to be confirmed”. Mission Briefing Redesign - Added status and live pills, image credits, country codes, launch windows, weather, webcast links, maps, and copy-link actions. Shareable Launch Links - Added #launch/<id> links that open the correct briefing on page load or when pasted, including launches outside the initially loaded page. Enhanced Launch Cards - Added orbit badges, success and failure colors, and a visual highlight for imminent launches. Visual Polish - Added muted country codes and added a hero word-reveal animation, scroll-aware navigation, and a subtle card spotlight effect. Smarter Calendar Files - Added shareable launch links to calendar files and warnings when launch dates are not final. Published - v1.12.0 is now available on GitHub."}, {"post_id": 82226, "ts": "2026-10-24T10:18:21Z", "hours": 10.1667, "text": "v1.11.0 - Sticky Navigation and Launch Manifest Sticky Navigation - Added a fixed top bar with a new logo mark, ZERO HOUR wordmark, Manifest and About links, live clock, and Local / UTC switch. Launch Manifest Section - Added a dedicated section header with a live launch count and status note. Lost Signal Panel - Added a dedicated error panel with a Retry button when the launch feed is unreachable. Hero Scroll Cue - Added a scroll indicator and smooth anchor scrolling with an offset for the sticky header. Active Navigation - Highlighted the section currently being viewed and hid section links on mobile. Branding and Credits - Updated the footer branding and data credits, and added the logo to the boot screen. Reduced Motion Support - Extended reduced-motion support to the new animations. Published - v1.11.0 is now available on GitHub."}, {"post_id": 82070, "ts": "2026-10-23T18:20:04Z", "hours": 10.0611, "text": "v1.10.0 - Live Clock and Enhanced Launch Dashboard Live Clock - Added a header clock with a pulsing status indicator that follows the selected Local or UTC time zone. Hero Metadata - Added provider, launch pad, and launch window details to the hero section. Launch Actions - Added Mission Briefing and Add to Calendar actions for the next launch. Calendar Confirmation - Added toast notifications to confirm successful calendar downloads. Radar Statistics - Added launch counts for the next 24 hours, the current week, and Go-status launches. About Section - Added information explaining the data source and launch status meanings. Search Shortcut - Added the / keyboard shortcut to jump directly to search. Hero Button Polish - Kept the primary hero button subtle to maintain visual balance. Published - v1.10.0 is now available on GitHub."}, {"post_id": 81893, "ts": "2026-10-22T21:34:09Z", "hours": 12.0217, "text": "v1.9.0 - Testing, Security, and UI Polish Automated Tests - Added a pytest suite covering the API, provider filtering, cache reuse, stale data fallback, and 503 responses. Secure Rendering - Escaped launch data before rendering and restricted links to HTTP and HTTPS. Focus Management - Restored keyboard focus to the launch card after closing the detail dialog. Accessibility Improvements - Added a skip link, live status region, aria-busy state, and an accessible dialog label. Error Handling - Added a Retry button and an Offline footer state when loading fails. Reduced Motion Support - Disabled radar, blip, and skeleton animations when reduced motion is enabled. Typography - Added Space Grotesk, Inter, and JetBrains Mono with system font fallbacks. Visual Polish - Added a gradient hero title, card hover lift and zoom effects, and accent-colored text selection. Favicon - Added favicon.svg Published - v1.9.0 is now available on GitHub."}, {"post_id": 81709, "ts": "2026-10-22T05:31:23Z", "hours": 12.3517, "text": "v1.8.0 - FastAPI Backend and Data Caching FastAPI Backend - Added API endpoints for listing launches, retrieving the next launch, fetching launch details, and checking service health. Normalized Launch Data - Converted Launch Library 2 records into a consistent launch model. 10-Minute Cache - Cached upstream data for 10 minutes to reduce API requests and extend free-tier usage. Single-Flight Refresh - Added a lock to prevent concurrent requests from triggering duplicate data refreshes. Stale Data Fallback - Kept serving the last successful data with a stale flag when the upstream API fails. Refresh Backoff - Added a 60-second cooldown after a failed refresh to avoid repeated requests. Frontend API Integration - Switched the frontend to fetch launches from /api/launches and use normalized fields. Local Development Mode - Added local run instructions and a development mode that serves the frontend directly from the API. Published - v1.8.0 is now available on GitHub."}, {"post_id": 81523, "ts": "2026-10-21T15:54:03Z", "hours": 8.9514, "text": "v1.7.0 - Live Launch Radar and Boot Sequence Launch Radar - Added a hero radar panel with rings, a crosshair, and a rotating sweep. Launch Pad Tracking - Plotted launch pads as pulsing blips based on their latitude and longitude. Hero Stats - Added live stats for tracked launches, providers, and the next lift-off time. Boot Sequence - Added an animated startup overlay with staged telemetry lines and a progress bar. Session-Based Startup - Made the boot sequence appear once per browser session and skip automatically when reduced motion is enabled. Responsive Hero Layout - Hid the radar on small screens and stacked the hero layout for better mobile support. Published - v1.7.0 is now available on GitHub."}, {"post_id": 81353, "ts": "2026-10-20T22:47:48Z", "hours": 7.0, "text": "v1.6.0 - Animated Starfield and Rocket Launch Animated Starfield - Added a full-page starfield with twinkling stars, depth layers, and mouse parallax. Warp Effects - Made stars streak into warp lines based on scroll speed. Rocket Launch Animation - Added a rocket lifting off from a glowing planetary horizon in the hero section. Realistic Flight Effects - Added a curved gravity turn with a rocket plume, smoke, and contrail. Motion Accessibility - Made animations respect reduced-motion settings and pause when the hero is offscreen. Persistent Animations - Kept hero canvases mounted across data refreshes to prevent animations from restarting. Published - v1.6.0 is now available on GitHub."}, {"post_id": 81172, "ts": "2026-10-20T05:46:02Z", "hours": 6.3839, "text": "v1.5.0 - Daily Launch Groups and Time Zones Daily Launch Groups - Grouped launches by day with sticky labels for Today, Tomorrow, weekdays, and dates. Loading Skeletons - Added placeholder cards while launch data loads. Time Zone Toggle - Added a Local / UTC toggle that remembers your preference. Live Time Zone Updates - Made the toggle update the hero, launch list, and currently open detail view. Sync Status - Added a footer indicator showing when the data was last updated. Automatic Refresh - Added automatic data refresh every 5 minutes. Unified Date Formatting - Routed date and time formatting through a single time zone-aware helper. Published - v1.5.0 is now available on GitHub."}, {"post_id": 81048, "ts": "2026-10-19T17:35:33Z", "hours": 9.6347, "text": "v1.4.0 - Launch Detail View Clickable Launch Cards - Made each launch card clickable to open a detailed view. Live Countdown and Facts - Added a large live countdown and a facts grid with liftoff time, launch window, rocket, provider, mission type, orbit, launch pad, and location. Mission Description - Added mission descriptions when available. Launch Pad Map - Embedded a map showing the launch pad location. Launch Actions - Added links for webcasts and live streams, .ics calendar downloads, Open in Maps, and mission information. Improved Dialog Controls - Added a close button, backdrop click, and Esc key support. Published - v1.4.0 is now available on GitHub."}, {"post_id": 80886, "ts": "2026-10-19T05:01:16Z", "hours": 7.9964, "text": "v1.3.0 - Launch Search and Filters Added a search box matching missions, rockets, providers, orbits, and launch pads. Added multi-word search with a short debounce delay to avoid filtering on every keystroke. Added status filter chips for All, Go, TBC, and TBD. Added a provider dropdown generated automatically from launch data, including launch counts. Added an empty state for unmatched searches with a Clear Filters button. Refactored the filtering logic around a shared filter state for cleaner list rendering. Published v1.3.0 on GitHub."}, {"post_id": 80634, "ts": "2026-10-18T11:03:32Z", "hours": 9.5139, "text": "v1.2.0 - Live Launch Countdowns Added a “Next Launch” hero section highlighting the soonest upcoming launch. Added a live countdown displaying days, hours, minutes, and seconds, updated every second. Automatically switched to T+ elapsed time once a launch time had passed. Added a compact live countdown to every launch card. Styled the hero section and countdown displays to fit the dark theme. Published v1.2.0 on GitHub."}, {"post_id": 80516, "ts": "2026-10-17T23:39:13Z", "hours": 5.7417, "text": "v1.1.0 - Launch Board Redesign Added a dark theme and structured page layout with a header, status section, and footer. Redesigned each launch as a card displaying an image, provider, mission, rocket, launch time, and launch pad. Added colored status indicators for Go, TBC, TBD, and Hold. Added a responsive card grid that adapts to mobile screens. Separated the styling into styles.css and moved the JavaScript into app.js . Published v1.1.0 on GitHub."}, {"post_id": 80444, "ts": "2026-10-17T17:19:55Z", "hours": 1.5028, "text": "v1.0.0 - zero-hour - Initial Release Zero Hour shows every upcoming orbital rocket launch with a live countdown. Added index.html to fetch upcoming launches from Launch Library 2 and display their names and dates. Added README.md with basic instructions for running the project. Added an MIT LICENSE . Initialized the local repository, pushed it to GitHub, and tagged the release as v1.0.0 . Published v1.0.0 on the GitHub project page."}]...
|
Title: zero-hour by @jakub-ginal | Stardance
Devl Title: zero-hour by @jakub-ginal | Stardance
Devlogs:
v1.0.0 - zero-hour - Initial Release Zero Hour shows every upcoming orbital rocket launch with a live countdown. Added index.html to fetch upcoming launches from Launch Library 2 and display their names and dates. Added README.md with basic instructions for running the project. Added an MIT LICENSE . Initialized the local repository, pushed it to GitHub, and tagged the release as v1.0.0 . Published v1.0.0 on the GitHub project page.
v1.1.0 - Launch Board Redesign Added a dark theme and structured page layout with a header, status section, and footer. Redesigned each launch as a card displaying an image, provider, mission, rocket, launch time, and launch pad. Added colored status indicators for Go, TBC, TBD, and Hold. Added a responsive card grid that adapts to mobile screens. Separated the styling into styles.css and moved the JavaScript into app.js . Published v1.1.0 on GitHub.
v1.2.0 - Live Launch Countdowns Added a “Next Launch” hero section highlighting the soonest upcoming launch. Added a live countdown displaying days, hours, minutes, and seconds, updated every second. Automatically switched to T+ elapsed time once a launch time had passed. Added a compact live countdown to every launch card. Styled the hero section and countdown displays to fit the dark theme. Published v1.2.0 on GitHub.
v1.3.0 - Launch Search and Filters Added a search box matching missions, rockets, providers, orbits, and launch pads. Added multi-word search with a short debounce delay to avoid filtering on every keystroke. Added status filter chips for All, Go, TBC, and TBD. Added a provider dropdown generated automatically from launch data, including launch counts. Added an empty state for unmatched searches with a Clear Filters button. Refactored the filtering logic around a shared filter state for cleaner list rendering. Published v1.3.0 on GitHub.
v1.4.0 - Launch Detail View Clickable Launch Cards - Made each launch card clickable to open a detailed view. Live Countdown and Facts - Added a large live countdown and a facts grid with liftoff time, launch window, rocket, provider, mission type, orbit, launch pad, and location. Mission Description - Added mission descriptions when available. Launch Pad Map - Embedded a map showing the launch pad location. Launch Actions - Added links for webcasts and live streams, .ics calendar downloads, Open in Maps, and mission information. Improved Dialog Controls - Added a close button, backdrop click, and Esc key support. Published - v1.4.0 is now available on GitHub.
v1.5.0 - Daily Launch Groups and Time Zones Daily Launch Groups - Grouped launches by day with sticky labels for Today, Tomorrow, weekdays, and dates. Loading Skeletons - Added placeholder cards while launch data loads. Time Zone Toggle - Added a Local / UTC toggle that remembers your preference. Live Time Zone Updates - Made the toggle update the hero, launch list, and currently open detail view. Sync Status - Added a footer indicator showing when the data was last updated. Automatic Refresh - Added automatic data refresh every 5 minutes. Unified Date Formatting - Routed date and time formatting through a single time zone-aware helper. Published - v1.5.0 is now available on GitHub.
v1.6.0 - Animated Starfield and Rocket Launch Animated Starfield - Added a full-page starfield with twinkling stars, depth layers, and mouse parallax. Warp Effects - Made stars streak into warp lines based on scroll speed. Rocket Launch Animation - Added a rocket lifting off from a glowing planetary horizon in the hero section. Realistic Flight Effects - Added a curved gravity turn with a rocket plume, smoke, and contrail. Motion Accessibility - Made animations respect reduced-motion settings and pause when the hero is offscreen. Persistent Animations - Kept hero canvases mounted across data refreshes to prevent animations from restarting. Published - v1.6.0 is now available on GitHub.
v1.7.0 - Live Launch Radar and Boot Sequence Launch Radar - Added a hero radar panel with rings, a crosshair, and a rotating sweep. Launch Pad Tracking - Plotted launch pads as pulsing blips based on their latitude and longitude. Hero Stats - Added live stats for tracked launches, providers, and the next lift-off time. Boot Sequence - Added an animated startup overlay with staged telemetry lines and a progress bar. Session-Based Startup - Made the boot sequence appear once per browser session and skip automatically when reduced motion is enabled. Responsive Hero Layout - Hid the radar on small screens and stacked the hero layout for better mobile support. Published - v1.7.0 is now available on GitHub.
v1.8.0 - FastAPI Backend and Data Caching FastAPI Backend - Added API endpoints for listing launches, retrieving the next launch, fetching launch details, and checking service health. Normalized Launch Data - Converted Launch Library 2 records into a consistent launch model. 10-Minute Cache - Cached upstream data for 10 minutes to reduce API requests and extend free-tier usage. Single-Flight Refresh - Added a lock to prevent concurrent requests from triggering duplicate data refreshes. Stale Data Fallback - Kept serving the last successful data with a stale flag when the upstream API fails. Refresh Backoff - Added a 60-second cooldown after a failed refresh to avoid repeated requests. Frontend API Integration - Switched the frontend to fetch launches from /api/launches and use normalized fields. Local Development Mode - Added local run instructions and a development mode that serves the frontend directly from the API. Published - v1.8.0 is now available on GitHub.
v1.9.0 - Testing, Security, and UI Polish Automated Tests - Added a pytest suite covering the API, provider filtering, cache reuse, stale data fallback, and 503 responses. Secure Rendering - Escaped launch data before rendering and restricted links to HTTP and HTTPS. Focus Management - Restored keyboard focus to the launch card after closing the detail dialog. Accessibility Improvements - Added a skip link, live status region, aria-busy state, and an accessible dialog label. Error Handling - Added a Retry button and an Offline footer state when loading fails. Reduced Motion Support - Disabled radar, blip, and skeleton animations when reduced motion is enabled. Typography - Added Space Grotesk, Inter, and JetBrains Mono with system font fallbacks. Visual Polish - Added a gradient hero title, card hover lift and zoom effects, and accent-colored text selection. Favicon - Added favicon.svg Published - v1.9.0 is now available on GitHub.
v1.10.0 - Live Clock and Enhanced Launch Dashboard Live Clock - Added a header clock with a pulsing status indicator that follows the selected Local or UTC time zone. Hero Metadata - Added provider, launch pad, and launch window details to the hero section. Launch Actions - Added Mission Briefing and Add to Calendar actions for the next launch. Calendar Confirmation - Added toast notifications to confirm successful calendar downloads. Radar Statistics - Added launch counts for the next 24 hours, the current week, and Go-status launches. About Section - Added information explaining the data source and launch status meanings. Search Shortcut - Added the / keyboard shortcut to jump directly to search. Hero Button Polish - Kept the primary hero button subtle to maintain visual balance. Published - v1.10.0 is now available on GitHub.
v1.11.0 - Sticky Navigation and Launch Manifest Sticky Navigation - Added a fixed top bar with a new logo mark, ZERO HOUR wordmark, Manifest and About links, live clock, and Local / UTC switch. Launch Manifest Section - Added a dedicated section header with a live launch count and status note. Lost Signal Panel - Added a dedicated error panel with a Retry button when the launch feed is unreachable. Hero Scroll Cue - Added a scroll indicator and smooth anchor scrolling with an offset for the sticky header. Active Navigation - Highlighted the section currently being viewed and hid section links on mobile. Branding and Credits - Updated the footer branding and data credits, and added the logo to the boot screen. Reduced Motion Support - Extended reduced-motion support to the new animations. Published - v1.11.0 is now available on GitHub.
v1.12.0 - Honest Launch Dates and Shareable Mission Briefings Date Precision - Unconfirmed launch dates now display as NET Q4 2026 or NET May 2026 and appear under “Date to be confirmed”. Mission Briefing Redesign - Added status and live pills, image credits, country codes, launch windows, weather, webcast links, maps, and copy-link actions. Shareable Launch Links - Added #launch/<id> links that open the correct briefing on page load or when pasted, including launches outside the initially loaded page. Enhanced Launch Cards - Added orbit badges, success and failure colors, and a visual highlight for imminent launches. Visual Polish - Added muted country codes and added a hero word-reveal animation, scroll-aware navigation, and a subtle card spotlight effect. Smarter Calendar Files - Added shareable launch links to calendar files and warnings when launch dates are not final. Published - v1.12.0 is now available on GitHub.
v1.13.0 - Saved Launches and Subscribable Calendars Saved Launches - Added browser-based bookmarks, a saved-only filter, live count, and empty state. Full Launch Manifest - Added up to 100 upcoming missions, displayed 24 at a time with a Load More button. Calendar Feed - Added /api/calendar for subscribing to confirmed launches, excluding tentative dates until schedules become more certain. Calendar Setup Page - Added a copyable feed URL, .ics downloads, and subscription instructions. Mission Calendar Files - Added individual calendar events with launch details and links back to mission briefings. API Performance - Added ETags, 304 responses, gzip compression, and stale-cache fallback. Calendar Download Fix - Redirected browser visits to the setup page and fixed download handling. Interface Polish - Improved accessibility, bookmark controls, responsive layouts, and saved-launch indicators. Published - v1.13.0 is now available on GitHub....
|
1792958138.2726412
|
1793562938.2726412
|
|
49341
|
zero-cable-hub by @Dakshu | Stardance
|
Dakshu
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zero-cable-hub by @Dakshu | Stardance
|
1792587134.5934489
|
1793191934.5934489
|
|
28284
|
zenly by @andrewh | Stardance
|
andrewh
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zenly by @andrewh | Stardance
|
1792533250.2737534
|
1793138050.2737534
|
|
71396
|
zenith by @yeetle | Stardance
|
yeetle
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zenith by @yeetle | Stardance
|
1792972028.3295228
|
1793576828.3295228
|
|
45856
|
zeboard by @ze-man | Stardance
|
ze-man
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: zeboard by @ze-man | Stardance
|
1792641112.722062
|
1793245912.722062
|
|
15446
|
zap by @bernardq | Stardance
|
bernardq
|
2
|
46.68
|
338
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-16T19:23:17Z", "hours": 24.0, "multiplier": 7.58, "payout": 182, "blessing": "neutral", "text": "So, I built a package manager in Python. The biggest challenge I experienced was organizing my code, debugging, and building complex features. I’m proud that it works, and I’m proud of all the time I spent coding it. My project documentation is on GitHub, which is the best place I have to write and maintain it. Zap can install, remove, and download packages without installing them, as well as update packages and perform other features. Try out my project, and if you want to add your projects to the Zap repository, contact me on Slack or GitHub. Thanks for Reading!", "repo": "https://github.com/Bkner3/zap", "demo": "https://github.com/Bkner3/zap/releases"}, {"ship_num": 2, "ts": "2026-07-11T21:53:33Z", "hours": 16.0, "multiplier": 9.85, "payout": 156, "blessing": "neutral", "text": "Hello everyone! My project is a package manager built entirely in Python. I challenged myself to create something simple for everyone—both for the people creating the repository and for those who will use it. I am really proud of myself for dedicating so much effort to this project. ⚠️ Project Status & Requirements Please note that this project is currently in Beta and some commands might not be fully functional or ready yet. System Requirements: Python 3.0 or higher is required. To run the project in script mode, you must install the following dependencies: requests, colorama, and tqdm. Current Limitations: The tools inside repo-tools (used for creating repositories) are currently disabled while they undergo updates. In the meantime, if you want to create a repository, you can use the example index provided in the GitHub README and simply replace the package and file names with your own. If you have any questions or run into issues, please feel free to open an issue or ask here on GitHub. I am more than happy to help!", "repo": "https://github.com/Bkner3/zap", "demo": "https://github.com/Bkner3/zap/releases"}]...
|
[{"post_id": 77160, "ts": "202 [{"post_id": 77160, "ts": "2026-10-05T20:41:48Z", "hours": 1.8519, "text": "Devlog #32 I’m tired of working on this, I try one thing and it doesn’t work I try another even worse but I’m working to launch the zap for linux I just don’t have test packages or packages to release if any wants to launch their package on the zap let me know."}, {"post_id": 76875, "ts": "2026-10-04T21:59:26Z", "hours": 1.7056, "text": "Devlog #31 After some time, I finally had time to work on ZAP again. Today I started fixing some bugs in ZAP, tested the installation script, and added the installation instructions to the README on the main page. ZAP is still in beta, and I know some things don’t work yet, but I want to sleep. I tested the installer on Debian-based systems, but I haven’t tested it on Arch, Alpine, or other obscure distros yet. My linux test PC specs are shown above, and the error is also shown above."}, {"post_id": 74178, "ts": "2026-09-26T21:04:57Z", "hours": 1.0075, "text": "#Devlog #30 Updating the zap web page for the new version."}, {"post_id": 73050, "ts": "2026-09-24T08:47:09Z", "hours": 0.6928, "text": "Devlog #29 Today I finally finished the Linux installation script!"}, {"post_id": 72864, "ts": "2026-09-23T21:50:36Z", "hours": 0.6369, "text": "Devlog #28 So today, I started writing the installation script for Linux. Sorry if I don’t give many updates school just started today!"}, {"post_id": 70055, "ts": "2026-09-18T11:18:17Z", "hours": 0.3489, "text": "Devlog #27 Today, I run zap on Linux and lost my sanity with the complexity of using Linux on an old PC and all the configuration. The hello test package will be available this afternoon. Thanks for reading!"}, {"post_id": 69672, "ts": "2026-09-17T15:29:16Z", "hours": 0.4408, "text": "Devlog #26 Today, I changed the code so that ZAP can have a Linux version. I spent an hour trying to install pip on my Linux PC, but I couldn’t get it to work. I switched to another PC, and now I’m going to test it."}, {"post_id": 69197, "ts": "2026-09-16T15:56:48Z", "hours": 3.8558, "text": "Devlog #25 Making small changes to the code in the past days to launch the version 0.7.0-beta."}, {"post_id": 66646, "ts": "2026-09-12T14:35:05Z", "hours": 0.7144, "text": "Devlog #24 Today, I made some small changes to the project. The next thing I’m going to add is a system to check whether the local index is outdated and update it if necessary."}, {"post_id": 66005, "ts": "2026-09-11T15:00:04Z", "hours": 0.9475, "text": "Devlog #23 Today, I correct a error in the launcher system code and I tried to create a 3 packages to show who it works but they don’t work."}, {"post_id": 65639, "ts": "2026-09-10T22:10:37Z", "hours": 3.4558, "text": "Devlog #22 Today, yesterday I added a function that checks if all packages / dependencies are in the list to be downloaded, also adding the author variable to the database, and some minor changes. Thanks for reading! 😊"}, {"post_id": 64327, "ts": "2026-09-08T16:48:39Z", "hours": 1.4808, "text": "Devlog #21 Updating the README so I can release version 0.7 tomorrow!"}, {"post_id": 63686, "ts": "2026-09-07T16:52:05Z", "hours": 1.5267, "text": "Devlog #20 Today, with the help of ChatGPT, I created the dependency system. The ZAP can now resolve package dependencies and find the correct versions required by each package. It can also handle multiple versions of the same dependency and create launchers with the required dependencies added to the PATH. This means different packages can use different versions of the same dependency without conflicts."}, {"post_id": 61833, "ts": "2026-09-04T22:52:52Z", "hours": 0.6039, "text": "Devlog #19 Today, with the help of ChatGPT, I created a system to check if a dependency’s version is compatible with the program. For example, if a dependency is specified as dependency@>=1.0.0 , the system will analyze the required version and check whether the available version is compatible."}, {"post_id": 58496, "ts": "2026-08-30T22:28:18Z", "hours": 1.8736, "text": "Devlog #18 Today, I added a new parameter to the database for dependencies, and I started working on the dependency system. I don’t know if I mentioned it in the previous devlog, but I also created the confirmation button. Thanks for reading! And if you want to launch your project on Zap, please contact me. Thanks for reading!"}, {"post_id": 54778, "ts": "2026-08-25T21:48:08Z", "hours": 1.4942, "text": "Devlog #17 Hello! Today I finally started working on the scary part of a package manager: dependencies ⛈️⛈️. Warning Today I only worked on the system that grabs the dependencies. The way dependencies will work is through the .cmd launchers stored in: C:/Users/Your_User/AppData/Local/Zap/sl Each package will have its own launcher, and that launcher will be responsible for setting up the environment required by that package. For example, imagine your program uses lib_a version 1.0 , while another program uses lib_a version 2.0 . Instead of putting everything in the same place and causing conflicts, each .cmd launcher will temporarily add the required dependencies to the PATH . This means that both versions can coexist without interfering with each other. Dependencies can also have their own dependencies. When one package depends on another package, its launcher can create its own environment with the dependencies it requires. This creates a kind of lightweight sandbox for each package. The goal is to keep dependencies isolated while keeping the system simple and transparent. This is definitely one of the more complicated parts of the package manager, but I’m finally starting to figure out the architecture. Warning This changes are not avaiable yet!"}, {"post_id": 51693, "ts": "2026-08-21T14:52:13Z", "hours": 2.9186, "text": "Devlog #16 Today, I changed the way you configure Zap. The example below shows how to hide the logo. Before: zap config hl Now: zap config set show_logo true Previously, you couldn’t view the configuration from the program. Now, zap config list shows the current configuration. Warning The configuration is currently only used to enable, disable, or change the logo and debug settings. I’m also finally using Python’s virtual environment to work on the project. These changes will be included in the next release. For now, they are available in the dev branch. And thank you to everyone who has checked out the project and given feedback. If anyone wants to publish their projects and make them available in the Zap repository, please leave a comment or try to contact me."}, {"post_id": 40270, "ts": "2026-08-03T18:11:13Z", "hours": 2.7706, "text": "Devlog #15 Today, I re-write the Readme, launch a release (v0.6.5-beta), I created a official repository and add a test package named hello."}, {"post_id": 32531, "ts": "2026-07-21T19:25:58Z", "hours": 0.7503, "text": "Devlog #14 Today I separated repo-tools from the Zap parser and started developing it in its own branch."}, {"post_id": 30730, "ts": "2026-07-18T15:33:21Z", "hours": 0.9061, "text": "Devlog #13 Adding the info commmad."}, {"post_id": 28369, "ts": "2026-07-14T16:15:58Z", "hours": 0.7253, "text": "adding a gitignore and deleting the repo-tools to start from zero."}, {"post_id": 26852, "ts": "2026-07-11T21:29:51Z", "hours": 1.3656, "text": "Devlog #11 - Now I added upgrades to the zap website but I down publish yet. Sorry for my robotic English."}, {"post_id": 26585, "ts": "2026-07-11T14:33:30Z", "hours": 2.1264, "text": "Devlog #10 Today I added the repo-remove command, which removes a repository URL from the index file. I also made some small improvements to the project’s directory structure."}, {"post_id": 24630, "ts": "2026-07-08T10:54:59Z", "hours": 1.2447, "text": "Devlog - 09 Today I added a base_url parameter to the index configuration, allowing the domain to be changed more easily without having to manually update all links. I also fixed issues in the Makefile that were causing broken executables with no output. Finally, I merged my work from the GitHub dev branch into the GitHub main branch."}, {"post_id": 22463, "ts": "2026-07-04T22:40:05Z", "hours": 1.1542, "text": "Devlog - 08 Starting to create an installation script and configure my VS Code for another computer."}, {"post_id": 17617, "ts": "2026-06-28T14:21:40Z", "hours": 1.2869, "text": "Devlog - 07 Today, I added an upgrade feature to update ZAP to the latest version. The code is untested because I have to return my school laptop and move everything over to my dad’s computer. I don’t know when I will be back to active development."}, {"post_id": 17010, "ts": "2026-06-27T16:37:05Z", "hours": 1.5008, "text": "Devlog - 06. Today I added a function to check if a package is compatible with the operating system where the program is running."}, {"post_id": 11987, "ts": "2026-06-19T15:47:52Z", "hours": 1.6478, "text": "Devlog - 05 Beginning of the creation of the repo-tools that will be used to create and edit an index."}, {"post_id": 11537, "ts": "2026-06-18T20:43:38Z", "hours": 0.5406, "text": "Devlog - 04 Today I added a SHA-256 integrity verification system. The package manager now generates and compares file hashes to validate downloaded files and prevent corrupted or modified packages from being installed."}, {"post_id": 9316, "ts": "2026-06-15T17:01:19Z", "hours": 1.1847, "text": "Devlog - 03 Today I created and finished the update command."}, {"post_id": 6876, "ts": "2026-06-11T15:04:47Z", "hours": 2.6628, "text": "Devlog - 02 Today I finished the logging system and started updating the README. What’s new: Complete activity logging README improvements and setup guide Next step: polishing the project documentation and create a better structure for the packages."}, {"post_id": 6340, "ts": "2026-06-10T17:51:33Z", "hours": 1.0964, "text": "Now I am implementing the log system."}]...
|
Title: zap by @bernardq | Stardance
Devlogs:
Now Title: zap by @bernardq | Stardance
Devlogs:
Now I am implementing the log system.
Devlog - 02 Today I finished the logging system and started updating the README. What’s new: Complete activity logging README improvements and setup guide Next step: polishing the project documentation and create a better structure for the packages.
Devlog - 03 Today I created and finished the update command.
Devlog - 04 Today I added a SHA-256 integrity verification system. The package manager now generates and compares file hashes to validate downloaded files and prevent corrupted or modified packages from being installed.
Devlog - 05 Beginning of the creation of the repo-tools that will be used to create and edit an index.
Devlog - 06. Today I added a function to check if a package is compatible with the operating system where the program is running.
Devlog - 07 Today, I added an upgrade feature to update ZAP to the latest version. The code is untested because I have to return my school laptop and move everything over to my dad’s computer. I don’t know when I will be back to active development.
Devlog - 08 Starting to create an installation script and configure my VS Code for another computer.
Devlog - 09 Today I added a base_url parameter to the index configuration, allowing the domain to be changed more easily without having to manually update all links. I also fixed issues in the Makefile that were causing broken executables with no output. Finally, I merged my work from the GitHub dev branch into the GitHub main branch.
Devlog #10 Today I added the repo-remove command, which removes a repository URL from the index file. I also made some small improvements to the project’s directory structure.
Devlog #11 - Now I added upgrades to the zap website but I down publish yet. Sorry for my robotic English.
adding a gitignore and deleting the repo-tools to start from zero.
Devlog #13 Adding the info commmad.
Devlog #14 Today I separated repo-tools from the Zap parser and started developing it in its own branch.
Devlog #15 Today, I re-write the Readme, launch a release (v0.6.5-beta), I created a official repository and add a test package named hello.
Devlog #16 Today, I changed the way you configure Zap. The example below shows how to hide the logo. Before: zap config hl Now: zap config set show_logo true Previously, you couldn’t view the configuration from the program. Now, zap config list shows the current configuration. Warning The configuration is currently only used to enable, disable, or change the logo and debug settings. I’m also finally using Python’s virtual environment to work on the project. These changes will be included in the next release. For now, they are available in the dev branch. And thank you to everyone who has checked out the project and given feedback. If anyone wants to publish their projects and make them available in the Zap repository, please leave a comment or try to contact me.
Devlog #17 Hello! Today I finally started working on the scary part of a package manager: dependencies ⛈️⛈️. Warning Today I only worked on the system that grabs the dependencies. The way dependencies will work is through the .cmd launchers stored in: C:/Users/Your_User/AppData/Local/Zap/sl Each package will have its own launcher, and that launcher will be responsible for setting up the environment required by that package. For example, imagine your program uses lib_a version 1.0 , while another program uses lib_a version 2.0 . Instead of putting everything in the same place and causing conflicts, each .cmd launcher will temporarily add the required dependencies to the PATH . This means that both versions can coexist without interfering with each other. Dependencies can also have their own dependencies. When one package depends on another package, its launcher can create its own environment with the dependencies it requires. This creates a kind of lightweight sandbox for each package. The goal is to keep dependencies isolated while keeping the system simple and transparent. This is definitely one of the more complicated parts of the package manager, but I’m finally starting to figure out the architecture. Warning This changes are not avaiable yet!
Devlog #18 Today, I added a new parameter to the database for dependencies, and I started working on the dependency system. I don’t know if I mentioned it in the previous devlog, but I also created the confirmation button. Thanks for reading! And if you want to launch your project on Zap, please contact me. Thanks for reading!
Devlog #19 Today, with the help of ChatGPT, I created a system to check if a dependency’s version is compatible with the program. For example, if a dependency is specified as dependency@>=1.0.0 , the system will analyze the required version and check whether the available version is compatible.
Devlog #20 Today, with the help of ChatGPT, I created the dependency system. The ZAP can now resolve package dependencies and find the correct versions required by each package. It can also handle multiple versions of the same dependency and create launchers with the required dependencies added to the PATH. This means different packages can use different versions of the same dependency without conflicts.
Devlog #21 Updating the README so I can release version 0.7 tomorrow!
Devlog #22 Today, yesterday I added a function that checks if all packages / dependencies are in the list to be downloaded, also adding the author variable to the database, and some minor changes. Thanks for reading! 😊
Devlog #23 Today, I correct a error in the launcher system code and I tried to create a 3 packages to show who it works but they don’t work.
Devlog #24 Today, I made some small changes to the project. The next thing I’m going to add is a system to check whether the local index is outdated and update it if necessary.
Devlog #25 Making small changes to the code in the past days to launch the version 0.7.0-beta.
Devlog #26 Today, I changed the code so that ZAP can have a Linux version. I spent an hour trying to install pip on my Linux PC, but I couldn’t get it to work. I switched to another PC, and now I’m going to test it.
Devlog #27 Today, I run zap on Linux and lost my sanity with the complexity of using Linux on an old PC and all the configuration. The hello test package will be available this afternoon. Thanks for reading!
Devlog #28 So today, I started writing the installation script for Linux. Sorry if I don’t give many updates school just started today!
Devlog #29 Today I finally finished the Linux installation script!
#Devlog #30 Updating the zap web page for the new version.
Devlog #31 After some time, I finally had time to work on ZAP again. Today I started fixing some bugs in ZAP, tested the installation script, and added the installation instructions to the README on the main page. ZAP is still in beta, and I know some things don’t work yet, but I want to sleep. I tested the installer on Debian-based systems, but I haven’t tested it on Arch, Alpine, or other obscure distros yet. My linux test PC specs are shown above, and the error is also shown above.
Devlog #32 I’m tired of working on this, I try one thing and it doesn’t work I try another even worse but I’m working to launch the zap for linux I just don’t have test packages or packages to release if any wants to launch their package on the zap let me know.
Ships:
Hello everyone! My project is a package manager built entirely in Python. I challenged myself to create something simple for everyone—both for the people creating the repository and for those who will use it. I am really proud of myself for dedicating so much effort to this project. ⚠️ Project Status & Requirements Please note that this project is currently in Beta and some commands might not be fully functional or ready yet. System Requirements: Python 3.0 or higher is required. To run the project in script mode, you must install the following dependencies: requests, colorama, and tqdm. Current Limitations: The tools inside repo-tools (used for creating repositories) are currently disabled while they undergo updates. In the meantime, if you want to create a repository, you can use the example index provided in the GitHub README and simply replace the package and file names with your own. If you have any questions or run into issues, please feel free to open an issue or ask here on GitHub. I am more than happy to help!
So, I built a package manager in Python. The biggest challenge I experienced was organizing my code, debugging, and building complex features. I’m proud that it works, and I’m proud of all the time I spent coding it. My project documentation is on GitHub, which is the best place I have to write and maintain it. Zap can install, remove, and download packages without installing them, as well as update packages and perform other features. Try out my project, and if you want to add your projects to the Zap repository, contact me on Slack or GitHub. Thanks for Reading!...
|
1792982989.2299278
|
1793069389.2299278
|
|
38496
|
zacharyOS by @zacharyl | Stardance
|
zacharyl
|
0
|
3.73
|
0
|
[]
|
[{"post_id": 33355, "ts": "202 [{"post_id": 33355, "ts": "2026-07-23T06:18:13Z", "hours": 0.57, "text": "I worked on the Messages app for the operating system, making it more interactive with JavaScript. I moved the conversation data into a separate messages.js file to keep the code organized and added group chats and DMs with different personalities. I also ran into a few bugs, including conversations is not defined, which turned out to be caused by an earlier error preventing messages.js from loading, and I accidentally used the wrong capitalization when calling a function. After fixing those, I got the app working with pre-generated conversations, message bubbles. The ability to send messages is coming soon!"}, {"post_id": 33342, "ts": "2026-07-23T05:13:08Z", "hours": 3.1572, "text": "This is the first, most basic part of the OS! After much deciding and mulling over the options, I chose a Windows-like setup with some interesting buttons. It took quite a bit of time to debug a lot of the errors that came with the Windows windowing system in HTML, CSS, & JS, but we (I) got there eventually! Next step is to build another app…"}]...
|
Title: zacharyOS by @zacharyl | Stardance
Devlogs Title: zacharyOS by @zacharyl | Stardance
Devlogs:
This is the first, most basic part of the OS! After much deciding and mulling over the options, I chose a Windows-like setup with some interesting buttons. It took quite a bit of time to debug a lot of the errors that came with the Windows windowing system in HTML, CSS, & JS, but we (I) got there eventually! Next step is to build another app…
I worked on the Messages app for the operating system, making it more interactive with JavaScript. I moved the conversation data into a separate messages.js file to keep the code organized and added group chats and DMs with different personalities. I also ran into a few bugs, including conversations is not defined, which turned out to be caused by an earlier error preventing messages.js from loading, and I accidentally used the wrong capitalization when calling a function. After fixing those, I got the app working with pre-generated conversations, message bubbles. The ability to send messages is coming soon!...
|
1792677204.5129492
|
1793282004.5129492
|