Back to home

Blog

I write both short and long tutorials about web development mostly about Next.js, React, Laravel, JavaScript, Rust and Golang.

Jan 6, 2026

My Conversation with AI to Get Clarity in My Life

I asked an AI what my strengths were. Then I told it I felt lost. What happened next actually helped.

Dec 26, 2025api,llm

How to Use OpenRouter: Access Multiple AI Models with One API

Learn how to use OpenRouter to access multiple AI models from different providers through a single, unified API interface.

Jul 12, 2025bun

How to Setup Middleware for Elysia.js

I was working on **vidiopintar.com**, a video analysis API built with Elysia.

Jun 10, 2025nextjs

Using better auth in Next.js

In the Next.js ecosystem, NextAuth.js is a popular authentication solution.

Dec 4, 2024golang

Setting Up Vince Analytics: A Self-Hosted Alternative to Google Analytics

Setting up Plausible Analytics feels like preparing for a wedding - you need multiple components (PostgreSQL, ClickHouse), plenty of resources, and constant maintenance.

Nov 18, 2024laravel

How to use Laravel Pint in VSCode?

Laravel Pint is an opinionated PHP code style fixer based on PHP-CS-Fixer.

Nov 8, 2024tailwindcss

How to hide scrollbar in tailwindcss?

There are multiple ways to customize scrollbars in Tailwindcss, we'll explore three approaches to handle scrollbars, each with its own advantages.

Nov 6, 2024ffmpeg

How to Extract Audio from MKV Files Using FFmpeg

Just finished a mentoring call.

Nov 3, 2024insight

AI Won't Replace Developers - Here's Why We'll Thrive Instead

First time I saw AI generating code, I panicked.

Nov 3, 2024scraping,selenium

Scraping Hacker News with Selenium

Ever wanted to automatically fetch the top stories from Hacker News?

Oct 3, 2024js

How to Create a Dialog Component with Alpine.js

Alpine.js is a lightweight JavaScript framework that allows you to add dynamic behavior to your HTML with minimal effort.

Sep 11, 2024python

Where is the pip package file located?

The location of pip package files can vary depending on your operating system and Python installation.

Sep 7, 2024laravel

How to deploy Laravel app with a PostgreSQL using Laravel Forge?

So recently I needed to improve the performance of my production Laravel app.

Aug 16, 2024laravel,php

Understanding Reduce Operations in Laravel: A Beginner's Guide

Laravel has a handy Collection helper that can help you work with array data.

Jul 23, 2024bash,script

How to Copy Folders to Remote Servers Using SSH

Copying folders between local and remote systems may not be a task you do daily, but sometimes you might need to do that.

Jul 20, 2024javascript

How to use codemirror legacy modes?

CodeMirror 6 introduces a modular architecture, allowing for more flexibility and customization.

Jul 18, 2024go

How to install Golang in ubuntu with curl?

Learn how to install Go (Golang) on Ubuntu Linux using curl with step-by-step instructions.

Jul 9, 2024laravel

How to Set a Custom Redirect URL After Login in Laravel Jetstream?

Building web apps is getting easier these days, with new tools coming out every day to help developers get the job done.

Jun 27, 2024laravel,image-processing

How Laravel Facades work?

Today, we'll dive into a powerful feature of Laravel - Facades.

May 22, 2024laravel,livewire

How to streaming text with markdown formatted in Livewire?

In Laravel Livewire, you can use the `wire:stream` directive to stream data from the server to the client.

May 4, 2024email,server

How to Create an Email with Your Own Domain on a VPS?

To set up your own email hosting using Docker on a VPS, follow these steps to get Docker Image from the official Docker Hub registry or from the GitHub registry.

Apr 19, 2024#100DaysToOffload,javascript

Introduction to Alphine.js

Alpine.js is a lightweight JavaScript framework.

Apr 19, 2024laravel,php,#100DaysToOffload

Upload Files to Cloudinary in Laravel

File management is a crucial aspect of modern web applications, and Laravel developers often need to handle file uploads and storage efficiently.

Mar 29, 2024laravel,ollama,ai,#100DaysToOffload

Integrate Local LLM into Your Laravel Projects with Ollama

The progress of Open Source Large Language Model is growing rapidly, now if you have a computer with 8 GB of ram you can run llama based large language is your local machine.

Mar 27, 2024php,laravel,ai,#100DaysToOffload

How to use Claude AI in Laravel?

Now that Anthropic has already opened access to their Claude model, it's time to try the Claude API in our Laravel application.

Mar 5, 2024Laravel

A Guide to Stateless Laravel Applications Using Tigris Object Storage

Last year I wrote a tutorial to [deploy your laravel application to Fly.io](/blog/deploying-laravel-project-to-fly.io).

Dec 26, 2023#100DaysToOffload

What is unstructured data?

In short Unstructured data is the data that doesn't have predefined structure, just like database they doesn't have and row and column.

Dec 14, 2023#100DaysToOffload

How to use fetch in laravel?

In Laravel, you cannot simply use fetch and then request the API; otherwise, you will encounter an error due to the CSRF middleware.

Dec 7, 2023message_broker,queue,#100DaysToOffload

Getting Started with Apache Kafka

Developing scalable application these days have a lot of moving part especially when your company adopt micro service.

Nov 27, 2023#100DaysToOffload,design

How to come up with the UI Design for your web app?

While working on [readclip.site](https://readclip.site) I found myself stuck with the ui design for some feature that I am working on.

Nov 23, 2023#100DaysToOffload,smtp

How to send email during Development time in Laravel?

So you are working on sending emails feature on you laravel project.

Nov 22, 2023react,vite

How to Deploy Vite + React to Github Pages?

A few days ago while porting some captcha library from vanillajs to react for work, I needed to share it with my colleague.

Nov 20, 2023#100DaysToOffload

How to Install Mayan EDMS to Digitalocean VPS?

MayanEDMS is Free Open Source Document Management System, currently it the most advanced project for managing Digital Document like PDF, Images etc.

Nov 16, 2023#100DaysToOffload

How to use DuckDB to query Parquet file?

On of the good thing of DuckDB is that they are not inventing new data structure it works with the current data we have like csv, json and parquet.

Nov 15, 2023#100DaysToOffload

Introduction to DuckDB - In memory database for Analytics

DuckDB is an in-memory database that we can interact with using SQL language.

Nov 6, 2023#100DaysToOffload

Fetch like Javascript in Golang

If you are javascript developer and just starting to write a golang code you might find that performing http request in golang is not easy writing fetch request in javascript.

Nov 2, 2023#100DaysToOffload

Implementing Folder System in PostgreSQL

Turns out there are multiple way to implement folder system, and after doing some research I found that this approach **Adjacency List Model** easier to understand for me.

Nov 2, 2023#100DaysToOffload

Autoplay YouTube Embed in React

Sometime you might need to embed youtube video to your react application and you want it to autoplay.

Nov 1, 2023#100DaysToOffload

How to use prisma in Next.js?

Prisma is one of the best ORM for javascript, if you want to use it in your next.js application you can follow this tutorial.

Nov 1, 2023#100DaysToOffload

How to redirect Request in Go Fiber?

I was working on adding new domain from readclip.ahmadrosid.com to [readclip.site](https://readclip.site) today.

Oct 30, 2023#100DaysToOffload

How to create background grid in Tailwindcss?

There are so many options to drive user attention to the information we want them to see.

Oct 29, 2023writing,life,#100DaysToOffload

Falling Behind or Actually One Step Ahead?

I was the one of many peoplo who find hard to get focus on one thing and always feeling I was behind everybody.

Oct 26, 2023#100DaysToOffload

How to query html dom in Golang?

Web browser has the best way to manipulate the html document and the good news is we can query html document just like the browser do in golang.

Oct 25, 2023#100DaysToOffload,laravel,php,livewire

Learn Livewire Actions and Properties

Livewire give us super power for blade view and today we will learn about Livewire Properties and Actions.

Oct 24, 2023#100DaysToOffload,php,laravel

Introduction to Laravel Livewire

With the complexity and limitations of traditional web development using Laravel there are so many attempts to make the experience of developing interactive application more axciting.

Oct 23, 2023#100DaysToOffload,css,tailwindcss

Create a button component with tailwindcss

Button has been a component that sometime can be easy to create and also a bit tricky at the same time.

Oct 22, 2023#100DaysToOffload,business

Analyzing business value proposition with AI

When building a product the most important thing is not the idea it is the problem you solved and that just one thing most of the problem is also has been solved by someone else.

Oct 21, 2023golang,vite,#100DaysToOffload

How to setup fullstack web app with golang and vite?

Build web app is getting easier these days, new tools are coming out everyday with the goals to help developers to get the job done.

Oct 20, 2023laravel,#100DaysToOffload

Deploying Laravel Project to fly.io

Laravel is not easy to deploy but not anymore.

Oct 19, 2023php,#100DaysToOffload

How to use supabase with laravel?

Deploying application a lot easier these days, one of the most important component of our Laravel application is database.

Oct 18, 2023writing,#100DaysToOffload

Starting 100 Days To Offload Challenge

Writing has change my life a lot, but putting commitment to consitenly writing is hard to do.

Oct 7, 2023work,business

How to get up again after losing a job?

When you have a job, there’s always that risk of losing it, right?

Aug 7, 2023ts-rest

How to create REST API with Express and ts-rest?

When you are working with Typescript to create REST API there are so many options you need to consider.

Jul 30, 2023javascript

How to cancel Javascript Fetch Request?

When you are working with network requests in your JavaScript app, you might encounter scenarios where you need to handle cancelling network requests.

May 30, 2023php,rust

Building PHP Extension with Rust for Fun and Profit

Rust is one of the best languages that you can learn no matter where you are coming from, and one of the things that I love is that you can use Rust to write plugins or extensions for your language.

May 27, 2023nextjs,javascript

Creating Chat Widget with Next.js

When you have a website that offers services like web hosting, e-commerce, or anything, you most likely need to provide your users with chat support.

May 22, 2023openai

Building chatbot with Laravel and Openai Embedding

One of the limitations of the GPT model by OpenAI is that its knowledge is limited.

May 18, 2023openai

Streaming OpenAI Responses in Laravel with Server-Sent Events (SSE)

When working with OpenAI in your Laravel project, implementing a streaming response can improve the user experience.

May 11, 2023firebase

Deploy Next.js to Firebase Hosting

When building a React project with Next.js, the common deployment option is Vercel.

May 7, 2023python

Fixing Python Firebase Auth HTTPResponse Error

If you are using Firebase authentication in python you might encounter this error.

May 4, 2023database,postgres

How to install Postgres database in Ubuntu?

Learn how to install PostgreSQL database on Ubuntu with step-by-step instructions.

Apr 16, 2023rust

How to extract text from PDF file in Rust?

Working with PDF files in Rust is now easier.

Mar 30, 2023motion-canvas

Motion Graphic in JavaScript with motion-canvas

Today, we are going to have some fun with motion graphics in JavaScript.

Mar 8, 2023react

React drag and drop with dnd-kit

If you need to create a drag-and-drop component, look no further than dnd-kit.

Mar 7, 2023laravel,openai

How to use chatgpt API with Laravel?

OpenAI launched ChatGPT at the end of 2022, as you may already know.

Feb 20, 2023regex

What is regex /g meaning?

In regular expressions, the /g flag is a modifier that can be added to a pattern to search for all occurrences of that pattern within a given string.

Jan 18, 2023monaco-editor

How to add Editor Action in monaco-editor?

I have learned a lot while working on my Tinkerwell alternative project.

Jan 18, 2023rust

How to run command with custom stdin and stdout in Rust?

So, this week I am working on some little side project to run php code for laravel project with `php artisan tinker`. ![tinker-run](/images/tinker-run.png) So the problem with this command it's does not support passing some code via input params.

Jan 15, 2023redis,database

How to install Redis in MacOs?

Redis is an open-source, in-memory data structure store that can be used as a database, cache, and message broker.

Jan 14, 2023laravel,php,API

AI-Powered Photo Restoration in Laravel Tutorial

Today we are going to learn another AI that we can use in our Laravel Application.

Jan 13, 2023css,tailwindcss

Create CSS Border Animation with TailwindCSS

Yesterday I found this website [volta.net](https://volta.net/) and I liked the landing page that contained a border animation.

Jan 10, 2023nextjs,javascript

How to Use Vercel Audience Analytics in Next.js?

If you deploying Next.js application to vercel you can use the vercel audience analytics now.

Jan 6, 2023vercel

How to Disable vercel deployment notification?

Are you using Vercel to deploy your Next.js application?

Jan 4, 2023javascript,react,next.js

How to Compress Image with JavaScript?

Eventually, if you create a website with a feature such as uploading images for a profile, you will inevitably have to deal with large image sizes.

Jan 3, 2023laravel,ai

Remove Background Image with PhotoRoom API in Laravel

AI is prevalent these days, not only for end users but also for software developers like us.

Dec 27, 2022tailwindcss,react

How to create tooltip with React and TailwindCSS?

A tooltip is a small piece of text that appears when you hover your mouse over an element on a website or application.

Dec 27, 2022js

JavaScript Regex to Replace Links

I was working on a small project the other day; the goal was to pull my [bookmarked tweets](/tweet-bookmarks) onto my blog so that I could share them in my blog.

Dec 26, 2022nodejs,javascript

How to Download a file with Node.js?

To download a file in Node.js, you can use the `https` and `fs` packages, or you can also use `http`.

Dec 26, 2022nodejs

How to fix node-fetch Error ERR_REQUIRE_ESM

If you are using `node-fetch` in your nodejs project you might will get this error `Error [ERR_REQUIRE_ESM]: require() of ES Module`.

Dec 24, 2022pyton,ai

Convert YouTube to Text with OpenAI Whisper

OpenAI has released a new model for speech recognition, which is available for free and open source on [GitHub](https://github.com/openai/whisper).

Dec 22, 2022laravel,php,openai

How to use OpenAI in Laravel?

OpenAI is a powerful artificial intelligence platform that allows developers to easily build AI-powered applications.

Dec 22, 2022docker, shell

Learn Docker for beginner

If you are learning web development sooner or later you will need to learn docker, and in fact most of company these days is using docker to develop and deploy their web application.

Dec 18, 2022python

How to Deploy FastApi to Fly.io?

FastAPI is a modern, fast (high-performance), web framework for building APIs with Python language.

Dec 15, 2022python,openai

How to replicate ChatGPT with Langchain and GPT-3?

It is well-known that ChatGPT is currently capable of impressive feats.

Dec 13, 2022golang

How to Crop image in Golang?

To crop an image in Go, you can use the `image.SubImage` method in the image package to create a new image that is a sub-rectangle of the original image.

Dec 9, 2022php,macos

How to Setup your MacOS for Laravel Development?

Congratulations on your recent purchase of a MacBook!

Sep 24, 2022go, tutorial

How to Handling Error in go?

Error handling is critical in any program you write or in any programming language you use.

Sep 22, 2022

Basic PostgreSQL Query for Beginner

The first thing you need to learn when learning PostgreSQL is how to create databases, tables, browse data, update data, and even delete data using statements.

Sep 14, 2022golang

Understanding Golang Concurency

Golang's main selling point is that it manages multiple processes to speed up programs created in the language.

Sep 12, 2022javascript

How to Format String in Javascript?

Here is how you can format string in Javascript!

Aug 3, 2022go,tutorial

Golang http client and server Tutorial

Most of the time when you are writing a software with golang you will need to write code for http client or server.

Jul 9, 2022job,work

How to get a job in Start Up industry?

A couple weeks ago I have a little chat with a friend of mine.

Apr 12, 2022next.js, mdbook, wiki

Building Personal Wiki on Next.js using mdbook

For the last couple of week I have been moving all my notes and bookmark to this blog.

Apr 4, 2022shell, rust, golang, bash

My Command-Line Utility Collections

I work with command line a lot, and I do automation a lot too.

Mar 27, 2022backend,resource-list,roadmap

Skills you Need to become a Backend Developer

If you see a job description for a backend developer, it may seem intimidating.

Mar 23, 2022rust,serde,serde_json

Rust parsing dynamic JSON

JSON is probably the most commonly used data structure.

Mar 22, 2022rust,websocket,actix-web

Web Socket for Productivity in Rust

It's likely that you will write a chat server if you are learning web sockets, but let's do something different today.

Mar 21, 2022rust,cargo

How to structure a big project in Rust

If you have been working with rust you know how easy it is to start a project with cargo.

Mar 19, 2022rust

Making a typo detection tool in Rust

If you are not native speaker and write a lot you might need this tool.

Mar 18, 2022next.js,javascript

Writing full text search in Javascript for Next.js static site

There are so many ways to create search functionality for next.js web application.

Jan 29, 2022

Journey of Building Code Search Engine

I remember two years ago I was reading some hacker news post about [grep.app](https://news.ycombinator.com/item?id=22396824) which is awesome code search which i use a lot at my daily work.

Nov 7, 2021

Note When I Learn Ruby On Rails

`Ruby on rails` is one of the best full stack web framework, laravel took a lot of inspiration from it.

Nov 4, 2021

Working with react stale state

So last week I'm working on side project called nocion which is just a clone of notion.

Nov 2, 2021

How to Git Squash Commits?

Writing a git commit can be hard, so sometimes we just write small commits and push the changes.

Oct 28, 2021

Highlighting markdown using prism in Next.js

There's a lot of option to highlighting code for your next.js application.

Oct 9, 2021

Golang enum Tutorial

Sometime you might be need to implement enumeration in your go code.

Oct 8, 2021

Chasing a Dream is Hard!

I've been looking for a new job for two months now and have applied for over fifteen companies.

Oct 6, 2021

How to convert int to string in Go?

How can you create a string from an int in Golang?

Oct 2, 2021

How to get Money from contributing to Open Source Project?

Discover platforms like Gitcoin, IssueHunt, GitHub Sponsors, Open Collective, Kickstarter, and Patreon where you can get paid for contributing to open source projects.

Oct 1, 2021

How to convert byte to string in Golang?

When working with golang you will most likely have scenario when you need to convert `byte` slice to `string`.

Sep 22, 2021

How to use CodeMirror in Nextjs?

You have two options when it comes to embedding a code editor in your nextjs application.

Sep 21, 2021

How to write cli application in Nodejs?

Javascript is created to be used in the web browser, however now we can create command line application with nodejs.

Sep 20, 2021

How to write validation in Golang?

If you just learning golang maybe it's time to write validation on your http request for your backend application.

Sep 1, 2021

The Wheel of Life: Dealing with Life's Challenges

Why is so hard to just live the life.

Aug 26, 2021

Why I always Failed?

Every step of my life, I always have something that I want to do, a little dream about my life.

Jul 14, 2021

Preparing for the Next Career

I've been preparing myself for the next step of my dream career for three weeks now.

Feb 5, 2021

Confide: Feeling so empty

I don't know why, but i always had this anxiety when i don't finish my work.

Feb 3, 2021

Getting started with SDL2 with C++

Let's setup SDL2 Development environment.

Feb 2, 2021

Redis client for nodejs application

I was given a task at work last year to integrate the redis cache for one of our microservices.

Jul 8, 2020

How to install your own git server?

Because i use jigsaw for this blog, i want to share with you how i setup the deployment of my blog.

Jul 7, 2020

I'm starting over

I am starting a new blog with this minimalist design.