← Writing

From Discord bots to a delivery company.

How I learned to code: HTML in Discord communities, a music player, Node bots shared as open source, React and Next.js, school events, and then Laayo.

Sakshyam Baral··4 min readlaayoproduct

I taught myself to code, and the classroom where it happened was Discord. Most of what I know came from building things, getting stuck, and asking around in developer communities.

This is the short version of how that went, and what from each stage still shows up in the work I do now.

Discord, HTML and a music player

At the end of 2018 I was spending a lot of time in Discord developer communities. People there were building bots and small websites and sharing them, and I started with the basics: HTML, CSS and JavaScript.

My first real project, in 2019, was a music player written in JavaScript. It was small, but it was a whole thing that did a job, rather than a page that only looked like something.

Bots, Node.js and open source

In 2020 I learned Node.js and Express, mostly by building bots for Discord servers. A bot is a good teacher. It is a long-running process that reacts to events, it talks to an API with rate limits, it needs to store state somewhere, and when it crashes at night, the server it runs in notices.

I started publishing the bots as open source. The best known is Discord Server Cloner, a Python tool that copies a whole Discord server in one run. Others were multi-purpose bots and shop bots, like Hydrox, Bot Manager and Shop Managerx, which came with web dashboards. Between them, those repositories collected a few hundred stars and forks.

Open source changes how you write code. When strangers fork your project and run it on their own machines, you find out quickly which parts only worked on yours. Setup instructions, configuration that doesn't live in the code, and error messages a stranger can act on stop being optional.

The shape of those bots is still everywhere in Laayo. A bot is an event loop with an API in front and a dashboard on the side. So is Laayo's realtime server, which takes rider locations and order updates and fans them out to the apps and the operations console. So is Laayendra, the agent that watches live orders. The scale and the stakes are different. The shape is familiar.

React, Next.js and real products

In 2022 I moved to React, Next.js and Tailwind, and from there to things with real backends, mobile apps and servers behind them. That was the step from "a project" to "a product": something people depend on, with data that has to be correct tomorrow as well as today.

At the same time, school was taking more of my time in a way that turned out to matter. From 2023 I was on the event and media side at my school: hosting and organising events, and leading the media team. I finished my +2 in management with computer science and accounting in 2025. In 2024 I joined JCI in Birtamod, coordinated The Biggest Education Fest in 2025, and became event manager the same year.

None of that is programming, but it is the other half of what I do now. Running an event means a fixed date, people depending on you, a budget and things going wrong in public. Running a delivery service is the same, every day.

Laayo

I started Laayo in July 2025. It is food and grocery delivery, and it went live in Birtamod in January 2026. The company was registered in February 2026, and in August 2026 the service expanded to Damak.

I built nearly all of it myself: the customer, restaurant and rider apps, the backend, the operations console, payments, live tracking, the AI assistants, and the servers it runs on. I also run the business side: restaurants, riders, support and money. Along the way I started Qora, payment infrastructure for Nepali businesses built on Fonepay QR, and Laayo Biz, a point of sale system for restaurants.

The tools changed a lot since the Discord days. Laayo's backend is moving to Go, the customer app is moving from Flutter to native Swift and Kotlin, and I use AI coding agents heavily. The way I learn hasn't changed. I still build the thing, get stuck, read the error, and go find out. The other posts on this blog are mostly records of that: a migration, payment retries, a staging server, and the mistakes that came with each.

Get new posts by email

One email when something new goes up. No tracking pixels, unsubscribe in one click.