|
4451
|
My first slack bot! by @sharleez | Stardance
|
sharleez
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @sharleez | Stardanc Title: My first slack bot! by @sharleez | Stardance...
|
1792760114.8142655
|
1793364914.8142655
|
|
4452
|
Researca! by @araadh3111 | Stardance
|
araadh3111
|
0
|
26.2
|
0
|
[]
|
[{"post_id": 7501, "ts": "2026 [{"post_id": 7501, "ts": "2026-06-12T14:44:02Z", "hours": 1.7342, "text": "Done adding the library feature!! in researca try it out at https://research-copilot-sigma.vercel.app/library"}, {"post_id": 6878, "ts": "2026-06-11T15:13:38Z", "hours": 2.0897, "text": "Changed the ui of Researca fromlight manuscript theme to dark night theme"}, {"post_id": 6763, "ts": "2026-06-11T10:22:00Z", "hours": 22.3761, "text": "This Is Day 16 of Being the senior engineer of Researca and its my first devlog too, first lets start with what is Researca? To make countable contributions in science, scientists all over the world publish papers to record their discovery, methodology and The whole process done to publish that paper. This whole process consumes loads of time off the scientists table and doing it manually makes it reallly really hard for a scientist to finally publish a paper, we can understand it better by taking an example of a coder, He knows how to code but he takes too much time to code a full fledged app and then misses on the most important part of coding i.e. Shipping his/her project. I myself wanted to introduce myself to world of research by writing a paper on prosthetic arms, but then I realised this whole process is really difficult, scraping papers for gaps, reading 100’s of papers every month spending months on literature review. Thats why I built Researca and I am currently building it, Researca is an Ai Assistant ( not a wrapper) that ranks and synthesizes all the papers in ure field, it is like a workspace for a scientist(like notion) It has library feature, And Im currently building agentic Ai workflow to automate the research process, I have even collected feedback from 2 professors regarding what they find hard in their research process, researca comes with comparitive matrix and writing tool too!, here is the link to try Researca, Constant improvements are being made by me to improve researca each day!try it out at –> https://research-copilot-sigma.vercel.app/"}]...
|
Title: Researca! by @araadh3111 | Stardance
Devlo Title: Researca! by @araadh3111 | Stardance
Devlogs:
This Is Day 16 of Being the senior engineer of Researca and its my first devlog too, first lets start with what is Researca? To make countable contributions in science, scientists all over the world publish papers to record their discovery, methodology and The whole process done to publish that paper. This whole process consumes loads of time off the scientists table and doing it manually makes it reallly really hard for a scientist to finally publish a paper, we can understand it better by taking an example of a coder, He knows how to code but he takes too much time to code a full fledged app and then misses on the most important part of coding i.e. Shipping his/her project. I myself wanted to introduce myself to world of research by writing a paper on prosthetic arms, but then I realised this whole process is really difficult, scraping papers for gaps, reading 100’s of papers every month spending months on literature review. Thats why I built Researca and I am currently building it, Researca is an Ai Assistant ( not a wrapper) that ranks and synthesizes all the papers in ure field, it is like a workspace for a scientist(like notion) It has library feature, And Im currently building agentic Ai workflow to automate the research process, I have even collected feedback from 2 professors regarding what they find hard in their research process, researca comes with comparitive matrix and writing tool too!, here is the link to try Researca, Constant improvements are being made by me to improve researca each day!try it out at –> https://research-copilot-sigma.vercel.app/
Changed the ui of Researca fromlight manuscript theme to dark night theme
Done adding the library feature!! in researca try it out at https://research-copilot-sigma.vercel.app/library...
|
1793224114.1017065
|
1793828914.1017065
|
|
4453
|
Chess Bot by @Cat_Coder | Stardance
|
Cat_Coder
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Chess Bot by @Cat_Coder | Stardance
|
1792770743.8685954
|
1793375543.8685954
|
|
4454
|
My awesome macropad! by @mariamebrahem276 | Starda My awesome macropad! by @mariamebrahem276 | Stardance...
|
mariamebrahem276
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @mariamebrahem276 | Title: My awesome macropad! by @mariamebrahem276 | Stardance...
|
1792658911.1149197
|
1793263711.1149197
|
|
4455
|
My awesome macropad! by @DEMISHADOW | Stardance
|
DEMISHADOW
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @DEMISHADOW | Stard Title: My awesome macropad! by @DEMISHADOW | Stardance...
|
1792684138.89561
|
1793288938.89561
|
|
4456
|
My awesome macropad! by @Copernicus | Stardance
|
Copernicus
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @Copernicus | Stard Title: My awesome macropad! by @Copernicus | Stardance...
|
1792695157.917146
|
1793299957.917146
|
|
4457
|
Ardupilot Drone by @justini | Stardance
|
justini
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Ardupilot Drone by @justini | Stardance
|
1793174014.9758418
|
1793778814.9758418
|
|
4458
|
My Hackpad by @Beyonder | Stardance
|
Beyonder
|
0
|
2.0
|
0
|
[]
|
[{"post_id": 12006, "ts": "202 [{"post_id": 12006, "ts": "2026-06-19T16:19:59Z", "hours": 1.0, "text": "Started making the pcb in Kicad, the circuit is done."}, {"post_id": 9183, "ts": "2026-06-15T12:32:53Z", "hours": 1.0, "text": "Trying to make a Hackpad and will do some customization to it later."}]...
|
Title: My Hackpad by @Beyonder | Stardance
Devlog Title: My Hackpad by @Beyonder | Stardance
Devlogs:
Trying to make a Hackpad and will do some customization to it later.
Started making the pcb in Kicad, the circuit is done....
|
1792943611.8354516
|
1793807611.8354516
|
|
4459
|
My awesome macropad! by @Mayank_0001 | Stardance
|
Mayank_0001
|
0
|
0.56
|
0
|
[]
|
[{"post_id": 1319, "ts": "2026 [{"post_id": 1319, "ts": "2026-06-03T07:36:03Z", "hours": 0.5636, "text": "i have just started to build a gaming pad."}]...
|
Title: My awesome macropad! by @Mayank_0001 | Star Title: My awesome macropad! by @Mayank_0001 | Stardance
Devlogs:
i have just started to build a gaming pad....
|
1792706029.9165862
|
1793310829.9165862
|
|
4460
|
My awesome macropad! by @DimensionLess | Stardance
|
DimensionLess
|
0
|
3.36
|
0
|
[]
|
[{"post_id": 23421, "ts": "202 [{"post_id": 23421, "ts": "2026-07-06T11:30:23Z", "hours": 0.7667, "text": "completed the firmware"}, {"post_id": 22844, "ts": "2026-07-05T13:44:26Z", "hours": 0.3103, "text": "completed the top too , now the enclosure is done . I made the top to be transparent and the bottom tray to be back"}, {"post_id": 22765, "ts": "2026-07-05T10:51:10Z", "hours": 0.4667, "text": "i started 3d designing the case but its my first time 3d designing hence it is really difficult for me but i am gonna learn the controls and then make a time lapse"}, {"post_id": 22662, "ts": "2026-07-05T06:45:24Z", "hours": 0.9503, "text": "When I first routed the wires it was confusing because my switch and diode names were random - nothing lined up in any logical order. Fixed it by going back and ordering my switches properly, then connected all the wires again. After that everything routed the way it was supposed to."}, {"post_id": 22170, "ts": "2026-07-04T14:27:07Z", "hours": 0.8636, "text": "I started working on my macro[ad , This is actually my 3rd attempt bcz in the first 2 ones i lost the timelapse hence could not post a devlog . I initially Decided to go for 4x3 Matrix keyboard with a oled, 1 rotary encoder and a single Led but half way through i realised that the board i was using (XIOA 2040) doesn’t have enough gpio pins and i had a decision to make either use xiao 2040 and scale back my keyboard matrix or use another board , at last i decided to use another board (Arduino nano 2040) which has enough gpios so i don’t have to compromise with my design"}]...
|
Title: My awesome macropad! by @DimensionLess | St Title: My awesome macropad! by @DimensionLess | Stardance
Devlogs:
I started working on my macro[ad , This is actually my 3rd attempt bcz in the first 2 ones i lost the timelapse hence could not post a devlog . I initially Decided to go for 4x3 Matrix keyboard with a oled, 1 rotary encoder and a single Led but half way through i realised that the board i was using (XIOA 2040) doesn’t have enough gpio pins and i had a decision to make either use xiao 2040 and scale back my keyboard matrix or use another board , at last i decided to use another board (Arduino nano 2040) which has enough gpios so i don’t have to compromise with my design
When I first routed the wires it was confusing because my switch and diode names were random - nothing lined up in any logical order. Fixed it by going back and ordering my switches properly, then connected all the wires again. After that everything routed the way it was supposed to.
i started 3d designing the case but its my first time 3d designing hence it is really difficult for me but i am gonna learn the controls and then make a time lapse
completed the top too , now the enclosure is done . I made the top to be transparent and the bottom tray to be back
completed the firmware...
|
1792756554.3034952
|
1793361354.3034952
|
|
4461
|
NuclInit by @aschereverhen | Stardance
|
aschereverhen
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: NuclInit by @aschereverhen | Stardance
|
1792688072.0392718
|
1793292872.0392718
|
|
4462
|
My awesome macropad! by @gruflo | Stardance
|
gruflo
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @gruflo | Stardance
|
1793184491.095847
|
1793789291.095847
|
|
4463
|
Policy Optimization Engine by @ritvikbhargava1 | S Policy Optimization Engine by @ritvikbhargava1 | Stardance...
|
ritvikbhargava1
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Policy Optimization Engine by @ritvikbharga Title: Policy Optimization Engine by @ritvikbhargava1 | Stardance...
|
1792687892.710032
|
1793292692.710032
|
|
4464
|
RoadSOS by @theAtharv | Stardance
|
theAtharv
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: RoadSOS by @theAtharv | Stardance
|
1792572526.7234237
|
1793177326.7234237
|
|
4465
|
Nexis-desk-buddy by @naadix_ind | Stardance
|
naadix_ind
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Nexis-desk-buddy by @naadix_ind | Stardance
|
1792666161.5580506
|
1793270961.5580506
|
|
4466
|
My awesome macropad! by @Mats | Stardance
|
Mats
|
0
|
0.9
|
0
|
[]
|
[{"post_id": 2091, "ts": "2026 [{"post_id": 2091, "ts": "2026-06-04T12:48:06Z", "hours": 0.5756, "text": "Worked on exporting CAD, documenting, and making the software better"}, {"post_id": 1380, "ts": "2026-06-03T11:36:05Z", "hours": 0.3228, "text": "My first hackpad! Make the pcb and now working on the software!"}]...
|
Title: My awesome macropad! by @Mats | Stardance
Title: My awesome macropad! by @Mats | Stardance
Devlogs:
My first hackpad! Make the pcb and now working on the software!
Worked on exporting CAD, documenting, and making the software better...
|
1793213787.4105096
|
1793818587.4105096
|
|
4467
|
project-HelpeX by @Arnost55 | Stardance
|
Arnost55
|
0
|
34.21
|
0
|
[]
|
[{"post_id": 9270, "ts": "2026 [{"post_id": 9270, "ts": "2026-06-15T15:52:02Z", "hours": 5.8736, "text": "Did coding refactor and cleaned up the Code"}, {"post_id": 4115, "ts": "2026-06-07T09:43:21Z", "hours": 3.2889, "text": "made database changes based"}, {"post_id": 3597, "ts": "2026-06-06T16:22:41Z", "hours": 1.0681, "text": "Tried to add a new ui but accidentally added a dropdown 💀💀💀"}, {"post_id": 3539, "ts": "2026-06-06T15:00:36Z", "hours": 1.3936, "text": "Made a new input field for tokens and temperature but i am lacking some ideas"}, {"post_id": 3372, "ts": "2026-06-06T08:19:21Z", "hours": 2.1364, "text": "made changes in the rust backend code"}, {"post_id": 3326, "ts": "2026-06-06T06:11:01Z", "hours": 0.6853, "text": "added a quick action bar. and cleaned up the code"}, {"post_id": 2744, "ts": "2026-06-05T14:46:15Z", "hours": 3.7919, "text": "made some interesting changes to the UI/model selector"}, {"post_id": 2266, "ts": "2026-06-04T17:39:30Z", "hours": 1.7767, "text": "Refactor codebase"}, {"post_id": 2132, "ts": "2026-06-04T13:45:00Z", "hours": 2.8097, "text": "Worked on Making a profile setting panel"}, {"post_id": 2046, "ts": "2026-06-04T10:29:14Z", "hours": 3.6736, "text": "debugging the reset button"}, {"post_id": 1494, "ts": "2026-06-03T15:42:51Z", "hours": 2.9708, "text": "tried to make a reset button for the app"}, {"post_id": 1375, "ts": "2026-06-03T11:22:10Z", "hours": 2.5189, "text": "Made some simple UI without the design in figma. Trying to be more consistent"}, {"post_id": 1316, "ts": "2026-06-03T07:24:38Z", "hours": 2.2222, "text": "Worked on design in figma"}]...
|
Title: project-HelpeX by @Arnost55 | Stardance
De Title: project-HelpeX by @Arnost55 | Stardance
Devlogs:
Worked on design in figma
Made some simple UI without the design in figma. Trying to be more consistent
tried to make a reset button for the app
debugging the reset button
Worked on Making a profile setting panel
Refactor codebase
made some interesting changes to the UI/model selector
added a quick action bar. and cleaned up the code
made changes in the rust backend code
Made a new input field for tokens and temperature but i am lacking some ideas
Tried to add a new ui but accidentally added a dropdown 💀💀💀
made database changes based
Did coding refactor and cleaned up the Code...
|
1792778066.3330162
|
1793382866.3330162
|
|
4468
|
Student Store by @Avyaan | Stardance
|
Avyaan
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Student Store by @Avyaan | Stardance
|
1792677241.011918
|
1793282041.011918
|
|
4469
|
My awesome macropad! by @aditya_narang | Stardance
|
aditya_narang
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @aditya_narang | St Title: My awesome macropad! by @aditya_narang | Stardance...
|
1792734532.2390828
|
1793339332.2390828
|
|
4470
|
Edge-AI Home Monitoring System by @Greg_ios | Star Edge-AI Home Monitoring System by @Greg_ios | Stardance...
|
Greg_ios
|
3
|
38.0
|
612
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-09-07T08:49:56Z", "hours": 18.0, "multiplier": 17.56, "payout": 308, "blessing": "neutral", "text": "Most smart homes are leased, not owned. Every command you send travels to a cloud you don’t control, owned by a company with interests misaligned to yours. This system proves that meaningful control of your physical space doesn’t require surrendering it to a vendor. Edge-AI Home Monitoring is a locally-governed, vendor-independent home automation platform designed to answer: can a household be sovereign over its own infrastructure?", "repo": "https://github.com/travletothefurureprogramming/Edge-AI-Home-Monitoring-System", "demo": "https://edgeaihomemonitoringsystem.carrd.co/"}, {"ship_num": 2, "ts": "2026-06-30T20:49:56Z", "hours": 11.0, "multiplier": 16.61, "payout": 175, "blessing": "neutral", "text": "Over the past few weeks, Edge-AI Home Monitoring System has evolved from a basic smart home controller into a much more capable home automation platform. New Features Added YOLO-based security monitoring Integrated Telegram bot for remote alerts and device control Added support for Tapo Smart Bulbs Added support for Tapo Smart Plugs Added support for Philips Hue devices Added support for Yeelight devices Added support for LG Smart TVs Added Remote PC Control & Monitoring Infrastructure Improvements Built a full Flask server backend Added a responsive Web Dashboard Improved setup process with automated setup scripts Reworked documentation and README Reliability Improvements Refactored multiple modules with structured exception handling Added better logging and debugging tools Improved API responses and backend stability Enhanced scalability for future device integrations The project is now much closer to becoming a complete privacy-first edge AI smart home hub capable of controlling multiple device ecosystems from a single interface.", "repo": "https://github.com/travletothefurureprogramming/Edge-AI-Home-Monitoring-System", "demo": "https://edgeaihomemonitoringsystem.carrd.co/"}, {"ship_num": 3, "ts": "2026-06-03T14:57:54Z", "hours": 9.0, "multiplier": 15.16, "payout": 129, "blessing": "neutral", "text": "I have made an Edge-AI Home Monitoring System. It is a privacy-first, edge-AI home automation hub using Linux, Flask, and real-time control to orchestrate smart devices.", "repo": "https://github.com/travletothefurureprogramming/Edge-AI-Home-Monitoring-System", "demo": "https://edgeaihomemonitoringsystem.carrd.co/"}]...
|
[{"post_id": 30918, "ts": "202 [{"post_id": 30918, "ts": "2026-07-18T22:06:31Z", "hours": 2.7133, "text": "🧪 Reliability & CI Improvements This update also focuses on improving the project’s reliability and development workflow. What’s New Added 20 Pytest test cases covering the core functionality of the system, helping verify that critical components behave correctly and reducing the risk of regressions. Configured GitHub Actions to automatically execute the entire test suite after every commit and pull request, ensuring new changes don’t break existing functionality. Why It Matters Automated testing and Continuous Integration (CI) make the project more robust, maintainable, and production-ready. Every code change is now automatically validated before it becomes part of the project, providing faster feedback during development and increasing confidence in future updates."}, {"post_id": 29426, "ts": "2026-07-16T11:26:44Z", "hours": 2.9903, "text": "🐳 Docker Setup: 100% Functional Docker support for the Edge-AI Home Monitoring System is now fully working end-to-end. What’s New First-Run Setup via HTML : Instead of manual configuration steps, the very first launch now opens a lightweight HTML setup page that walks through the initial configuration once (credentials, device registration basics, etc.). After this one-time run, it’s never needed again — the container remembers everything through the persisted config volumes. One Command to Rule Them All : The whole system — Flask backend, Docker container, and now the first-run setup — is launched with a single script: Windows: start.bat Linux: start.sh No more manually running docker compose , checking dependencies, or following multi-step instructions. Just run the script for your OS and the entire stack comes up ready to use. Why It Matters This closes the loop on the Docker migration from a few devlogs ago. Before, Docker removed the Python/venv/dependency headaches but still required knowing the right compose commands. Now the onboarding experience is genuinely “clone → run one script → done,” with the HTML first-run page handling the last bit of manual setup that used to require touching config files by hand."}, {"post_id": 27850, "ts": "2026-07-13T18:59:41Z", "hours": 1.8536, "text": "🚀 One of the Biggest Updates: Docker-Based Setup & Minimal Installation The Edge-AI Home Monitoring System has just received its most significant infrastructure overhaul yet! We have completely re-engineered the deployment workflow. Instead of dealing with manual environment configurations, matching Python versions, and tracking down dependency conflicts, the entire ecosystem can now be spun up instantly with a single command. 🐳 What’s New: Containerized Architecture By migrating the platform to a fully containerized backend , we’ve moved away from fragile local setups closer to a production-grade deployment. Key Improvements: Isolated Environment: The Flask backend and all its core libraries run inside an isolated Docker container, completely immune to host-system configuration drifts. Automated Dependency Management: All heavy-lifting dependencies are resolved and cached automatically inside the image. State & Configuration Persistence: Your custom devices_config.json , automation rules, and local database models are securely mapped via Docker volumes, meaning they persist perfectly across container restarts and updates. High Portability: Moving the hub from a development PC to a dedicated home server (like a Fedora Linux box or a Raspberry Pi) is now completely seamless. ⚡ Setup: Before vs. After The difference in onboarding friction is night and day. Look at how the installation footprint has shrunk: Old Manual Setup New Docker Workflow ❌ Install Python manually & match versions 📦 Pre-configured runtime environment ❌ Create virtual environments ( venv ) 📦 Isolated container filesystems ❌ Debug pip dependency conflicts 📦 One-time automated image build ❌ Manually set environment variables 📦 Declarative configuration via Compose ❌ Run background scripts step-by-step 📦 Single-command multi-service launch The New Minimal Installation Path: Now, launching your privacy-first smart home hub requires nothing more than standard container tools: # Clone the repository git clone https://github.com/travletothefurureprogramming/Edge-AI-Home-Monitoring-System # Navigate to the project root cd Edge-AI-Home-Monitoring-System # Spin up the entire system in detached mode docker compose up -d"}, {"post_id": 27230, "ts": "2026-07-12T16:46:07Z", "hours": 0.7819, "text": "UI Modernization & Native Sonos Integration 🎵🎨 A massive structural and visual update has landed! The Edge-AI Home Monitoring System dashboard has been rewritten into a production-grade, single-page interface using the modern Inter typeface family. Alongside this visual overhaul, we are introducing native, local-only support for Sonos Smart Audio Devices . What’s New 1. High-End Minimalist UI & CSS Token Architecture The new interface shifts away from crowded layouts to a highly scannable, component-driven architecture featuring a strict color and spacing utility system built directly into :root . Unified Palette System: Built entirely on minimal token foundations: light-mode canvas backgrounds ( #fafafa ), precise surface modules ( #ffffff ), and structural crisp border outlines ( #e7e7e7 / #d9d9d9 ). Blur-Effects Navigation Header ( .topbar ): A sticky system header utilizing backdrop-filter: blur(8px) that embeds the new brand mark ( A Home ) alongside a live status strip displaying the total device count, registered automations, and an immediate visual green heartbeat indicator ( .live-dot ). Decoupled Grid Control ( .grid ): Devices are rendered dynamically using a responsive auto-fill layout ( minmax(240px, 1fr) ) with explicit styling classes for device actions ( .btn.on for soft green feedback, .btn.off for soft red, and .btn.accent for special triggers). Asynchronous AI Assistant Component ( .ai-panel ): A dedicated section housing the local LLM interaction logic, optimized with a smooth CSS-animated text typing loop ( @keyframes dotfade ) to indicate processing states without blocking UI interactions. 2. Native Sonos Smart Audio Core Integration Audio control joins our local device tree. The system now natively communicates with Sonos devices over the local network via unified backend hooks, matching our privacy-first design patterns. The control grid maps the specific target API endpoints directly to native UI inputs, enabling immediate transmission of core execution parameters: play — Resumes audio streaming ( .btn.on ) pause — Pauses current media layout tracking stop — Breaks audio buffering completely ( .btn.off ) volume_up & volume_down — Alters hardware volume steps Real-Time “Now Playing” UI Subview Sonos control cards now dynamically build and inject an interactive media HUD element ( .now-playing ). Dynamic Media Binding: Communicates with the new /api/music/current endpoint via explicit POST JSON payloads ( { room, type, number, command: 'get', device } ). Visual Playback Flags: Implements dynamic active toggles ( .now-playing.playing ) that shift asset opacity states depending on network audio feedback. Non-Blocking Control Pulls: The inline manual update button ( .np-refresh ) relies on an isolated asynchronous CSS loop wrapper ( @keyframes spin ) allowing updates without triggering full dashboard asset re-renders."}, {"post_id": 27152, "ts": "2026-07-12T13:36:12Z", "hours": 0.6378, "text": "Samsung Smart TV Support Added 📺 The Edge-AI Home Monitoring System now includes full support for Samsung Smart TVs running Tizen OS, expanding the platform’s smart device ecosystem with another major TV manufacturer. This integration uses the Samsung TV WebSocket API, allowing the system to communicate directly with compatible TVs over the local network without requiring additional hardware such as IR blasters. What’s New Added a new Samsung TV backend integration using the samsungtvws Python library. Implemented support for: Power control (ON/OFF) Remote key commands Volume control Device information retrieval Samsung TVs are now registered as a native device type inside the system, following the same architecture used by other integrations such as LG WebOS, Daikin, Tapo, Hue, Yeelight, Shelly, and Broadlink. Why It Matters Until now, TV support was mainly focused on LG Smart TVs and IR-controlled televisions through Broadlink. With Samsung Smart TV support, the system can now directly control another major smart TV ecosystem using its official network interface. This improves: Response time compared to IR control Local-only communication (no cloud dependency) Compatibility with more homes Technical Details The integration communicates with Samsung TVs through: Samsung Tizen WebSocket API Local network TCP communication Device authentication pairing The system keeps the same device abstraction model used by the rest of the project, making Samsung TVs behave like any other controllable smart device. Challenges Some challenges during implementation: Handling Samsung’s first-time pairing approval system Managing WebSocket connections reliably Ensuring compatibility between different Tizen TV models Mapping Samsung remote key codes into the existing device command structure Next Steps Future improvements: Add automatic Samsung TV discovery Add real-time TV status feedback (power state, current app, volume) Add voice assistant commands for Samsung TVs - Add more controls Samsung Smart TVs are now another fully supported platform in the Edge-AI Home Monitoring System, bringing the project closer to becoming a complete privacy-first smart home hub."}, {"post_id": 26718, "ts": "2026-07-11T17:52:05Z", "hours": 0.8892, "text": "Full Broadlink Universal Remote Support The Edge-AI Home Monitoring System now includes complete support for Broadlink Universal Remotes , allowing the platform not only to learn IR commands but also to transmit them directly to infrared-controlled devices. What’s New Added a dedicated Broadlink backend integration for sending stored IR commands. Implemented a new /api/broadlink endpoint for controlling Broadlink devices from the dashboard and automation engine. Added a Broadlink device class responsible for: Connecting and authenticating with Broadlink RM-series devices. Reading learned IR codes from broadlink_codes.json . Sending IR packets using device.send_data() . Full support for controlling: TVs Air Conditioners TV Decoders / Set-Top Boxes Broadlink devices are now treated like any other supported smart device and can be used throughout the entire system. Why It Matters This is a major milestone because the system is no longer limited to devices with official APIs. Thousands of legacy appliances—including older televisions, air conditioners, and cable/satellite decoders—can now be integrated into the smart home ecosystem using only their existing infrared remote controls. Users can control these devices from: The Web Dashboard Automation Rules Future Voice Assistant integrations Any API client connected to the system This significantly expands compatibility while maintaining the project’s privacy-first, local-control philosophy. Challenges IR packets must be converted back into raw byte format before transmission. Maintaining synchronization between learned codes and registered Broadlink devices remains important as the number of supported devices grows. Multiple Broadlink hubs on the same network still require a device selection mechanism, which will be addressed in a future update. Next Steps Add automatic Broadlink hub discovery and selection. Integrate Broadlink commands into the Rule Engine as event triggers. Add support for macro commands (multiple IR signals with delays). Improve the dashboard with command management and testing tools."}, {"post_id": 26187, "ts": "2026-07-10T20:47:59Z", "hours": 1.8417, "text": "Broadlink IR Learning App + Voice Guidance in Setup The Edge-AI Home Monitoring System now has its own tool for learning IR signals, as well as voice guidance throughout the setup process. What’s Added Broadlink IR Learning App New desktop application (customtkinter) that connects to a Broadlink device (RM-series) via broadlink.discover() and authenticates automatically. Device type selection (TV / AC / Decoder) with dynamic list of commands depending on the type (on/off, channel up/down, volume, direction, menu, etc.). “Learn & Save” function: Broadlink enters learning mode, waits for the signal from the real remote control and saves the hex packet. The signals are stored in two places: broadlink_codes.json — file-library of all codes per room/device/command. devices_config.json — so that the device is automatically registered as an entry in the system’s main config, with flag is_broadlink_device: true . Voice Guidance in Setup Wizard Added text-to-speech (via pyttsx4 , in a separate thread so as not to block the UI) to each step of the setup wizard: installing dependencies, downloading AI model, creating password, setting Tailscale, Telegram token/chat ID, and registering devices. Each device type during registration (Tapo, Philips Hue, Shelly, Broadlink, etc.) now “explains” vocally which fields need to be filled in, making the process more accessible for someone who is setting up the system for the first time without reading documentation. Also added broadlink as a new device type in the setup wizard dropdown, which opens the Learning App directly when selected. Why It Matters Until now, the system only supported devices with official APIs (Tapo, Hue, Yeelight, LG WebOS, Daikin). Many “dumb” devices at home (old ACs, decoders, TVs without smart features) are controlled only via IR remote — the Broadlink learning app paves the way to integrate virtually any device with an IR remote into the ecosystem, without the need for a special library per brand. Voice guidance also makes setup more accessible — less need to read README step by step, the system tells you what to do live. Challenges async_connect of the Kasa class has incorrect syntax ( await self.device = ... instead of self.device = await ... ) — same problem as previous devlog, still pending. In the Learning App, the device data is temporarily stored in two separate files ( broadlink_codes.json and devices_config.json ) — care must be taken to ensure that they do not become out of sync if a write fails in the middle. The Broadlink device is always identified as devices[0] by broadlink.discover() — if there are multiple Broadlink devices on the network, the app will always connect to the first one found, without selection. TTS requires CoInitialize / CoUninitialize on each thread (Windows-specific), which makes the code less portable to other OSes. Next Steps Full support for sending signals via Broadlink devices (not just learning) — i.e. new /api/broadlink endpoint and Broadlink class in the backend that will read the stored hex codes from broadlink_codes.json and send them via device.send_data() . Integrate Broadlink devices as actions in the Rule Engine, so they can be used in automations like any other device. Wiring emit_device_event to Broadlink sends, so they can also be trigger sources. Fix bug in Kasa.async_connect before any other work on Kasa progresses."}, {"post_id": 25929, "ts": "2026-07-10T12:59:31Z", "hours": 0.6778, "text": "Kasa (TP-Link) Support Added The Edge-AI Home Monitoring System now supports TP-Link Kasa smart plugs/switches, using the python-kasa library’s async Discover API for device communication. What’s New New Kasa class that discovers a device by IP via Discover.discover_single() (with optional username/password for cloud-authenticated devices) and wraps turn_on / turn_off / execute_command behind the same asyncio.run() pattern already used for Daikin and the Tapo devices. New /api/kasa endpoint, gated behind @auth.login_required like the rest of the device APIs. Registered kasa in DEVICE_ENDPOINTS and wired it into create_device_action , so Kasa devices can already be used as automation actions from day one. Added send_kasa and send_daikin helper functions alongside the other device senders, for consistency across the codebase. Why This Matters Kasa is one of the most common smart plug ecosystems out there, so this adds another affordable device family to the system without needing a proprietary hub — anything plugged into a Kasa switch can now be turned on/off from the dashboard or from an automation rule, the same way Tapo and Shelly devices already are. Challenges Ran into a syntax issue in async_connect : await self.device = Discover.discover_single(...) isn’t valid — assignment has to come first, i.e. self.device = await Discover.discover_single(...) . Needs fixing before this can actually run. handle_kasa currently points at a config path ( /config/device_config.json ) that doesn’t match the filename ( devices_config.json ) or the relative-path convention used by every other handler — needs to be corrected to \"config/devices_config.json\" . Same route also references data[\"Room\"][room][dev_type][number][ip] with ip unquoted (a variable reference instead of the string key \"ip\" ), which will throw a NameError rather than the intended KeyError . emit_device_event still isn’t wired into the Kasa (or Shelly) handler, so — same as the other non-TV devices — Kasa state changes can’t yet act as automation triggers. Next Steps Fix the await /assignment order bug in Kasa.async_connect , the config path, and the unquoted \"ip\" key in /api/kasa before testing against a real device. Wire emit_device_event into Kasa, Shelly, and the remaining handlers so any device can act as both an action and a trigger. Once event emission is consistent across all device types, move on to energy monitoring for the Tapo smart plugs."}, {"post_id": 25885, "ts": "2026-07-10T11:31:06Z", "hours": 0.695, "text": "Shelly Support Added The Edge-AI Home Monitoring System now supports Shelly smart relays, using the ShellyPy library to control relay-based devices (plugs, switches, etc.) over the local network. What’s New New Shelly class wrapping ShellyPy.Shelly , with turn_on_relay / turn_off_relay methods and an execute_command dispatcher for on / off commands. New /api/shelly endpoint that reads the device’s IP and relay_number from devices_config.json and forwards the command to the relay. Registered shelly in DEVICE_ENDPOINTS and wired it into create_device_action , so Shelly devices can already be used as automation actions (schedule or event triggered), same as every other device type. Why This Matters Shelly relays are a common, cheap way to add “dumb” appliances into the automation system — a fan, a boiler, anything behind a relay can now be toggled from the dashboard or from a rule, without needing a dedicated smart-device ecosystem. Challenges Noticed /api/shelly is currently missing the @auth.login_required decorator that every other device endpoint has — since authentication was added, this is the one route that slipped through. Needs to be fixed before this ships anywhere network-exposed. Shelly relays are addressed by relay_number rather than an id /model like the other integrations, so the config schema needed a small variation ( relay_number field) instead of reusing the existing device pattern exactly. emit_device_event isn’t wired into the Shelly handler yet, so — like the other non-TV devices — a Shelly state change can’t currently act as a trigger for other automations. Next Steps Add the missing @auth.login_required to /api/shelly . Wire emit_device_event into the Shelly (and remaining) handlers so any device can be both an action and a trigger source. Once event emission is consistent across all device types, move on to energy monitoring for the Tapo smart plugs."}, {"post_id": 25861, "ts": "2026-07-10T10:45:47Z", "hours": 0.7478, "text": "Device-Triggered Chaining: Automations Now React to Device State Changes The Rule Engine already supported schedule triggers and one hardcoded event source (the YOLO “person_detected” signal). This update adds a much more general capability: automations can now trigger off of any device state change , not just security events. What’s New Added emit_device_event(room, dev_type, command), a helper that builds an event name in the form {room} {dev_type} {command} (e.g. living_room_lg_tv_on) and forwards it to AutomationManager.trigger_event. Wired this into the /api/tv endpoint: every time a TV command succeeds, the system now emits an event describing exactly what just happened. This means a rule can be created like “when the Living Room TV turns on → turn on the Living Room lights” without any new trigger type — it reuses the same event-rule machinery already built for the security pipeline. Event names are deterministic and human-readable, so building new automations from the dashboard just means picking the right device + command combo as the trigger. Why This Matters Until now, “smart” behavior meant either a fixed schedule or a single special-cased sensor event. This generalizes the pattern: any device action can become a trigger for any other device action, which is the actual foundation of “automation chaining” (TV on → lights on, plug on → AC on, etc.) rather than a one-off integration. Challenges emit_device_event is currently only called from the TV handler. The Tapo, Philips Hue, Yeelight, and Daikin handlers don’t emit events yet, so right now only TV state changes can kick off a chain — everything else is still a dead end as a trigger source. This is the next thing to close. Needed to be careful that emitting the event happens after the command actually succeeds, not just after it’s requested, so a failed TV command doesn’t fire a chain based on a state change that never happened. Next Steps Add emit_device_event calls to the remaining device handlers (Tapo light/LED strip, Hue, Yeelight, Daikin) so any device can act as a trigger, not just TVs. Once persistence for automation actions is fully solid across restarts, move on to energy monitoring for the Tapo smart plugs."}, {"post_id": 23760, "ts": "2026-07-06T21:49:22Z", "hours": 0.7892, "text": "Automations are Live: Schedules & Event Triggers The Rule Engine I mentioned as “next steps” in the last few devlogs is now fully working. The Edge-AI Home Monitoring System can now react on its own, without me touching the dashboard. What’s New New AutomationManager class that manages rules independently of the Flask request lifecycle, running on its own background thread Schedule triggers : fire any device action at a specific time of day (cron-based under the hood, e.g. “turn off all lights at 23:30”) Event triggers : fire actions the moment something happens in the system — currently wired up to the YOLO security pipeline, so a rule can say “when a person is detected, turn on the living room lights” Automations are managed straight from the dashboard: add a rule (pick a device, a command, and either a time or an event), see the active list, delete on demand — no need to touch the config files by hand Rules persist to disk, so they survive a server restart Challenges The trickiest part wasn’t the scheduling logic itself — it was making sure automation actions don’t accidentally go through the same path as normal API requests. Since every device endpoint is gated behind session-based login, having the automation thread call itself over HTTP triggered 401s (a background thread has no browser session, obviously). Fixed by having automation actions call the device classes directly instead of looping back through HTTP — cleaner and faster anyway, since it skips a full request round-trip for something that’s technically internal. Next Steps Energy monitoring for the Tapo smart plugs, so automations can eventually be built around actual consumption data too."}, {"post_id": 23432, "ts": "2026-07-06T12:12:20Z", "hours": 0.7306, "text": "Create Autoation Manager class"}, {"post_id": 23410, "ts": "2026-07-06T10:52:32Z", "hours": 0.8403, "text": "Added Daikin AC Support The Edge-AI Home Monitoring System now extends into climate control. I’ve added full support for Daikin air conditioners, using the pydaikin library for asynchronous communication with the device over the network. What’s New New DaikinAC class with full control: on/off, increase/decrease temperature, and mode switching (auto, cool, heat, dry, fan) New /api/daikin endpoint for device communication Integrated into the same authentication pattern used across the whole system ( @auth.login_required ), so no new device ecosystem opens a security gap Dashboard controls for Daikin devices, including a mode selection dropdown Challenges Since pydaikin is fully asynchronous (async context managers), each client call had to be wrapped with asyncio.run() to fit into the rest of the synchronous Flask backend — the same approach used for the Tapo devices. Next Steps Rule Engine / Automations system, followed by energy monitoring for the Tapo smart plugs."}, {"post_id": 23380, "ts": "2026-07-06T09:40:25Z", "hours": 0.3508, "text": "Improving the Project Structure One of the biggest challenges in the project was the lack of organization. As the codebase grew, it became harder to navigate and maintain. Today I reorganized the project into a much cleaner structure, making the code easier to understand, extend, and maintain. While there’s still room for improvement, this is a solid step toward a more scalable architecture. What’s Next? Add automation features. Implement energy consumption monitoring for Tapo devices."}, {"post_id": 23116, "ts": "2026-07-05T21:29:56Z", "hours": 0.9906, "text": "Added Authentication System Up until now, the dashboard and all API endpoints were completely open to anyone on the network — a serious problem for a system that controls cameras, smart devices, and even has Remote PC Control capabilities. I implemented a single-admin authentication layer using Flask sessions and password hashing (werkzeug), gating access behind a login page. Key changes: Added a /login route with session-based authentication Passwords are hashed (never stored in plain text) using pbkdf2:sha256 Wrapped every sensitive route with a @login_required decorator — dashboard, device control APIs, camera toggle, and system/remote-PC endpoints API routes return a clean 401 Unauthorized instead of redirecting, so the frontend can handle it gracefully Sessions auto-expire, requiring re-login after a set period This closes the biggest security gap in the project — previously, anyone with access to the local network or Tailscale IP could control devices or the PC without any barrier. Now, all of that is locked behind credentials only I know. Next steps: Rule engine for automations (trigger-based actions), followed by energy monitoring for Tapo smart plugs."}, {"post_id": 15904, "ts": "2026-06-25T21:00:48Z", "hours": 1.1647, "text": "One of the biggest improvements in this update is the error handling system. Originally, the project had very minimal error management, which could lead to unstable behavior and unclear debugging. I refactored multiple modules to introduce structured exception handling, improved logging, and more consistent API responses. This makes the system significantly more stable and easier to debug in real-world usage."}, {"post_id": 15616, "ts": "2026-06-25T12:18:35Z", "hours": 0.5661, "text": "Integration of Remote PC Control & Monitoring into Edge-AI Home Monitoring System. This way the user can control the system remotely. There is a problem with the management of Processes due to an error in the backend."}, {"post_id": 7988, "ts": "2026-06-13T10:14:41Z", "hours": 0.3117, "text": "I added support for Yeelight. It may have only taken me 15 minutes but that was because the Yeelight library I used was very simple. Also because the system is easily extensible I managed to do it in a very short time."}, {"post_id": 7979, "ts": "2026-06-13T09:46:03Z", "hours": 0.7483, "text": "Add fully suppourt for phue devices"}, {"post_id": 7959, "ts": "2026-06-13T08:58:51Z", "hours": 0.2869, "text": "Make the main class and logic for the Philips Hue lights"}, {"post_id": 4423, "ts": "2026-06-07T19:02:12Z", "hours": 0.5789, "text": "Add suppourt for Tapo Smart Plugs"}, {"post_id": 2743, "ts": "2026-06-05T14:46:14Z", "hours": 0.3408, "text": "Add model selection for tapo led strip and tapo light bulbs and make a more clear README.md"}, {"post_id": 2730, "ts": "2026-06-05T14:17:19Z", "hours": 0.6944, "text": "Setup the server! The project will be fully ready soon!!!"}, {"post_id": 2703, "ts": "2026-06-05T12:30:07Z", "hours": 0.5861, "text": "A better setup and run for servers and a more clear README.md"}, {"post_id": 2689, "ts": "2026-06-05T11:33:31Z", "hours": 1.47, "text": "Make a functional server App"}, {"post_id": 2100, "ts": "2026-06-04T13:04:12Z", "hours": 0.7119, "text": "LG TVs in Edge AI Home Monitoring System from now!!!!!!"}, {"post_id": 2071, "ts": "2026-06-04T11:56:50Z", "hours": 0.5139, "text": "Working on LG TV suppourt"}, {"post_id": 2060, "ts": "2026-06-04T11:23:24Z", "hours": 1.1203, "text": "From now Edge-AI Home Monitoring System suppourt tapo smart bulbs!!!!"}, {"post_id": 1538, "ts": "2026-06-03T16:50:58Z", "hours": 0.5186, "text": "Make a telegram bot for easily security and device control"}, {"post_id": 1509, "ts": "2026-06-03T16:05:24Z", "hours": 0.9681, "text": "Making a sequrity system using YOLO and Telegram"}, {"post_id": 1467, "ts": "2026-06-03T14:56:45Z", "hours": 0.5039, "text": "Make a better README.md file and finalize the setup proccess"}, {"post_id": 1426, "ts": "2026-06-03T13:37:14Z", "hours": 0.7961, "text": "Make better readme"}, {"post_id": 1394, "ts": "2026-06-03T12:31:57Z", "hours": 1.1769, "text": "Make a setup script"}, {"post_id": 1370, "ts": "2026-06-03T11:15:13Z", "hours": 1.5264, "text": "Make an app for easy use of AI and also ad functional control for the L900 tapo ledstrip"}, {"post_id": 1343, "ts": "2026-06-03T09:16:06Z", "hours": 1.48, "text": "A new modern dashboard and more devices"}, {"post_id": 757, "ts": "2026-06-02T12:08:30Z", "hours": 1.3436, "text": "Performance Optimization & Frontend Integration After intensive testing, the communication system with Android TV devices has been fully upgraded. The latency observed in command execution has been eliminated, and the project now features its own Web Dashboard. Key Achievements: ADB Server Persistence: Resolved the critical issue regarding the continuous restart of the ADB server. By adopting the Registry Pattern, connections are now maintained (persistent), drastically reducing response time from 5+ seconds to near-zero (real-time). Scalability: The backend has been developed to support the simultaneous control of multiple Android TVs. The system now dynamically manages connections via a central dictionary, allowing for the addition of unlimited devices through devices.json. Frontend Dashboard: Developed a minimal and responsive interface (HTML/JS) that provides full device control. Communication with the server is now handled via the Fetch API with proper CORS and JSON payload handling. Robust Error Handling: Upgraded the error reporting mechanism. The server now actively monitors module status and allows for automatic reset in case of connection restoration. Next Steps: Integration of real-time status feedback to monitor whether a TV is ON/OFF directly on the dashboard. Further optimization of utils.py for more secure inter-module communication."}, {"post_id": 723, "ts": "2026-06-02T09:50:03Z", "hours": 1.6753, "text": "Establishing the Backend Infrastructure for Edge AI Home Monitoring System Today, I successfully built the core communication layer for my Edge AI Home Monitoring System. I focused on creating a robust backend using Flask, enabling the system to act as a central hub for my home devices. Key Achievements: API Orchestration: Developed Flask endpoints (/api/light and /api/tv) to handle state management and device control requests efficiently. Hardware Integration: Implemented an abstraction layer for AndroidTV control, allowing the server to issue commands like power toggles, volume adjustment, and channel navigation over the network. Dynamic Configuration: Built a utility module to handle JSON-based device mapping, ensuring the system can scale easily by reading device IPs and types from a central devices.json configuration file. Logging System: Integrated a custom logger to monitor command execution in real-time, which is essential for debugging my edge-computing setup. Next Steps: Now that the server is successfully running and handling commands, the next phase is to add more devices and create the frontend dashboard."}]...
|
Title: Edge-AI Home Monitoring System by @Greg_ios Title: Edge-AI Home Monitoring System by @Greg_ios | Stardance
Devlogs:
Establishing the Backend Infrastructure for Edge AI Home Monitoring System Today, I successfully built the core communication layer for my Edge AI Home Monitoring System. I focused on creating a robust backend using Flask, enabling the system to act as a central hub for my home devices. Key Achievements: API Orchestration: Developed Flask endpoints (/api/light and /api/tv) to handle state management and device control requests efficiently. Hardware Integration: Implemented an abstraction layer for AndroidTV control, allowing the server to issue commands like power toggles, volume adjustment, and channel navigation over the network. Dynamic Configuration: Built a utility module to handle JSON-based device mapping, ensuring the system can scale easily by reading device IPs and types from a central devices.json configuration file. Logging System: Integrated a custom logger to monitor command execution in real-time, which is essential for debugging my edge-computing setup. Next Steps: Now that the server is successfully running and handling commands, the next phase is to add more devices and create the frontend dashboard.
Performance Optimization & Frontend Integration After intensive testing, the communication system with Android TV devices has been fully upgraded. The latency observed in command execution has been eliminated, and the project now features its own Web Dashboard. Key Achievements: ADB Server Persistence: Resolved the critical issue regarding the continuous restart of the ADB server. By adopting the Registry Pattern, connections are now maintained (persistent), drastically reducing response time from 5+ seconds to near-zero (real-time). Scalability: The backend has been developed to support the simultaneous control of multiple Android TVs. The system now dynamically manages connections via a central dictionary, allowing for the addition of unlimited devices through devices.json. Frontend Dashboard: Developed a minimal and responsive interface (HTML/JS) that provides full device control. Communication with the server is now handled via the Fetch API with proper CORS and JSON payload handling. Robust Error Handling: Upgraded the error reporting mechanism. The server now actively monitors module status and allows for automatic reset in case of connection restoration. Next Steps: Integration of real-time status feedback to monitor whether a TV is ON/OFF directly on the dashboard. Further optimization of utils.py for more secure inter-module communication.
A new modern dashboard and more devices
Make an app for easy use of AI and also ad functional control for the L900 tapo ledstrip
Make a setup script
Make better readme
Make a better README.md file and finalize the setup proccess
Making a sequrity system using YOLO and Telegram
Make a telegram bot for easily security and device control
From now Edge-AI Home Monitoring System suppourt tapo smart bulbs!!!!
Working on LG TV suppourt
LG TVs in Edge AI Home Monitoring System from now!!!!!!
Make a functional server App
A better setup and run for servers and a more clear README.md
Setup the server! The project will be fully ready soon!!!
Add model selection for tapo led strip and tapo light bulbs and make a more clear README.md
Add suppourt for Tapo Smart Plugs
Make the main class and logic for the Philips Hue lights
Add fully suppourt for phue devices
I added support for Yeelight. It may have only taken me 15 minutes but that was because the Yeelight library I used was very simple. Also because the system is easily extensible I managed to do it in a very short time.
Integration of Remote PC Control & Monitoring into Edge-AI Home Monitoring System. This way the user can control the system remotely. There is a problem with the management of Processes due to an error in the backend.
One of the biggest improvements in this update is the error handling system. Originally, the project had very minimal error management, which could lead to unstable behavior and unclear debugging. I refactored multiple modules to introduce structured exception handling, improved logging, and more consistent API responses. This makes the system significantly more stable and easier to debug in real-world usage.
Added Authentication System Up until now, the dashboard and all API endpoints were completely open to anyone on the network — a serious problem for a system that controls cameras, smart devices, and even has Remote PC Control capabilities. I implemented a single-admin authentication layer using Flask sessions and password hashing (werkzeug), gating access behind a login page. Key changes: Added a /login route with session-based authentication Passwords are hashed (never stored in plain text) using pbkdf2:sha256 Wrapped every sensitive route with a @login_required decorator — dashboard, device control APIs, camera toggle, and system/remote-PC endpoints API routes return a clean 401 Unauthorized instead of redirecting, so the frontend can handle it gracefully Sessions auto-expire, requiring re-login after a set period This closes the biggest security gap in the project — previously, anyone with access to the local network or Tailscale IP could control devices or the PC without any barrier. Now, all of that is locked behind credentials only I know. Next steps: Rule engine for automations (trigger-based actions), followed by energy monitoring for Tapo smart plugs.
Improving the Project Structure One of the biggest challenges in the project was the lack of organization. As the codebase grew, it became harder to navigate and maintain. Today I reorganized the project into a much cleaner structure, making the code easier to understand, extend, and maintain. While there’s still room for improvement, this is a solid step toward a more scalable architecture. What’s Next? Add automation features. Implement energy consumption monitoring for Tapo devices.
Added Daikin AC Support The Edge-AI Home Monitoring System now extends into climate control. I’ve added full support for Daikin air conditioners, using the pydaikin library for asynchronous communication with the device over the network. What’s New New DaikinAC class with full control: on/off, increase/decrease temperature, and mode switching (auto, cool, heat, dry, fan) New /api/daikin endpoint for device communication Integrated into the same authentication pattern used across the whole system ( @auth.login_required ), so no new device ecosystem opens a security gap Dashboard controls for Daikin devices, including a mode selection dropdown Challenges Since pydaikin is fully asynchronous (async context managers), each client call had to be wrapped with asyncio.run() to fit into the rest of the synchronous Flask backend — the same approach used for the Tapo devices. Next Steps Rule Engine / Automations system, followed by energy monitoring for the Tapo smart plugs.
Create Autoation Manager class
Automations are Live: Schedules & Event Triggers The Rule Engine I mentioned as “next steps” in the last few devlogs is now fully working. The Edge-AI Home Monitoring System can now react on its own, without me touching the dashboard. What’s New New AutomationManager class that manages rules independently of the Flask request lifecycle, running on its own background thread Schedule triggers : fire any device action at a specific time of day (cron-based under the hood, e.g. “turn off all lights at 23:30”) Event triggers : fire actions the moment something happens in the system — currently wired up to the YOLO security pipeline, so a rule can say “when a person is detected, turn on the living room lights” Automations are managed straight from the dashboard: add a rule (pick a device, a command, and either a time or an event), see the active list, delete on demand — no need to touch the config files by hand Rules persist to disk, so they survive a server restart Challenges The trickiest part wasn’t the scheduling logic itself — it was making sure automation actions don’t accidentally go through the same path as normal API requests. Since every device endpoint is gated behind session-based login, having the automation thread call itself over HTTP triggered 401s (a background thread has no browser session, obviously). Fixed by having automation actions call the device classes directly instead of looping back through HTTP — cleaner and faster anyway, since it skips a full request round-trip for something that’s technically internal. Next Steps Energy monitoring for the Tapo smart plugs, so automations can eventually be built around actual consumption data too.
Device-Triggered Chaining: Automations Now React to Device State Changes The Rule Engine already supported schedule triggers and one hardcoded event source (the YOLO “person_detected” signal). This update adds a much more general capability: automations can now trigger off of any device state change , not just security events. What’s New Added emit_device_event(room, dev_type, command), a helper that builds an event name in the form {room} {dev_type} {command} (e.g. living_room_lg_tv_on) and forwards it to AutomationManager.trigger_event. Wired this into the /api/tv endpoint: every time a TV command succeeds, the system now emits an event describing exactly what just happened. This means a rule can be created like “when the Living Room TV turns on → turn on the Living Room lights” without any new trigger type — it reuses the same event-rule machinery already built for the security pipeline. Event names are deterministic and human-readable, so building new automations from the dashboard just means picking the right device + command combo as the trigger. Why This Matters Until now, “smart” behavior meant either a fixed schedule or a single special-cased sensor event. This generalizes the pattern: any device action can become a trigger for any other device action, which is the actual foundation of “automation chaining” (TV on → lights on, plug on → AC on, etc.) rather than a one-off integration. Challenges emit_device_event is currently only called from the TV handler. The Tapo, Philips Hue, Yeelight, and Daikin handlers don’t emit events yet, so right now only TV state changes can kick off a chain — everything else is still a dead end as a trigger source. This is the next thing to close. Needed to be careful that emitting the event happens after the command actually succeeds, not just after it’s requested, so a failed TV command doesn’t fire a chain based on a state change that never happened. Next Steps Add emit_device_event calls to the remaining device handlers (Tapo light/LED strip, Hue, Yeelight, Daikin) so any device can act as a trigger, not just TVs. Once persistence for automation actions is fully solid across restarts, move on to energy monitoring for the Tapo smart plugs.
Shelly Support Added The Edge-AI Home Monitoring System now supports Shelly smart relays, using the ShellyPy library to control relay-based devices (plugs, switches, etc.) over the local network. What’s New New Shelly class wrapping ShellyPy.Shelly , with turn_on_relay / turn_off_relay methods and an execute_command dispatcher for on / off commands. New /api/shelly endpoint that reads the device’s IP and relay_number from devices_config.json and forwards the command to the relay. Registered shelly in DEVICE_ENDPOINTS and wired it into create_device_action , so Shelly devices can already be used as automation actions (schedule or event triggered), same as every other device type. Why This Matters Shelly relays are a common, cheap way to add “dumb” appliances into the automation system — a fan, a boiler, anything behind a relay can now be toggled from the dashboard or from a rule, without needing a dedicated smart-device ecosystem. Challenges Noticed /api/shelly is currently missing the @auth.login_required decorator that every other device endpoint has — since authentication was added, this is the one route that slipped through. Needs to be fixed before this ships anywhere network-exposed. Shelly relays are addressed by relay_number rather than an id /model like the other integrations, so the config schema needed a small variation ( relay_number field) instead of reusing the existing device pattern exactly. emit_device_event isn’t wired into the Shelly handler yet, so — like the other non-TV devices — a Shelly state change can’t currently act as a trigger for other automations. Next Steps Add the missing @auth.login_required to /api/shelly . Wire emit_device_event into the Shelly (and remaining) handlers so any device can be both an action and a trigger source. Once event emission is consistent across all device types, move on to energy monitoring for the Tapo smart plugs.
Kasa (TP-Link) Support Added The Edge-AI Home Monitoring System now supports TP-Link Kasa smart plugs/switches, using the python-kasa library’s async Discover API for device communication. What’s New New Kasa class that discovers a device by IP via Discover.discover_single() (with optional username/password for cloud-authenticated devices) and wraps turn_on / turn_off / execute_command behind the same asyncio.run() pattern already used for Daikin and the Tapo devices. New /api/kasa endpoint, gated behind @auth.login_required like the rest of the device APIs. Registered kasa in DEVICE_ENDPOINTS and wired it into create_device_action , so Kasa devices can already be used as automation actions from day one. Added send_kasa and send_daikin helper functions alongside the other device senders, for consistency across the codebase. Why This Matters Kasa is one of the most common smart plug ecosystems out there, so this adds another affordable device family to the system without needing a proprietary hub — anything plugged into a Kasa switch can now be turned on/off from the dashboard or from an automation rule, the same way Tapo and Shelly devices already are. Challenges Ran into a syntax issue in async_connect : await self.device = Discover.discover_single(...) isn’t valid — assignment has to come first, i.e. self.device = await Discover.discover_single(...) . Needs fixing before this can actually run. handle_kasa currently points at a config path ( /config/device_config.json ) that doesn’t match the filename ( devices_config.json ) or the relative-path convention used by every other handler — needs to be corrected to "config/devices_config.json" . Same route also references data["Room"][room][dev_type][number][ip] with ip unquoted (a variable reference instead of the string key "ip" ), which will throw a NameError rather than the intended KeyError . emit_device_event still isn’t wired into the Kasa (or Shelly) handler, so — same as the other non-TV devices — Kasa state changes can’t yet act as automation triggers. Next Steps Fix the await /assignment order bug in Kasa.async_connect , the config path, and the unquoted "ip" key in /api/kasa before testing against a real device. Wire emit_device_event into Kasa, Shelly, and the remaining handlers so any device can act as both an action and a trigger. Once event emission is consistent across all device types, move on to energy monitoring for the Tapo smart plugs.
Broadlink IR Learning App + Voice Guidance in Setup The Edge-AI Home Monitoring System now has its own tool for learning IR signals, as well as voice guidance throughout the setup process. What’s Added Broadlink IR Learning App New desktop application (customtkinter) that connects to a Broadlink device (RM-series) via broadlink.discover() and authenticates automatically. Device type selection (TV / AC / Decoder) with dynamic list of commands depending on the type (on/off, channel up/down, volume, direction, menu, etc.). “Learn & Save” function: Broadlink enters learning mode, waits for the signal from the real remote control and saves the hex packet. The signals are stored in two places: broadlink_codes.json — file-library of all codes per room/device/command. devices_config.json — so that the device is automatically registered as an entry in the system’s main config, with flag is_broadlink_device: true . Voice Guidance in Setup Wizard Added text-to-speech (via pyttsx4 , in a separate thread so as not to block the UI) to each step of the setup wizard: installing dependencies, downloading AI model, creating password, setting Tailscale, Telegram token/chat ID, and registering devices. Each device type during registration (Tapo, Philips Hue, Shelly, Broadlink, etc.) now “explains” vocally which fields need to be filled in, making the process more accessible for someone who is setting up the system for the first time without reading documentation. Also added broadlink as a new device type in the setup wizard dropdown, which opens the Learning App directly when selected. Why It Matters Until now, the system only supported devices with official APIs (Tapo, Hue, Yeelight, LG WebOS, Daikin). Many “dumb” devices at home (old ACs, decoders, TVs without smart features) are controlled only via IR remote — the Broadlink learning app paves the way to integrate virtually any device with an IR remote into the ecosystem, without the need for a special library per brand. Voice guidance also makes setup more accessible — less need to read README step by step, the system tells you what to do live. Challenges async_connect of the Kasa class has incorrect syntax ( await self.device = ... instead of self.device = await ... ) — same problem as previous devlog, still pending. In the Learning App, the device data is temporarily stored in two separate files ( broadlink_codes.json and devices_config.json ) — care must be taken to ensure that they do not become out of sync if a write fails in the middle. The Broadlink device is always identified as devices[0] by broadlink.discover() — if there are multiple Broadlink devices on the network, the app will always connect to the first one found, without selection. TTS requires CoInitialize / CoUninitialize on each thread (Windows-specific), which makes the code less portable to other OSes. Next Steps Full support for sending signals via Broadlink devices (not just learning) — i.e. new /api/broadlink endpoint and Broadlink class in the backend that will read the stored hex codes from broadlink_codes.json and send them via device.send_data() . Integrate Broadlink devices as actions in the Rule Engine, so they can be used in automations like any other device. Wiring emit_device_event to Broadlink sends, so they can also be trigger sources. Fix bug in Kasa.async_connect before any other work on Kasa progresses.
Full Broadlink Universal Remote Support The Edge-AI Home Monitoring System now includes complete support for Broadlink Universal Remotes , allowing the platform not only to learn IR commands but also to transmit them directly to infrared-controlled devices. What’s New Added a dedicated Broadlink backend integration for sending stored IR commands. Implemented a new /api/broadlink endpoint for controlling Broadlink devices from the dashboard and automation engine. Added a Broadlink device class responsible for: Connecting and authenticating with Broadlink RM-series devices. Reading learned IR codes from broadlink_codes.json . Sending IR packets using device.send_data() . Full support for controlling: TVs Air Conditioners TV Decoders / Set-Top Boxes Broadlink devices are now treated like any other supported smart device and can be used throughout the entire system. Why It Matters This is a major milestone because the system is no longer limited to devices with official APIs. Thousands of legacy appliances—including older televisions, air conditioners, and cable/satellite decoders—can now be integrated into the smart home ecosystem using only their existing infrared remote controls. Users can control these devices from: The Web Dashboard Automation Rules Future Voice Assistant integrations Any API client connected to the system This significantly expands compatibility while maintaining the project’s privacy-first, local-control philosophy. Challenges IR packets must be converted back into raw byte format before transmission. Maintaining synchronization between learned codes and registered Broadlink devices remains important as the number of supported devices grows. Multiple Broadlink hubs on the same network still require a device selection mechanism, which will be addressed in a future update. Next Steps Add automatic Broadlink hub discovery and selection. Integrate Broadlink commands into the Rule Engine as event triggers. Add support for macro commands (multiple IR signals with delays). Improve the dashboard with command management and testing tools.
Samsung Smart TV Support Added 📺 The Edge-AI Home Monitoring System now includes full support for Samsung Smart TVs running Tizen OS, expanding the platform’s smart device ecosystem with another major TV manufacturer. This integration uses the Samsung TV WebSocket API, allowing the system to communicate directly with compatible TVs over the local network without requiring additional hardware such as IR blasters. What’s New Added a new Samsung TV backend integration using the samsungtvws Python library. Implemented support for: Power control (ON/OFF) Remote key commands Volume control Device information retrieval Samsung TVs are now registered as a native device type inside the system, following the same architecture used by other integrations such as LG WebOS, Daikin, Tapo, Hue, Yeelight, Shelly, and Broadlink. Why It Matters Until now, TV support was mainly focused on LG Smart TVs and IR-controlled televisions through Broadlink. With Samsung Smart TV support, the system can now directly control another major smart TV ecosystem using its official network interface. This improves: Response time compared to IR control Local-only communication (no cloud dependency) Compatibility with more homes Technical Details The integration communicates with Samsung TVs through: Samsung Tizen WebSocket API Local network TCP communication Device authentication pairing The system keeps the same device abstraction model used by the rest of the project, making Samsung TVs behave like any other controllable smart device. Challenges Some challenges during implementation: Handling Samsung’s first-time pairing approval system Managing WebSocket connections reliably Ensuring compatibility between different Tizen TV models Mapping Samsung remote key codes into the existing device command structure Next Steps Future improvements: Add automatic Samsung TV discovery Add real-time TV status feedback (power state, current app, volume) Add voice assistant commands for Samsung TVs - Add more controls Samsung Smart TVs are now another fully supported platform in the Edge-AI Home Monitoring System, bringing the project closer to becoming a complete privacy-first smart home hub.
UI Modernization & Native Sonos Integration 🎵🎨 A massive structural and visual update has landed! The Edge-AI Home Monitoring System dashboard has been rewritten into a production-grade, single-page interface using the modern Inter typeface family. Alongside this visual overhaul, we are introducing native, local-only support for Sonos Smart Audio Devices . What’s New 1. High-End Minimalist UI & CSS Token Architecture The new interface shifts away from crowded layouts to a highly scannable, component-driven architecture featuring a strict color and spacing utility system built directly into :root . Unified Palette System: Built entirely on minimal token foundations: light-mode canvas backgrounds ( #fafafa ), precise surface modules ( #ffffff ), and structural crisp border outlines ( #e7e7e7 / #d9d9d9 ). Blur-Effects Navigation Header ( .topbar ): A sticky system header utilizing backdrop-filter: blur(8px) that embeds the new brand mark ( A Home ) alongside a live status strip displaying the total device count, registered automations, and an immediate visual green heartbeat indicator ( .live-dot ). Decoupled Grid Control ( .grid ): Devices are rendered dynamically using a responsive auto-fill layout ( minmax(240px, 1fr) ) with explicit styling classes for device actions ( .btn.on for soft green feedback, .btn.off for soft red, and .btn.accent for special triggers). Asynchronous AI Assistant Component ( .ai-panel ): A dedicated section housing the local LLM interaction logic, optimized with a smooth CSS-animated text typing loop ( @keyframes dotfade ) to indicate processing states without blocking UI interactions. 2. Native Sonos Smart Audio Core Integration Audio control joins our local device tree. The system now natively communicates with Sonos devices over the local network via unified backend hooks, matching our privacy-first design patterns. The control grid maps the specific target API endpoints directly to native UI inputs, enabling immediate transmission of core execution parameters: play — Resumes audio streaming ( .btn.on ) pause — Pauses current media layout tracking stop — Breaks audio buffering completely ( .btn.off ) volume_up & volume_down — Alters hardware volume steps Real-Time “Now Playing” UI Subview Sonos control cards now dynamically build and inject an interactive media HUD element ( .now-playing ). Dynamic Media Binding: Communicates with the new /api/music/current endpoint via explicit POST JSON payloads ( { room, type, number, command: 'get', device } ). Visual Playback Flags: Implements dynamic active toggles ( .now-playing.playing ) that shift asset opacity states depending on network audio feedback. Non-Blocking Control Pulls: The inline manual update button ( .np-refresh ) relies on an isolated asynchronous CSS loop wrapper ( @keyframes spin ) allowing updates without triggering full dashboard asset re-renders.
🚀 One of the Biggest Updates: Docker-Based Setup & Minimal Installation The Edge-AI Home Monitoring System has just received its most significant infrastructure overhaul yet! We have completely re-engineered the deployment workflow. Instead of dealing with manual environment configurations, matching Python versions, and tracking down dependency conflicts, the entire ecosystem can now be spun up instantly with a single command. 🐳 What’s New: Containerized Architecture By migrating the platform to a fully containerized backend , we’ve moved away from fragile local setups closer to a production-grade deployment. Key Improvements: Isolated Environment: The Flask backend and all its core libraries run inside an isolated Docker container, completely immune to host-system configuration drifts. Automated Dependency Management: All heavy-lifting dependencies are resolved and cached automatically inside the image. State & Configuration Persistence: Your custom devices_config.json , automation rules, and local database models are securely mapped via Docker volumes, meaning they persist perfectly across container restarts and updates. High Portability: Moving the hub from a development PC to a dedicated home server (like a Fedora Linux box or a Raspberry Pi) is now completely seamless. ⚡ Setup: Before vs. After The difference in onboarding friction is night and day. Look at how the installation footprint has shrunk: Old Manual Setup New Docker Workflow ❌ Install Python manually & match versions 📦 Pre-configured runtime environment ❌ Create virtual environments ( venv ) 📦 Isolated container filesystems ❌ Debug pip dependency conflicts 📦 One-time automated image build ❌ Manually set environment variables 📦 Declarative configuration via Compose ❌ Run background scripts step-by-step 📦 Single-command multi-service launch The New Minimal Installation Path: Now, launching your privacy-first smart home hub requires nothing more than standard container tools: # Clone the repository git clone https://github.com/travletothefurureprogramming/Edge-AI-Home-Monitoring-System # Navigate to the project root cd Edge-AI-Home-Monitoring-System # Spin up the entire system in detached mode docker compose up -d
🐳 Docker Setup: 100% Functional Docker support for the Edge-AI Home Monitoring System is now fully working end-to-end. What’s New First-Run Setup via HTML : Instead of manual configuration steps, the very first launch now opens a lightweight HTML setup page that walks through the initial configuration once (credentials, device registration basics, etc.). After this one-time run, it’s never needed again — the container remembers everything through the persisted config volumes. One Command to Rule Them All : The whole system — Flask backend, Docker container, and now the first-run setup — is launched with a single script: Windows: start.bat Linux: start.sh No more manually running docker compose , checking dependencies, or following multi-step instructions. Just run the script for your OS and the entire stack comes up ready to use. Why It Matters This closes the loop on the Docker migration from a few devlogs ago. Before, Docker removed the Python/venv/dependency headaches but still required knowing the right compose commands. Now the onboarding experience is genuinely “clone → run one script → done,” with the HTML first-run page handling the last bit of manual setup that used to require touching config files by hand.
🧪 Reliability & CI Improvements This update also focuses on improving the project’s reliability and development workflow. What’s New Added 20 Pytest test cases covering the core functionality of the system, helping verify that critical components behave correctly and reducing the risk of regressions. Configured GitHub Actions to automatically execute the entire test suite after every commit and pull request, ensuring new changes don’t break existing functionality. Why It Matters Automated testing and Continuous Integration (CI) make the project more robust, maintainable, and production-ready. Every code change is now automatically validated before it becomes part of the project, providing faster feedback during development and increasing confidence in future updates.
Ships:
I have made an Edge-AI Home Monitoring System. It is a privacy-first, edge-AI home automation hub using Linux, Flask, and real-time control to orchestrate smart devices.
Over the past few weeks, Edge-AI Home Monitoring System has evolved from a basic smart home controller into a much more capable home automation platform. New Features Added YOLO-based security monitoring Integrated Telegram bot for remote alerts and device control Added support for Tapo Smart Bulbs Added support for Tapo Smart Plugs Added support for Philips Hue devices Added support for Yeelight devices Added support for LG Smart TVs Added Remote PC Control & Monitoring Infrastructure Improvements Built a full Flask server backend Added a responsive Web Dashboard Improved setup process with automated setup scripts Reworked documentation and README Reliability Improvements Refactored multiple modules with structured exception handling Added better logging and debugging tools Improved API responses and backend stability Enhanced scalability for future device integrations The project is now much closer to becoming a complete privacy-first edge AI smart home hub capable of controlling multiple device ecosystems from a single interface.
Most smart homes are leased, not owned. Every command you send travels to a cloud you don’t control, owned by a company with interests misaligned to yours. This system proves that meaningful control of your physical space doesn’t require surrendering it to a vendor. Edge-AI Home Monitoring is a locally-governed, vendor-independent home automation platform designed to answer: can a household be sovereign over its own infrastructure?...
|
1793134513.7648993
|
1793220913.7648993
|
|
4471
|
ShadowTrace by @humaimaiq917 | Stardance
|
humaimaiq917
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: ShadowTrace by @humaimaiq917 | Stardance
|
1792619318.7547503
|
1793224118.7547503
|
|
4472
|
The Key Crusher by @Arnost55 | Stardance
|
Arnost55
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: The Key Crusher by @Arnost55 | Stardance
|
1793206322.887428
|
1793811122.887428
|
|
4473
|
F.R.I.D.A.Y PAD by @Batman | Stardance
|
Batman
|
0
|
6.65
|
0
|
[]
|
[{"post_id": 44515, "ts": "202 [{"post_id": 44515, "ts": "2026-08-10T10:13:52Z", "hours": 6.6506, "text": "Finallyy!!! I finished making the PCB and the case as well, took so long to make like oohh myy godd!!!"}]...
|
Title: F.R.I.D.A.Y PAD by @Batman | Stardance
Dev Title: F.R.I.D.A.Y PAD by @Batman | Stardance
Devlogs:
Finallyy!!! I finished making the PCB and the case as well, took so long to make like oohh myy godd!!!...
|
1792597959.0844355
|
1793202759.0844355
|
|
4474
|
personal-site by @woozy | Stardance
|
woozy
|
0
|
1.29
|
0
|
[]
|
[{"post_id": 727, "ts": "2026- [{"post_id": 727, "ts": "2026-06-02T10:14:16Z", "hours": 1.2875, "text": "finished up the konamii easter egg and the microwave effects (brand new sentence?)"}]...
|
Title: personal-site by @woozy | Stardance
Devlog Title: personal-site by @woozy | Stardance
Devlogs:
finished up the konamii easter egg and the microwave effects (brand new sentence?)...
|
1792648241.7303205
|
1793253041.7303205
|
|
4475
|
Exit Not Found by @dpath02 | Stardance
|
dpath02
|
1
|
10.36
|
0
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-28T07:08:56Z", "hours": 4.0, "multiplier": null, "payout": 0, "blessing": "neutral", "text": "This is the first real game I’ve ever made (not counting scratch or the Unity flappy bird tutorial). While in it’s current state it barely qualifies as a game considering it’s my second time using Unity it’s already an ok start. Plus I’m planning on working on this well past Stardance and already have some better models on the way. P.S. I don’t know if shipping is a permanent thing where you can’t edit after. If so… keep an eye on itch io?", "repo": "https://github.com/dpath02-sketch/My-Unity-Horror-Game", "demo": "https://dpath02.itch.io/exit-not-found"}]...
|
[{"post_id": 70331, "ts": "202 [{"post_id": 70331, "ts": "2026-09-18T23:36:42Z", "hours": 0.5544, "text": "Exit not Found devlog 4 Again, been a while since I last posted. I’m not good with sticking to things for long periods of time… anyway to get back into things I tried something simple to refresh my fleeting C# syntax memory by adding an FOV slider as well. The next big thing I want to work on is full on game saves. Even with the new data manager there’s still a few things I need to think about like how to convert the 3 rooms into just numbers and text without loosing info or making loading the game a pain. Not sure if anyone still reads these but if you do, thanks !(^U^)! edit: video was bugged for some reason. Here’s a screenshot of 70FOV you can compare to the previous images"}, {"post_id": 57709, "ts": "2026-08-29T23:14:02Z", "hours": 5.8042, "text": "Exit Not Found devlog 3.5 Sorry for not posting a devlog in a long time. Unfortunately your gonna have to wait a while more cause if this post works it confirms my suspicions that it’s the trash internet speed that won’t let me upload and I can’t have images :(. As far as I’m concerned Stardance is ending soon and I’m not gonna have a finished game by then so if you really wanna keep up to date I guess I’ll switch to itch. Also got working configs that persist after closing the game yay :)."}, {"post_id": 17443, "ts": "2026-06-28T06:58:43Z", "hours": 0.815, "text": "Exit Not Found third devlog I added the ability to unlock your mouse and go back to the menu without dying! Ground breaking stuff… I also added some “music” that plays in the background (I’m not very good at writing music + Soundtrap’s exports have a bit of extra time at the end for some reason. maybe instrument sustain). I was also considering having the game be available on web but the web build was kinda buggy for some reason and itch io didn’t like me having 2 zip files so you still have to download to play. I’m not actually sure how much time there’s left for Stardance so if this is my last devlog here, fear not! I’m not giving up on this game and will at least get the game as polished as I can, if not adding more actual gameplay to it in the long run."}, {"post_id": 10567, "ts": "2026-06-17T11:28:30Z", "hours": 2.5197, "text": "Exit Not Found second devlog I decided to focus a bit on getting the game to be… a game. Using a quick Youtube tutorial I got a main menu up and while I did add a bunch of buttons so far the only ones that work are new game and quit. The sphere of doom now triggers a vignette effect and knocks you over before sending you to the menu again. Getting that to work was a very big pain as I am promptly reminded that I’m still learning how both C# and Unity work and have just been throwing stuff to the wall and seeing what sticks. The main issue was accessing data and functions across several different scripts and types of objects. I can guarantee if I work on this in a couple months time I’m going to regret every stupid code design choice I made (my horrid code is above unless I forgot where the images go). Also fun fact sound design is pain not gonna go into too much depth since I gave up pretty quickly realising free internet tools only get you so far."}, {"post_id": 7814, "ts": "2026-06-13T01:21:39Z", "hours": 0.8811, "text": "Exit Not Found first devlog This is the first 3D game I’ve worked on and it’s basically just a Roblox: Doors clone where you walk around in an infinite cycle of rooms. So far there’s a basic main menu, world gen, and an enemy that deletes the lights and outputs “dead” in the console if you get too close :). Getting the lights to break took a bit longer than I hoped cause I didn’t realise it the lights need a rigid body component for the collider to work."}]...
|
Title: Exit Not Found by @dpath02 | Stardance
Dev Title: Exit Not Found by @dpath02 | Stardance
Devlogs:
Exit Not Found first devlog This is the first 3D game I’ve worked on and it’s basically just a Roblox: Doors clone where you walk around in an infinite cycle of rooms. So far there’s a basic main menu, world gen, and an enemy that deletes the lights and outputs “dead” in the console if you get too close :). Getting the lights to break took a bit longer than I hoped cause I didn’t realise it the lights need a rigid body component for the collider to work.
Exit Not Found second devlog I decided to focus a bit on getting the game to be… a game. Using a quick Youtube tutorial I got a main menu up and while I did add a bunch of buttons so far the only ones that work are new game and quit. The sphere of doom now triggers a vignette effect and knocks you over before sending you to the menu again. Getting that to work was a very big pain as I am promptly reminded that I’m still learning how both C# and Unity work and have just been throwing stuff to the wall and seeing what sticks. The main issue was accessing data and functions across several different scripts and types of objects. I can guarantee if I work on this in a couple months time I’m going to regret every stupid code design choice I made (my horrid code is above unless I forgot where the images go). Also fun fact sound design is pain not gonna go into too much depth since I gave up pretty quickly realising free internet tools only get you so far.
Exit Not Found third devlog I added the ability to unlock your mouse and go back to the menu without dying! Ground breaking stuff… I also added some “music” that plays in the background (I’m not very good at writing music + Soundtrap’s exports have a bit of extra time at the end for some reason. maybe instrument sustain). I was also considering having the game be available on web but the web build was kinda buggy for some reason and itch io didn’t like me having 2 zip files so you still have to download to play. I’m not actually sure how much time there’s left for Stardance so if this is my last devlog here, fear not! I’m not giving up on this game and will at least get the game as polished as I can, if not adding more actual gameplay to it in the long run.
Exit Not Found devlog 3.5 Sorry for not posting a devlog in a long time. Unfortunately your gonna have to wait a while more cause if this post works it confirms my suspicions that it’s the trash internet speed that won’t let me upload and I can’t have images :(. As far as I’m concerned Stardance is ending soon and I’m not gonna have a finished game by then so if you really wanna keep up to date I guess I’ll switch to itch. Also got working configs that persist after closing the game yay :).
Exit not Found devlog 4 Again, been a while since I last posted. I’m not good with sticking to things for long periods of time… anyway to get back into things I tried something simple to refresh my fleeting C# syntax memory by adding an FOV slider as well. The next big thing I want to work on is full on game saves. Even with the new data manager there’s still a few things I need to think about like how to convert the 3 rooms into just numbers and text without loosing info or making loading the game a pain. Not sure if anyone still reads these but if you do, thanks !(^U^)! edit: video was bugged for some reason. Here’s a screenshot of 70FOV you can compare to the previous images
Ships:
This is the first real game I’ve ever made (not counting scratch or the Unity flappy bird tutorial). While in it’s current state it barely qualifies as a game considering it’s my second time using Unity it’s already an ok start. Plus I’m planning on working on this well past Stardance and already have some better models on the way. P.S. I don’t know if shipping is a permanent thing where you can’t edit after. If so… keep an eye on itch io?...
|
1793087843.3115861
|
1793174243.3115861
|
|
4476
|
Untitled by @projects311 | Stardance
|
projects311
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled by @projects311 | Stardance
|
1792795726.462074
|
1793400526.462074
|
|
4477
|
My first slack bot! by @cxlm2023 | Stardance
|
cxlm2023
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @cxlm2023 | Stardanc Title: My first slack bot! by @cxlm2023 | Stardance...
|
1792669892.8455076
|
1793274692.8455076
|
|
4478
|
My awesome macropad! by @jakob_dreischarf | Starda My awesome macropad! by @jakob_dreischarf | Stardance...
|
jakob_dreischarf
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @jakob_dreischarf | Title: My awesome macropad! by @jakob_dreischarf | Stardance...
|
1793213447.4520013
|
1793818247.4520013
|
|
4479
|
Srishti's Slack Bot! by @srishtipurohit | Star Srishti's Slack Bot! by @srishtipurohit | Stardance...
|
srishtipurohit
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Srishti's Slack Bot! by @srishtipurohit Title: Srishti's Slack Bot! by @srishtipurohit | Stardance...
|
1792752749.7185187
|
1793357549.7185187
|
|
4480
|
figgie chrome extension by @akshat | Stardance
|
akshat
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: figgie chrome extension by @akshat | Starda Title: figgie chrome extension by @akshat | Stardance...
|
1793220581.4222276
|
1793825381.4222276
|
|
4481
|
Untitled project by @Rahi | Stardance
|
Rahi
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @Rahi | Stardance
|
1792734840.0810034
|
1793339640.0810034
|
|
4482
|
My awesome macropad! by @shreyanshe | Stardance
|
shreyanshe
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @shreyanshe | Stard Title: My awesome macropad! by @shreyanshe | Stardance...
|
1792630130.2513578
|
1793234930.2513578
|
|
4483
|
Gofie by @Lxsh-S | Stardance
|
Lxsh-S
|
1
|
5.0
|
72
|
[{"ship_num": 1, "ts": "2026-0 [{"ship_num": 1, "ts": "2026-06-02T15:43:38Z", "hours": 5.0, "multiplier": 15.92, "payout": 72, "blessing": "neutral", "text": "Hi, Gofie is my first simple, lighweight and usable project it’s custom system information fetcher like fastfetch completely written in Golang. It only works on macOS and linux. The parts I found challenging were using external libraries by just reading the docs I’m found of the thing that I have built somthing without using AI and feel like its completely my own. I didn’t have too high expectations with my first project and the result satisfies me.", "repo": "https://github.com/lxsh-S/gofie", "demo": "https://asciinema.org/a/1228971"}]...
|
[{"post_id": 849, "ts": "2026- [{"post_id": 849, "ts": "2026-06-02T15:30:28Z", "hours": 0.2747, "text": "Hmm I’m done with a basic clean and fast demo Gona use it myself everyday lol looks clean to me :)"}, {"post_id": 828, "ts": "2026-06-02T14:50:30Z", "hours": 1.0747, "text": "I was adding disk and gpu info it’s getting harder to not use AI cuz I can’t find a proper way to implement gpu info Thats the only problem for now!"}, {"post_id": 768, "ts": "2026-06-02T13:00:13Z", "hours": 0.8822, "text": "Added cobra I had thought adding it would require me to rewrite some parts of my code but that was not the case. It’s very lightweight and very easy to learn just took 30 mins at cobra.dev to learn to integrate it in my project"}, {"post_id": 699, "ts": "2026-06-02T08:20:35Z", "hours": 2.3128, "text": "Continuing the work on my custom system information tool like fast fetch but written in GO. -I had added Darwin support when I realised I’m also using my hackintosh to code for this project -It’s not flashy and all but does the work it’s intended to I’ll now try to rewrite it using Cobra so that it looks and feels like a CLI."}]...
|
Title: Gofie by @Lxsh-S | Stardance
Devlogs:
Cont Title: Gofie by @Lxsh-S | Stardance
Devlogs:
Continuing the work on my custom system information tool like fast fetch but written in GO. -I had added Darwin support when I realised I’m also using my hackintosh to code for this project -It’s not flashy and all but does the work it’s intended to I’ll now try to rewrite it using Cobra so that it looks and feels like a CLI.
Added cobra I had thought adding it would require me to rewrite some parts of my code but that was not the case. It’s very lightweight and very easy to learn just took 30 mins at cobra.dev to learn to integrate it in my project
I was adding disk and gpu info it’s getting harder to not use AI cuz I can’t find a proper way to implement gpu info Thats the only problem for now!
Hmm I’m done with a basic clean and fast demo Gona use it myself everyday lol looks clean to me :)
Ships:
Hi, Gofie is my first simple, lighweight and usable project it’s custom system information fetcher like fastfetch completely written in Golang. It only works on macOS and linux. The parts I found challenging were using external libraries by just reading the docs I’m found of the thing that I have built somthing without using AI and feel like its completely my own. I didn’t have too high expectations with my first project and the result satisfies me....
|
1793242498.43738
|
1793328898.43738
|
|
4484
|
My first slack bot! by @dhirajap2026 | Stardance
|
dhirajap2026
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @dhirajap2026 | Star Title: My first slack bot! by @dhirajap2026 | Stardance...
|
1792655658.9175298
|
1793260458.9175298
|
|
4485
|
lander game by @dale | Stardance
|
dale
|
0
|
6.14
|
0
|
[]
|
[{"post_id": 3996, "ts": "2026 [{"post_id": 3996, "ts": "2026-06-07T04:20:24Z", "hours": 0.9672, "text": "Fixed stars and scrollbar bugs What I fixed: star,radius typo causing stars not to render Stars bunching in the corner before canvas resize White scrollbars around the edge with CSS What I added: Full screen starfield with 500 stars Changed lander color to white"}, {"post_id": 3238, "ts": "2026-06-06T02:11:07Z", "hours": 2.0525, "text": "The lander can now be flown around the page with veloicty and engine flame!!"}, {"post_id": 2601, "ts": "2026-06-05T06:45:49Z", "hours": 1.6419, "text": "Made the shape of the lander"}, {"post_id": 1923, "ts": "2026-06-04T04:58:33Z", "hours": 1.085, "text": "made a red square using a canvas"}, {"post_id": 1029, "ts": "2026-06-02T20:21:45Z", "hours": 0.3928, "text": "lander game says hello world"}]...
|
Title: lander game by @dale | Stardance
Devlogs:
Title: lander game by @dale | Stardance
Devlogs:
lander game says hello world
made a red square using a canvas
Made the shape of the lander
The lander can now be flown around the page with veloicty and engine flame!!
Fixed stars and scrollbar bugs What I fixed: star,radius typo causing stars not to render Stars bunching in the corner before canvas resize White scrollbars around the edge with CSS What I added: Full screen starfield with 500 stars Changed lander color to white...
|
1792662830.4602127
|
1793267630.4602127
|
|
4486
|
My first slack bot! by @MasonR | Stardance
|
MasonR
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My first slack bot! by @MasonR | Stardance
|
1793177359.8630111
|
1793782159.8630111
|
|
4487
|
Windboard Saturn by @maksykaplon | Stardance
|
maksykaplon
|
0
|
13.02
|
0
|
[]
|
[{"post_id": 14915, "ts": "202 [{"post_id": 14915, "ts": "2026-06-24T06:53:09Z", "hours": 1.0528, "text": "Devlog 4: I am done the windboard and will keep this brief as i will do the final post soon. Firstly i made the firmware on QMK with 9 separate macros and an oled screen. I first tried with KMK but found there was limited documentation for the OLED screen so i decided to use QMK. Overall it was pretty good and the documentation helps alot. Second i finished the case design and made a 3D model. I finished designing all the parts in fusion 360 and then as seen in the image below assembled them into what the printed Windboard will look like. Now i just need to build it and i will post the next devlog soon. Maksy K"}, {"post_id": 12856, "ts": "2026-06-21T01:41:23Z", "hours": 3.0878, "text": "Hi the windboard is almost complete i have finished the case and now just need to figure out the firmware. I originally planned to use KMK but found that it was harder for oleds so i decided to use QMK. Here is the CAD design for the windboard made in fusion 360. Hopefully it will be done soon."}, {"post_id": 7926, "ts": "2026-06-13T06:39:36Z", "hours": 8.2761, "text": "Hello This is my second devlog First i have decided the Hackpad will be called the Windboard. First i have redone my PCB so that it has 9 keys which i next plan to code shortcuts onto for navigating a computer like to open up an application. I have decided to include an oled screen, which i plan on adding an image that moves when the keys are pressed. I have started on the case which will hold the PCB. I plan on adding more adding more soon so i will post another devlog in a day or two. Take care."}, {"post_id": 2044, "ts": "2026-06-04T10:22:47Z", "hours": 0.6036, "text": "I have just finished making the basic PCB and box design so now i am trying to figure out QMK. Any tips are appreciated? I plan on adding more buttons, but this is a start while i learn. My plan is to create around 6 keys to navigate through the windows interface. Day 1-2 Done."}]...
|
Title: Windboard Saturn by @maksykaplon | Stardanc Title: Windboard Saturn by @maksykaplon | Stardance
Devlogs:
I have just finished making the basic PCB and box design so now i am trying to figure out QMK. Any tips are appreciated? I plan on adding more buttons, but this is a start while i learn. My plan is to create around 6 keys to navigate through the windows interface. Day 1-2 Done.
Hello This is my second devlog First i have decided the Hackpad will be called the Windboard. First i have redone my PCB so that it has 9 keys which i next plan to code shortcuts onto for navigating a computer like to open up an application. I have decided to include an oled screen, which i plan on adding an image that moves when the keys are pressed. I have started on the case which will hold the PCB. I plan on adding more adding more soon so i will post another devlog in a day or two. Take care.
Hi the windboard is almost complete i have finished the case and now just need to figure out the firmware. I originally planned to use KMK but found that it was harder for oleds so i decided to use QMK. Here is the CAD design for the windboard made in fusion 360. Hopefully it will be done soon.
Devlog 4: I am done the windboard and will keep this brief as i will do the final post soon. Firstly i made the firmware on QMK with 9 separate macros and an oled screen. I first tried with KMK but found there was limited documentation for the OLED screen so i decided to use QMK. Overall it was pretty good and the documentation helps alot. Second i finished the case design and made a 3D model. I finished designing all the parts in fusion 360 and then as seen in the image below assembled them into what the printed Windboard will look like. Now i just need to build it and i will post the next devlog soon. Maksy K...
|
1792605197.3555665
|
1793209997.3555665
|
|
4488
|
cognition by @hayden | Stardance
|
hayden
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: cognition by @hayden | Stardance
|
1793188373.584353
|
1793793173.584353
|
|
4489
|
Untitled project by @AryammanOjha | Stardance
|
AryammanOjha
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Untitled project by @AryammanOjha | Stardan Title: Untitled project by @AryammanOjha | Stardance...
|
1793242160.9478354
|
1793846960.9478354
|
|
4490
|
HTML game by @amandayu025 | Stardance
|
amandayu025
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: HTML game by @amandayu025 | Stardance
|
1792918175.739818
|
1793782175.739818
|
|
4491
|
Programming Language that Transpiles to C++ by @Th Programming Language that Transpiles to C++ by @The_Moose | Stardance...
|
The_Moose
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Programming Language that Transpiles to C++ Title: Programming Language that Transpiles to C++ by @The_Moose | Stardance...
|
1792781592.9346905
|
1793386392.9346905
|
|
4492
|
Tempmail Project by @arsyad | Stardance
|
arsyad
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Tempmail Project by @arsyad | Stardance
|
1793224190.6200984
|
1793828990.6200984
|
|
4493
|
TaskTrack by @Radhe | Stardance
|
Radhe
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: TaskTrack by @Radhe | Stardance
|
1792652032.7882512
|
1793256832.7882512
|
|
4494
|
My awesome macropad! by @kedvdv | Stardance
|
kedvdv
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @kedvdv | Stardance
|
1792785027.0737195
|
1793389827.0737195
|
|
4495
|
BLE glove controller by @crabby605 | Stardance
|
crabby605
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: BLE glove controller by @crabby605 | Starda Title: BLE glove controller by @crabby605 | Stardance...
|
1792659335.286552
|
1793264135.286552
|
|
4496
|
CHICKEN SAVE FROM BBQ by @baibhavrajacharya | Star CHICKEN SAVE FROM BBQ by @baibhavrajacharya | Stardance...
|
baibhavrajacharya
|
0
|
0.29
|
0
|
[]
|
[{"post_id": 1024, "ts": "2026 [{"post_id": 1024, "ts": "2026-06-02T20:19:35Z", "hours": 0.2944, "text": "BBQ CHICKEN"}]...
|
Title: CHICKEN SAVE FROM BBQ by @baibhavrajacharya Title: CHICKEN SAVE FROM BBQ by @baibhavrajacharya | Stardance
Devlogs:
BBQ CHICKEN...
|
1792676873.493609
|
1793281673.493609
|
|
4497
|
Cosmic Mission Control: The Rookie Hacker Handbook Cosmic Mission Control: The Rookie Hacker Handbook by @Jithun | Stardance...
|
Jithun
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: Cosmic Mission Control: The Rookie Hacker H Title: Cosmic Mission Control: The Rookie Hacker Handbook by @Jithun | Stardance...
|
1792597946.7573924
|
1793202746.7573924
|
|
4498
|
My awesome macropad! by @exotic | Stardance
|
exotic
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @exotic | Stardance
|
1792734713.745231
|
1793339513.745231
|
|
4499
|
My awesome macropad! by @ariba | Stardance
|
ariba
|
0
|
0.0
|
0
|
[]
|
[]
|
Title: My awesome macropad! by @ariba | Stardance
|
1792666205.0225532
|
1793271005.0225532
|
|
4500
|
Dobsoscope by @danyy55 | Stardance
|
danyy55
|
0
|
3.11
|
0
|
[]
|
[{"post_id": 48054, "ts": "202 [{"post_id": 48054, "ts": "2026-08-16T10:30:02Z", "hours": 1.6283, "text": "Changing to raylib made a ping-pong game to get the basics of raylib"}, {"post_id": 35229, "ts": "2026-07-26T15:10:07Z", "hours": 1.1353, "text": "Some progress on visualization"}, {"post_id": 35194, "ts": "2026-07-26T13:44:46Z", "hours": 0.3417, "text": "Implementing vectors and reflection on a mirror"}]...
|
Title: Dobsoscope by @danyy55 | Stardance
Devlogs Title: Dobsoscope by @danyy55 | Stardance
Devlogs:
Implementing vectors and reflection on a mirror
Some progress on visualization
Changing to raylib made a ping-pong game to get the basics of raylib...
|
1793184943.770683
|
1793789743.770683
|