Self-Hosted Chat Solutions for LLMs: Open WebUI
I have been experimenting with various Large Language Models (LLMs) for things like proof reading, code suggestions, learning Japanese using platforms like ChatGPT and Claude AI. However, I keep hitting the daily limits and I have to go to different ...
Handling Refresh Token with Next.js, Auth.js (next-auth v5) Credentials Provider, and HTTPOnly Cookie
I worked on a Next.js app that connects to a NestJS backend for authentication using an access token and a refresh token stored as HttpOnly Cookie. The main challenge is that cookies are read-only in server components; they can only be used in server...
Importing JSON data into Firestore
Code on gitlab: https://gitlab.com/test-projects47/firestore-import-json Creating a Firestore database Register for a firebase account and go to Firebase Console (https://console.firebase.google.com/) Add Project Click Continue when the project...
Displaying Dev.to Articles on your Website using Next.js
Github: https://github.com/cherylli/devto-api-nextjs codesandbox: https://codesandbox.io/p/github/cherylli/devto-api-nextjs/main We will create a basic app to pull articles from dev.to API, using next.js static site generation (SSG) and display the ...
My Chingu Experience
Week 1: Meet the Team, Choose a Project and Decide on the Stack I was put in a team with people in similar timezones. The team discord channel, github repository, and a google drive was set up for us. Two days had passed and half of my original team ...
Using Husky Pre-commit git hook with prettier
Husky allows scripts to run at various git lifecycle events. Here, we want to use the Husky pre-commit hook to run prettier to automatically format the files in the repository on commit. project setup on gitlab: https://gitlab.com/test-projects47/hu...
Using Google Fonts with Next.js (typescript)
To add a google font to an Next.js application, create a Custom Document ( _document.tsx in the pages folder), and copy from google fonts // pages/_document.tsx import Document, { DocumentContext, DocumentInitialProps, Html, Head, ...
Setup and Connect to a VPS using Windows Terminal (with SSH Keys)
Prerequisites Windows Terminal OpenSSH - Get started with OpenSSH A Virtual Private Server or a Virtual Machine running Debian Connecting to the VPS for the First Time Connect to the VPS using PuTTY, WinSCP or similar (Update 2025) Alternativel...
My Experience with chingu.io
About a year or two ago, I was introduced to chingu.io. I looked at it and they charged $30 for each voyage. I did a bit of research and people who participated think it was worth the $30 but I was skeptical. I bookmarked it and saw it a few days ago...
Setup VPS - Debian, Nginx, with subdomains
Initial Server Setup (if it's a reinstall) remove server from known_hosts in .ssh folder Create a new user and Grant access It is not a good practice to use the root account apart from the initial server setup, so we create a new user, and give i...
Displaying Your Hashnode Blog Articles on your Website
Set up the next.js App and apollo graphql client This is a very basic example, and the full code can be found here - codesandbox: https://codesandbox.io/s/hashnode-api-sandbox-xyttqf github: https://github.com/cherylli/nextjs-apollo-hashnode Crea...
Create a Modal in React
Implement a Basic Modal You can view the complete code here https://codesandbox.io/s/naughty-platform-ftyk3s First, add a div to hold the modal in public/index.html // public/index.html <div id="root"></div> <div id="modal-root"></div> The modal wa...
Convert an Existing React App to a PWA (Typescript)
I wanted to convert my existing react app to a PWA because I wanted to publish it on google play store without having to rewrite it with something like react native. To convert an existing react app to a PWA, we need A service worker A manifest file...