Activity

Yorukot

I focused on making the “new monitor” experience feel complete and pleasant to use. I added support for two kinds of monitors (one that checks a web address, and one that checks a host), built out the settings so they cover the real things I’d want to control, and connected the page to the backend so creating a monitor actually works end-to-end. Along the way I introduced a few missing UI pieces, tightened up the layout and navigation, and fixed small interaction details so the app feels more responsive. I also took time to remove outdated files and simplify how region/location names are handled, including cleaning up old data fields, so the codebase stays lean and easier to maintain.

Attachment
Attachment
0
Yorukot

Svelte still feels a bit too new for me. DX isn’t great on my side and it’s slowing down shipping.
So I’m switching to Next.js + shadcn to move faster. I’ve already rebuilt the login/signup forms and set up the official shadcn dashboard.

Attachment
Attachment
Attachment
0
Yorukot

Over the last two days, I focused on getting the project into a cleaner “deploy-ready” state.

I updated the Docker setup and adjusted some backend code to better support deployment. On the frontend side, I switched the SvelteKit adapter to the Node.js adapter, fixed the API base URL to include /api, and refactored build/runtime configuration so it works more predictably in production (added HOST/PORT, changed the output directory, and updated the start command).

I also finished the project rename from knocker to kymarium, then did a small UI/UX polish pass: better login/signup error handling, loading spinners on forms/buttons, cleaner spacing, and removing placeholder homepage content. Finally, I updated .env.example with web-related variables (including a default COOKIE_DOMAIN) and added a todo.md to track what’s next.

Attachment
Attachment
0
Yorukot

I’ve been working through a large batch of changes that’s less about flashy features and more about making the project feel like a real product. Most of this work was “invisible”: consolidating foundations, finishing half-implemented flows, and keeping the backend + schema consistent so future changes won’t hurt.

What I worked on:

Database foundation
Merged several separate migrations into the base schema (status page/incident titles, enum updates, invites, account fields). New environments are easier to bootstrap and the migration history is cleaner.

Backend alignment
No major route changes, but handlers/repos were updated for the new transaction signature and module structure. Not exciting on paper, but it reduces friction everywhere.

Monitors
Monitor lists now include status and a 30-day uptime metric, making monitoring views more practical.

Notifications
Notifications are now usable: added Slack, implemented email via SMTP, and improved config validation to fail early. Also standardized naming after the project rename.

Auth & sessions
Added a full email verification flow (register → verify email → block unverified logins → resend → verify via link + redirect). Also improved logout, cookie domain handling, and OAuth linking rules.

Users & teams
Added key account/team features: profile update, password change, session listing + revocation, member management (remove/leave), and a full team invite workflow (create/list/accept/reject/cancel + token links). If SMTP is enabled, invites send emails.

Rename & infra
Renamed the module from knocker to kymarium, updated imports, refreshed env + Docker setup, and regenerated Swagger/tooling.

Attachment
Attachment
Attachment
Attachment
Attachment
Attachment
0
Yorukot

Today I shipped a big Status Page update focused on flexibility and editing experience: instead of treating “groups” and “monitors” as separate things, the page content is now described as one unified list of elements, which makes the layout easier to build, reorder, and extend in the future. Editing is much more intuitive now thanks to a drag-and-drop style editor, so rearranging sections and items feels like organizing a page rather than filling out a rigid form. I also improved input handling so different clients and workflows can submit updates more smoothly, and tightened up rules around ordering and basic text constraints to prevent messy or inconsistent public pages, overall the goal was a cleaner, more consistent model that’s simpler for users to manage and nicer to maintain.

0
Yorukot

Shipped a modular status page editor: Felte handling forms, Zod guarding inputs, and a reusable delete dialog for dramatic exits.
Also removed the uptime timeframe label and polished some UI weirdness. Tomorrow’s mission: attempt DnD + Svelte integration for groups/monitors.

Attachment
0
Yorukot
  • Refreshed the public status page UI and did some code cleanup.
  • Backend now ships 90/60/30d SLI data to the client (no more guessing).
  • Polished the new status page UI so the SLI info is actually obvious.
  • Slimmed down the monitor list and added a “go to public status page” button.
Attachment
Attachment
Attachment
0
Yorukot

Because my first devlog didn’t mention the current status, I’m writing another one to share the latest progress:

Overall Direction

Backend design: most of the backend MVP proof-of-concept is done, but there are still many small issues to fix.
Frontend foundation: it’s extremely ugly right now, and I’ll need to spend a lot of time designing it.

Backend

  1. Multi-region support is basically handled, but there are still some bugs to fix.
  2. It supports basic HTTP monitoring, but more monitor types still need to be added.
  3. It supports basic Discord notifications, but more notification types still need to be added.
  4. The team feature is basically not finished.

Frontend

The basics are done, but it’s very rough and hasn’t been designed yet—still needs a lot of time for design work.
Since the backend still needs changes, the frontend will also need further redesign to stay aligned with the backend.

Attachment
0
Yorukot

I am developing an uptime monitoring system similar to Kuma, and I hope it can be open source and used by many people! And right now i am build the public status page

Attachment
0