RSSAmplifier

Blog

Baransel Arslan - Web Development Tips & Tutorials

Recent content on Baransel Arslan - Web Development Tips & Tutorials

baransel.devRSS feed ↗245 posts

Latest posts

How I Decide If a Bug Is Worth Fixing Right Now

I used to fix every bug the second I saw it. If something looked wrong, I stopped everything and chased it. No matter how small it was. A typo in a label. A weird edge case. A button that only broke if you clicked it in a very specific way. I thought that meant I cared about quality. Mostly it meant I kept interrupting myself for stuff that didn’t matter yet.

The Hidden Cost of One More Feature

I used to tell myself one more feature was nothing. Just one more button. One more filter. One more settings page. It always felt small in the moment, and then a week later I was staring at a project that had somehow turned into a pile of half-finished ideas. The annoying part is that the feature itself usually wasn’t the problem. It was the ripple effect. More state. More edge cases.

Why Your Solana RPC Keeps Rate-Limiting You

Everything I’ve ever built on Solana went through the same phase. Works on my machine. Works in testing. Then it does something real, and suddenly it’s drowning in 429 Too Many Requests and half my calls are failing. The default reaction is “the free RPC is bad, I need to pay for one.” Sometimes true. But most of the time I was getting throttled because of how I was calling…

Hooking Claude Code Up to Real Tools with MCP

For a long time my Claude Code sessions were a lot of copy-paste. It’d ask what a database table looked like, and I’d paste the schema. It’d want to know what an issue said, and I’d paste the ticket. It could read my code perfectly but it was blind to everything around the code. MCP fixed that. It’s the thing that lets Claude Code reach out to your actual database,…

Graceful Shutdown in Node.js: The Part Everyone Skips

Nobody writes graceful shutdown until it bites them. I didn’t. My app handled requests fine, my code was clean, and I never once thought about what happens when the process gets told to stop. Then we moved to rolling deploys, and every deploy started dropping a handful of requests. Users saw random errors for about ten seconds every time we shipped. The code was correct. The shutdown was…

Solana Priority Fees: Why Your Transactions Keep Failing

The first time I shipped a Solana bot to mainnet, it worked great in my tests and then landed maybe half its transactions in production. No error I could act on. Just “Transaction was not confirmed” and a lot of confusion. The problem was priority fees, or rather my complete lack of them. If you’re building anything on Solana that has to land during real network activity, this is…

The CLAUDE.md Setup That Made Claude Code Actually Useful

For the first few weeks I used Claude Code, I kept correcting the same things. “We use pnpm, not npm.” “Tests go next to the file, not in a __tests__ folder.” “Don’t add comments explaining what the code does.” Every session. Same corrections. Like onboarding a new hire who forgets everything overnight. Then I actually read the docs and set up a CLAUDE.md…

The Claude Code Hooks That Actually Changed How I Work

I wrote a while back about the slash commands I can’t live without. Those are great, but they share one weakness: you have to remember to run them. A slash command you forget is a slash command that does nothing. Hooks don’t have that problem. A hook is a shell command that fires automatically on an event. Before a tool runs. After a file gets edited. When you submit a prompt.

Caching in Node.js: When In-Memory Beats Redis

The first thing people do when something’s slow is add a cache. The second thing they do is add Redis. I’ve watched teams spin up a whole Redis instance to cache a config object that changes once a day and fits in a kilobyte. You don’t always need Redis. Sometimes a plain Map in your process is faster, simpler, and one fewer thing that can page you at 3am. The trick is knowing…

I Let Claude Code Review Its Own PRs for a Month and Here's What Happened

I had a suspicion that I was using Claude Code wrong. I’d let it write code all day, then push the PR and wait for a teammate to find the obvious stuff. The bug I’d have caught myself if I’d read my own diff slower. So I made a rule for a month. Every PR I opened got reviewed by Claude Code first. Before I asked a human. Before I even read it myself the second time.

OneKey Classic 1S Review (vs Ledger) — My Honest Take After 7 Years

I’ve been in crypto for seven years. Same Ledger Nano S the whole time. Hardware wallets are one of those things where if it works, you don’t touch it. Mine works. I wasn’t looking to switch. Then OneKey emailed me, said they’d found this blog, and sent me a Classic 1S to actually use. I said yes because I was curious, not because I was sold. Full disclosure: OneKey sent…

Streaming from Node.js to React with Server-Sent Events

I reached for WebSockets the first three times I needed to stream data from a server to the browser. Every time I regretted it. WebSockets are bidirectional, which is great when you need bidirectional, and a pain when you don’t. Most of the time I didn’t. What I actually needed was “the server pushes updates to the browser, the browser just listens.” That’s…

The Claude Code Slash Commands I Can't Live Without

For months I typed the same prompts into Claude Code. “Review my staged changes for security issues.” “Write a commit message from the diff, focus on why not what.” “Summarize the last 5 commits in plain English.” Over and over. I even had them in a notes file that I’d copy-paste from. Then I finally set up slash commands properly and felt stupid for…

I Built a Rate Limiter in Node.js and Here's What I Got Wrong

A rate limiter is one of those things that looks easy on paper. Count requests per user, block them if they go over, reset after a minute. That’s it. Then I actually shipped one to production and within a week I’d found three different ways I’d gotten it wrong. Not bugs exactly. More like “this works until it doesn’t, and when it doesn’t, you find out at the…

React Server Components: What They Actually Change in Your Code

I’ve read about a dozen articles on React Server Components and most of them feel the same. They explain the mental model, draw a diagram, say something about “reducing bundle size,” and move on. Then you open your editor to actually use them and realize nobody told you the stuff that matters. This is the stuff that matters. The parts of your code that actually change. The weird…

How I Use Claude Code Subagents to Parallelize My Work

For a long time I used Claude Code the obvious way. One session. One task at a time. Type something, wait, read the output, type the next thing. It felt productive because I was shipping, but I kept hitting the same wall: most of the day, I was waiting. Then I started using subagents properly and it stopped feeling like waiting. It started feeling like I had three or four junior devs all doing…

Create a Crypto Subscription Service with Solana Pay

I tried to sell access to a trading signals group last year. Nothing fancy — just a monthly fee for entry to a private Telegram channel. I set up Stripe, submitted my business info, and within 48 hours got the dreaded email: “Your account has been restricted due to prohibited business activity.” Crypto-related products are a nightmare with traditional payment processors. So I built my…

The Claude Code Prompts I Use Every Day as a Developer

I spent my first month with Claude Code getting mediocre results. I’d type something vague, get something vague back, and then blame the tool. Turns out the tool was fine. My prompts were garbage. Most developers use Claude Code like a search engine. They type “fix this bug” or “add authentication” and wonder why the output misses the mark. But Claude Code isn’t…

Build a Solana NFT Mint Bot That Snipes Drops

I missed a drop I’d been waiting three weeks for. The website crashed the second minting went live. By the time I refreshed enough to get through, sold out. 8,000 NFTs gone in under 90 seconds. Floor hit 5x mint cost within an hour. So I stopped relying on frontends. I built a bot that mints directly on-chain — no website, no UI, no clicking. Just a script that fires a transaction the…

How I Use Claude Code to Ship Side Projects 10x Faster

I’ve got a graveyard of unfinished side projects. You probably do too. A habit tracker that never got past the database schema. A bookmark manager that lived as a half-built API for six months. A portfolio site I redesigned three times and never deployed. The ideas weren’t the problem. I had plenty of those. The bottleneck was always the boring stuff. Setting up auth. Writing CRUD…

How to Earn SOL Running a Solana Validator as a Side Business

I kept seeing people on Twitter talk about running Solana validators like it’s some kind of money printer. “Just run a validator and earn SOL.” So I spent a couple months researching the actual numbers, talking to operators, and running some of the infrastructure myself. The reality is way more nuanced than the hype. It can work as a side business, but most people underestimate…

Build a Solana Telegram Trading Bot Like BONKbot

I kept seeing BONKbot numbers on Dune dashboards. Millions in daily volume. Thousands of users buying and selling memecoins through a Telegram chat. No website, no app, just a bot. I had to figure out how this thing works under the hood. So I built one. It took me a weekend to get the core working, and honestly, the code isn’t that complicated. The architecture is straightforward: Telegram…

Solana On-Chain Analytics Dashboard with Next.js

I was paying $200/month for a Solana analytics tool that gave me the same data everyone else had. Same dashboards, same metrics, same delayed insights. Then I realized most of this data is sitting right there on-chain, free, waiting to be queried. So I built my own. It took a weekend to get the first version running, and now I have analytics that nobody else sees. That’s the whole point.

I Replaced My Entire Dev Workflow with Claude Code

A month ago I made a decision that felt reckless. I’d stop doing things the way I’d done them for years and run everything through Claude Code. Debugging, writing features, refactoring, tests, git commits — all of it. Not as a side experiment. As my actual workflow. I figured I’d either save a ton of time or waste a ton of time. Either way, I’d have a real answer instead of…

Track Smart Money on Solana — Build Your Own Wallet Analyzer

I spent way too long following “alpha” accounts on Twitter. They’d post screenshots of 100x trades, and I’d ape into whatever they mentioned. The result? I lost money consistently. The problem wasn’t the tokens. It was that I had no idea whether these people were actually profitable. A screenshot of one winning trade means nothing if they lost money on the other 50.…

Build a Solana Token Launch Platform from Scratch

I watched pump.fun pull in millions of dollars in fees. Millions. For what? Letting people create tokens and add liquidity. That’s it. I sat there thinking “I can build this myself.” So I did. The whole thing took me about a week. The core infrastructure is shockingly simple. Create a token, slap some metadata on it, spin up a liquidity pool, collect a fee. That’s the…

Claude Code Tips That Actually Save Me Hours Every Day

I’ll be honest — when I first started using Claude Code, I was using it completely wrong. I’d open it up, paste a chunk of code, ask a question, copy the answer back into my editor, and repeat. Basically treating it like a fancy ChatGPT with a terminal skin. It worked, but it was slow. I was doing all the heavy lifting myself, and Claude Code was just… there. It took me a few…

Create a Paid Solana API Service with Express and SOL Payments

I spent two weeks integrating Stripe into a crypto data API. Two weeks of webhook hell, subscription logic, and fighting with their dashboard. Then my first user asked: “Can I just pay in SOL?” That’s when it clicked. I’m building tools for crypto people. They already have wallets full of SOL. Why am I forcing them through traditional payment rails? So I ripped out Stripe…

Build a Solana Liquidation Bot That Actually Makes Money

I was poking around Solana Explorer one night, tracing some transactions on Marginfi, and I noticed something weird. Someone was making 5-8% returns on single transactions, over and over. Not trading. Not arbitrage. They were liquidating underwater lending positions and pocketing the bonus. I’d heard of liquidation bots on Ethereum. I figured Solana’s space was too competitive. Turns…

Automate Solana Yield Farming with Jupiter and Raydium

I was logging into Raydium every single morning, clicking “Harvest,” swapping half the rewards on Jupiter, adding liquidity, and staking the LP tokens again. Every. Single. Day. It took about 10 minutes each time. Not terrible, but I missed days. Weekends especially. And every missed day meant rewards sitting there doing nothing instead of compounding. So I wrote a script to do it all…

I Built a Solana MEV Bot — Here's What I Learned

A few months ago I swapped some SOL for a token on Jupiter. Nothing unusual. But when I checked the transaction on Solscan, there were two other transactions sandwiching mine — one right before, one right after, same token, same block. I’d been sandwiched. I wasn’t even mad. I was curious. How did they do that? Solana doesn’t have a public mempool like Ethereum. So how did…

Build a Solana Copy Trading Bot That Mirrors Whale Wallets

I kept seeing the same thing on Solana. Some wallets would buy a token early, ride it up 10x, and sell before the dump. Over and over. Not once or twice — consistently. So I thought: what if I just copied them? Not manually refreshing Solscan like some degenerate. An actual bot that watches their wallet, detects a swap, and mirrors it on mine within seconds. I built it. It works.

Arbitrage on Solana: Find Price Gaps Between DEXs with Node.js

I was watching a SOL/USDC pool on Raydium one night when I noticed the price was about 0.3% higher than what Orca was showing. It lasted maybe 8 seconds. By the time I opened a second tab, it was gone. That got me obsessed. I spent the next two weeks building a scanner that watches multiple DEXs at once and flags price gaps in real time. I didn’t get rich. But I learned more about how Solana…

Build a Solana Price Alert Bot in 50 Lines of TypeScript

I was watching a token on Solana and kept refreshing DEXScreener like an idiot. Every few minutes, tab switch, refresh, check the price, go back to what I was doing. After an hour of that, I thought — I’m a developer. Why am I doing this manually? So I wrote a bot. It took 20 minutes and it’s under 50 lines. Here it is. The Full Bot import { Connection, PublicKey } from '@solana/web3.

How to Decode Solana Program Logs Like a Pro

Every Solana transaction comes with program logs. Most people ignore them. I used to be one of those people. Then I needed to figure out why a swap failed, and the only useful information was buried in the logs. After that, I started treating logs as the primary debugging tool on Solana. Not Solana Explorer. Not the raw transaction JSON. The logs. Here’s everything I’ve learned about…

Build a Solana Token Sniper Bot with JavaScript

I’ll be honest — my first sniper bot was terrible. It missed every launch by at least 10 blocks, and when it did buy, the slippage ate me alive. But after rewriting it three times, I got something that actually works. It detects new Raydium liquidity pools, checks basic safety signals, and executes a buy — all within a few seconds of pool creation. I’m not going to pretend this will…

Monitor Any Solana Wallet in Real-Time with Node.js

I spent way too long polling getSignaturesForAddress in a loop. Every 3 seconds, hitting the RPC, checking if there’s a new transaction. It worked, but it was ugly and slow. Then I found out you can just subscribe to account changes over WebSocket. No polling. No wasted requests. You get notified the moment something happens. Here’s exactly how I do it now. 1. Set Up a WebSocket…

I Built a Pomodoro App. Here's Why.

I’ve tried every Pomodoro app out there. Seriously. Forest, Focus Keeper, Be Focused, random ones with 4.8 stars and 12 reviews. They all did the same thing — a timer that counts down from 25 minutes. Some of them did it with trees. Some with pixel art. Some with way too many settings. None of them felt right. So I built my own. It’s called Foku, and it’s now live on the App…

Database Indexing Explained With Real PostgreSQL Examples

I ignored database indexing for way too long. My queries worked fine in development with 100 rows. Then production hit a few thousand rows and suddenly everything was slow. A page that loaded in 200ms now took 3 seconds. The fix was almost always the same: add an index. But I also learned that indexes aren’t free. Add too many and your writes slow down. Add the wrong ones and they sit there…

WebSockets in Node.js — A Practical Guide

Most web apps work fine with regular HTTP requests. Client asks for something, server responds, done. But sometimes you need the server to push data to the client without being asked. Live notifications, chat messages, real-time dashboards, collaborative editing. That’s where WebSockets come in. I avoided WebSockets for a long time because they seemed complicated. Persistent connections,…

Authentication in Next.js Without Overcomplicating It

Authentication is one of those things that should be simple but somehow never is. Every time I start a new Next.js project, I spend way too long deciding between NextAuth, Clerk, Auth0, Supabase Auth, or just rolling my own. For most of my projects I ended up rolling my own. Not because I think I’m smarter than the library authors, but because the libraries kept adding complexity I…

Prisma Tips I Wish I Knew From the Start

I switched to Prisma about two years ago and it immediately felt like the right choice. Type-safe queries, auto-generated types, easy migrations. Compared to writing raw SQL or fighting with other ORMs, it was a huge improvement. But I also made a bunch of mistakes early on that cost me hours of debugging. Some were obvious in hindsight, some were things the docs don’t emphasize enough.…

Writing Custom React Hooks That Actually Make Sense

Custom hooks confused me for a long time. I knew they existed. I knew they started with use. But every tutorial showed the same useless useCounter example and I never saw the point. Then I started building real apps and kept copy-pasting the same logic between components. Debounce logic here, localStorage sync there, the same fetch-loading-error pattern everywhere. That’s when custom hooks…

Zod Is the Best Thing That Happened to My TypeScript Code

I spent years writing TypeScript and still had runtime errors caused by bad data. Types are great at compile time but they completely disappear at runtime. Your API could return anything, a form could submit garbage, and TypeScript wouldn’t save you. So I wrote manual validation everywhere. if (!data.email) checks, typeof guards, nested conditions that made my code twice as long as it needed…

How I Structure Next.js Projects Without Losing My Mind

Every Next.js project I built used to end up the same way. Fifty files in the root, components scattered everywhere, and me spending more time finding things than building them. The App Router made it worse at first because suddenly you had page.tsx, layout.tsx, loading.tsx, and error.tsx files everywhere. My project looked organized on the surface but I couldn’t find anything when I needed…

Debugging is a Skill, Not a Talent

I used to think some developers were just naturally good at debugging. Like they had some kind of instinct for finding bugs that I didn’t have. They’d look at a broken feature, ask two questions, and find the problem in minutes while I was still adding console.log statements everywhere hoping something would make sense. It took me a while to realize that debugging is a process, not a…

Building APIs That Don't Make You Want to Quit

I’ve built a lot of APIs and I’ve also consumed a lot of terrible ones. The kind where every endpoint returns a different structure. Where error messages say “something went wrong” with no details. Where you need to read the source code to figure out what query parameters are supported. After enough pain on both sides, I started following a few patterns that keep things…

Lessons I Learned From Reading Other People's Code

Nobody really tells you to read other people’s code. Every learning resource is about writing code. Tutorials, courses, bootcamps, they all focus on output. Build this. Code that. Ship something. But some of the biggest improvements in how I write code came from reading code that other people wrote. Open source projects, coworkers' pull requests, even random repos I found on GitHub while…

The Stack I Use for Every New Project in 2026

Every year I see those “ultimate tech stack” posts and they always feel like someone listing every shiny tool they read about on Twitter. So instead of doing that, I want to share what I actually use when I start a new project. Not what I think is cool. What I reach for every time because it works and I trust it. This isn’t going to be the right stack for everyone.

How I Stay Productive as a Solo Developer

Working alone is great until you realize nobody is going to tell you what to do next. No standup. No sprint board someone else filled in. No manager pinging you on Slack asking for an update. It’s just you, your editor, and a list of things that somehow keeps growing. I’ve been working solo on projects for a while now, and I won’t pretend I have it all figured out. But I’ve…