You are browsing as a guest. Sign up (or log in) to start making projects!

Avetisyan

@Avetisyan

Joined June 18th, 2026

  • 2Devlogs
  • 2Projects
  • 1Ships
  • 0Votes
Open comments for this post
Reposted by @Avetisyan

35m 3s logged

CatOS Devlog - User Profile & Loading System

What I Built Today

Today I built the user onboarding flow for my cat-themed web operating system. When someone opens CatOS for the first time, they create a fake profile by entering their name and their cat’s name. After submitting the form, they are greeted with a custom loading screen before the desktop appears.

Screens I Made

Welcome Screen

  • Full-screen dark gradient background
  • Circular cat profile image with an orange glow effect
  • “Welcome to CatOS” title in orange
  • Two input fields:
    • Your Name
    • Cat’s Name
  • Orange “Enter CatOS” button with a hover animation
  • Hidden error message displayed when either input is empty
  • Frosted glass card created using backdrop-filter: blur()

Loading Screen

  • Smaller version of the cat profile image
  • Personalized welcome message using the entered names
  • Animated progress bar that fills from 0% to 100%
  • Eight loading messages that change as progress increases
  • Three bouncing cat paw emojis with a wave animation
  • Smooth transition to the desktop after loading finishes

How It Works

  1. The user enters their name and their cat’s name.
  2. They click the Enter CatOS button or press Enter.
  3. The names are stored in global JavaScript variables so they can be accessed throughout the operating system.
  4. The welcome screen is hidden and the loading screen is displayed.
  5. A timer runs every 350ms, increasing the progress bar by a random value.
  6. The loading status message changes depending on the current progress percentage.
  7. Once the progress reaches 100%, the loading screen disappears and the CatOS desktop is displayed.
1
1
30
Open comments for this post

35m 3s logged

CatOS Devlog - User Profile & Loading System

What I Built Today

Today I built the user onboarding flow for my cat-themed web operating system. When someone opens CatOS for the first time, they create a fake profile by entering their name and their cat’s name. After submitting the form, they are greeted with a custom loading screen before the desktop appears.

Screens I Made

Welcome Screen

  • Full-screen dark gradient background
  • Circular cat profile image with an orange glow effect
  • “Welcome to CatOS” title in orange
  • Two input fields:
    • Your Name
    • Cat’s Name
  • Orange “Enter CatOS” button with a hover animation
  • Hidden error message displayed when either input is empty
  • Frosted glass card created using backdrop-filter: blur()

Loading Screen

  • Smaller version of the cat profile image
  • Personalized welcome message using the entered names
  • Animated progress bar that fills from 0% to 100%
  • Eight loading messages that change as progress increases
  • Three bouncing cat paw emojis with a wave animation
  • Smooth transition to the desktop after loading finishes

How It Works

  1. The user enters their name and their cat’s name.
  2. They click the Enter CatOS button or press Enter.
  3. The names are stored in global JavaScript variables so they can be accessed throughout the operating system.
  4. The welcome screen is hidden and the loading screen is displayed.
  5. A timer runs every 350ms, increasing the progress bar by a random value.
  6. The loading status message changes depending on the current progress percentage.
  7. Once the progress reaches 100%, the loading screen disappears and the CatOS desktop is displayed.
1
1
30
Ship

Slack Utility Bot
A simple and lightweight Slack bot built with Bolt for JavaScript that adds a collection of fun and useful slash commands to any Slack workspace. I created this project to learn how Slack bots work, practice asynchronous JavaScript, and gain experience deploying Node.js applications on Linux.
Features
The bot currently supports the following slash commands:
/for-ping — Check the bot's response time.
/for-catfact — Receive a random cat fact.
/for-flip — Flip a virtual coin.
/for-choice — Randomly choose one option from a list.
/for-reverse — Reverse any text you provide.
/for-color — Generate a random HEX color.
/for-mock — Convert text into the classic SpOnGeBoB mocking style.
/for-rate — Rate anything on a scale from 0 to 10.
/for-nothing — Returns... absolutely nothing.
/for-help — Show all available commands.
Why I Built This
I wanted to create a small but practical Slack application that combines useful utilities with a few fun commands. The project also gave me hands-on experience with Slack's API, Node.js, and deploying services on a Linux server.
What I Learned
Building this project helped me improve several important skills:
Working with async/await and asynchronous JavaScript.
Developing Slack applications using the Bolt for JavaScript framework.
Creating and handling Slack slash commands.
Managing sensitive credentials securely with environment variables (.env).
Running Node.js applications as persistent services using systemd on Linux.
Debugging applications with journalctl and implementing proper error handling.
Organizing a small project into maintainable and reusable modules.
Technologies Used
Node.js
Bolt for JavaScript
Slack API
Axios
dotenv
Linux (systemd)

Try project → See source code →
Open comments for this post

1h 32m 2s logged

I am building a custom Slack utility bot using the Bolt for JavaScript framework. It runs on a Linux server (Nest) and provides a variety of interactive slash commands to automate tasks and add utility to my workspace.Here are the commands I have implemented:/for-ping - Checks the bot’s latency./for-catfact - Fetches a random, interesting fact about cats./for-flip - Flips a digital coin./for-choice - Randomly selects an item from a provided list./for-reverse - Reverses the input text./for-color - Generates a random HEX color code./for-mock - Converts text into “mocking” (sPoNgEbOb) style./for-rate - Rates an object on a scale from 0 to 10./for-nothing - A command that returns “nothing.”/for-help - Displays the list of all available commands.I am hosting this bot on my Nest server, using systemd to manage it as a background service to ensure it stays online continuously.

0
0
14

Followers

Loading…