Sign in

Ulad Ramanovich

@uramanovich.bsky.social
117 followers 52 following 195 posts

Senior Fullstack Engineer passionate about TypeScript/JavaScript ecosystems. Sharing pragmatic tech tips & exploring AI-powered development workflows. Let's build better software together! 🚀

PostsRepliesMedia
Ulad Ramanovich @uramanovich.bsky.social · 09/06/2025
Do you know the newsletter with weekly sharing what happened in the AI or Web development? I’m trying to find newsletter with analysis what happened for the last week, instead of raw links #frontend #ai #wevdevelopment #react #nodejs
000
Ulad Ramanovich @uramanovich.bsky.social · 26/04/2025
Tired of slow Jest tests? I cut my test suite time by 67% with these two simple tricks: 1. Add `maxWorkers=50%` to utilize available CPU 2. Implement `shard` to split and run tests in parallel across multiple jobs The big challenge? Collecting coverage data from separate jobs. Solution below
100
Ulad Ramanovich @uramanovich.bsky.social · 25/04/2025
Senior devs spend 20% of time on code reviews. If you don't, either you're not senior or your team culture needs rework. Good code reviews: - Catch bugs before they cause outages - Share knowledge across the team - Build better architecture through diverse perspectives
000
Ulad Ramanovich @uramanovich.bsky.social · 19/02/2025
What is your next action when you have an incident and the last PR in the list this one?
000
Ulad Ramanovich @uramanovich.bsky.social · 14/02/2025
Confusing by word 'token' when working with AI? Me too 🤔 I spent time understanding how it's calculated, here's simple math: - Token ≠ word - 1 word ≈ 1.3token - 1 tweet ≈ 35 tokens - Emojis cost extra tokens shorter words = fewer tokens = lower costs
000
Ulad Ramanovich @uramanovich.bsky.social · 12/02/2025
Skipping tests to save time? Think twice. While writing tests feels chore, the real cost hits during refactoring. Use AI for basic tests, but guide it - create mocks & define key scenarios. Keep logic simple, and review all the code produced by AI. Future you will thank you
010
Ulad Ramanovich @uramanovich.bsky.social · 11/02/2025
You're missing one primary concept when coding with AI. AI doesn't own the code, the person who approved this code is the owner of the code. AI is a tool - your expertise in reviewing, validating & owning the implementation is what matters
000
Ulad Ramanovich @uramanovich.bsky.social · 10/02/2025
1/5 How to manage database access in monorepo with NestJS? I faced this problem a few times: • Duplicated database logic • Multiple connection configurations • Inconsistent testing patterns • No clear structure Let me explain how I fixed this with the Data-Access Pattern 🧵 #NestJS #nodejs #webdevb
110
Ulad Ramanovich @uramanovich.bsky.social · 09/02/2025
🐳 Next.js Docker build tips: 1. Split into build/run stages - speeds up builds & enables layer caching 2. Use non-root user for runtime - prevents root access if app is compromised #Docker #Nextjs #Webdev
020
Ulad Ramanovich @uramanovich.bsky.social · 31/01/2025
4 ways to adapt AI for business needs: 1. Pre-training: Needs massive data, expensive 2. Prompting: Cost-effective, learn it first! 3. Fine-tuning: 1000+ examples for good results 4. RAG: Use your docs as context Start simple, scale as needed #AI #LLM
000
Ulad Ramanovich @uramanovich.bsky.social · 29/01/2025
This is env management I bring for each project. Don't rely on process.env directly - use Zod validation instead. Type-safe + clear errors = no more missing configs #TypeScript #WebDev #nodejs
030
Ulad Ramanovich @uramanovich.bsky.social · 27/01/2025
Will AI replace your job? 🤔 AI isn't replacing jobs directly - it's automating tasks. Think of it as a tool that helps process work faster, not a robot employee. Humans still handle complex cases, AI handles repetitive ones. 🤖
000
Ulad Ramanovich @uramanovich.bsky.social · 24/01/2025
The 70/30 rule of AI coding: While AI can scaffold 70% of your code, the crucial 30% requires deep engineering expertise. Best practice: Use AI as a drafting tool, maintain atomic conversations, and own your code through meaningful review. #AI #SoftwareDevelopment
70/30 AI Engineering Rule
000
Ulad Ramanovich @uramanovich.bsky.social · 22/01/2025
🎨 Building new website? Here's a harsh truth: Most projects fail not because of dev speed, but waiting for "perfect design" Quick win: - Ship minimal design in 2 weeks - Test with real users - Iterate based on feedback Stop guessing what users want. #buildinpublic
020
Ulad Ramanovich @uramanovich.bsky.social · 21/01/2025
Post-interview clarity hit me hard today 💡 Spent 2 weeks learning algorithms, only to get asked about building an actual product feature. Classic over-preparation for the wrong battle. Lesson: Always check type of interview you're participating. The interview format tells you what you need to know
000
Ulad Ramanovich @uramanovich.bsky.social · 20/01/2025
Multiple tabs sending same requests? Been there 🔧 Solution: Leader Election pattern! - Tabs form a team - Pick ONE leader tab - Only leader makes API calls - If leader closes, new one steps up Used broadcast-channel lib. Now instead of 5 requests → just 1 #frontend #javascript
100
Ulad Ramanovich @uramanovich.bsky.social · 20/01/2025
Multiple tabs sending same requests? Been there 🔧 Solution: Leader Election pattern! - Tabs form a team - Pick ONE leader tab - Only leader makes API calls - If leader closes, new one steps up Used broadcast-channel lib. Now instead of 5 requests → just 1 #frontend #javascript
000
Ulad Ramanovich @uramanovich.bsky.social · 18/01/2025
React's Virtual DOM Explained: Instead of updating the webpage directly, React uses a lightweight copy (Virtual DOM). Changes? React: 1. Updates copy 2. Compares versions 3. Updates only what's needed That's why React is fast ⚡️ #ReactJS #frontend
010
Ulad Ramanovich @uramanovich.bsky.social · 07/01/2025
Discovered today Docker Compose profiles and was surprised. Instead of juggling multiple docker-compose files for prod/dev/test, just add "profiles: [dev]" to your services and run: docker compose --profile dev up Perfect for managing different environments in a single file! #docker
000
Ulad Ramanovich @uramanovich.bsky.social · 07/01/2025
Tired of TypeScript being "stupid" with filter()? When you filter out undefined, does TS still think they might be there? 🪄 Magic solution: Add "is" type check! #typescript #webdev
140
Ulad Ramanovich @uramanovich.bsky.social · 01/01/2025
I prefer Claude over ChatGPT for both its superior code assistance and projects feature (Claude Pro). With projects, you can create custom prompts with specific output requirements - perfect for recurring tasks like architecture planning or article title generation
000
Ulad Ramanovich @uramanovich.bsky.social · 30/12/2024
Why didn't I know about this must-read React document for so long? Just found the Rules of React. You should follow them to simplify updates for the newest version of React and support the React compiler in future releases. react.dev/reference/ru...
react.dev
Rules of React – React
The library for web and native user interfaces
100
Ulad Ramanovich @uramanovich.bsky.social · 19/12/2024
🤖 AI & Engineering Growth AI speed up Senior Engineers but can hurt Juniors. And when non-engineers use AI for coding? Recipe for disaster. Pro tip: Before hitting Senior level, use AI to learn, not just copy/paste. Understanding > shortcuts.
110
Ulad Ramanovich @uramanovich.bsky.social · 19/12/2024
🔄 Solved my NestJS DB headaches by creating a Data Access module - a dedicated layer that handles all database operations, migrations, and models. It manages both Postgres & MongoDB, centralizes connections, and makes testing easy. Writing an article to share my complete setup! 📝
000
Ulad Ramanovich @uramanovich.bsky.social · 17/12/2024
Using AI for coding? Great tool if you know what you're doing! But here's the catch: always write tests. AI can miss edge cases you won't spot when code gets complex. E2E testing is ideal, but even unit tests will save you from countless bugs. Test everything you generate 🤖✅
100
Reposted by Ulad Ramanovich
Matt Pocock @mattpocock.com · 17/12/2024
TSConfigs aren't that hard. They're basically just 2 if/else statements in a trenchcoat. More info: www.totaltypescript.com/tsconfig-che...
1215514
Ulad Ramanovich @uramanovich.bsky.social · 09/12/2024
🔍 NextJS SEO Pro Tip: Use next-sitemap to generate sitemaps automatically! Sitemaps help crawler bots navigate your site efficiently, especially crucial for dynamic content. They show content update timestamps, helping faster reindexing. Perfect for sites with multiple pages #buildinpublic #webdev
060
Ulad Ramanovich @uramanovich.bsky.social · 08/12/2024
Which tools do you use for video editing for a platforms like BlueSky? I want to create short video with presenting my code. I use only QuickTime Player now #buildinpublic
110
Ulad Ramanovich @uramanovich.bsky.social · 08/12/2024
Building mobile app? Pro tip: Add a hidden dev mode for App Store reviews and testing Implement a secret tap combo in a corner, show a dev mode indicator, and add debug controls. Makes testing simple for reviewers, plus helps verify features work 🔍 Here is how I did this 🧵 #buildinpublic #swiftui
Screenshot Home page with dev mode enabled
211
Reposted by Ulad Ramanovich
Kent C. Dodds 🌌 @kentcdodds.com · 06/12/2024
The Epic Programming Principles: the guide I use to make decisions as a software engineer. Transcending specific tools or frameworks, these principles will help you guide your career, craft, and technical choices. See details and examples for each principle here: www.epicweb.dev/principles 📖
The Epic Programming Principles Cheat Sheet. A summary of all the principles
2030566
Reposted by Ulad Ramanovich
React @react.dev · 05/12/2024
React v19 is now stable! react.dev/blog/2024/12...
react.dev
React v19 – React
The library for web and native user interfaces
321279340
Ulad Ramanovich @uramanovich.bsky.social · 05/12/2024
Just published my guide on building robust error handling in React! After 7 years of frontend development, I've created a three-step system that transforms messy error handling into a clean, type-safe solution. Learn how to handle API errors and other issues elegantly: medium.com/p/161e79f43ac0
medium.com
The Art of Clear Errors: 3 Steps to Build Robust React Error Handling
Create a type-safe error handling system for React apps with custom errors and clear user feedback.
010
Ulad Ramanovich @uramanovich.bsky.social · 04/12/2024
Built a real-time iOS game with SwiftUI & Nest.js in just 7 days. The biggest challenge of solo development? No one to discuss ideas or review code with. That's where AI stepped in - not to build for me but as my assistant. It enhanced my productivity and helped ship faster. 🚀
010
Ulad Ramanovich @uramanovich.bsky.social · 03/12/2024
🎮 Wrapped up 7 intense days building "Spot the Stranger" - party game where players find outsider who doesn't know the secret profession! Completed core features: lobbies, gameplay, scoring & real-time communication. All while working full-time! Next stop: Bug fixing and App Store 🚀 #buildinpublic
210
Ulad Ramanovich @uramanovich.bsky.social · 30/11/2024
🎮 Spot the Stranger - Day 6/7 Added new mechanics after testing: The Stranger can now win by guessing the profession. Making Citizens think twice about their questions! Also, a new voting system is in place to catch the Stranger. #buildinpublic
120
Reposted by Ulad Ramanovich
Edwin Kys @edwinkys.com · 25/11/2024
I finally created my first starter pack for #buildinpublic #indiehacker and #founder who are building tools related to AI and LLM. If you are building AI stuff, I'd be happy to include you in 😁 💡 Share what you're building in the comment 🧡 Like and repost for visibility go.bsky.app/UcofkF4
334419
Ulad Ramanovich @uramanovich.bsky.social · 28/11/2024
Just discovered raycast app for mac - perfect tool for window management and running commands 👀 Beautiful UI that lets you run commands without memorizing shortcuts. Replaced my skhd + yabai setup, and it's as simple as installing from brew.
010
Ulad Ramanovich @uramanovich.bsky.social · 28/11/2024
🔄 Building game server with Notion CMS? Here's a neat stack: • Notion DB as content source • Redis caching for blazing fast reads • NestJS server to sync & serve data Flow: Notion -> Redis -> Game Super low latency by running sync command to update Redis cache. Solution in 🧵
330
Ulad Ramanovich @uramanovich.bsky.social · 27/11/2024
🎮 Spot the Stranger - Day 5/7 • Completed game page design and added random location selection. • Integrated with Notion DB for location management - no more hardcoding! 🚀 Making it easier to add new fun locations for players 🎯 #SwiftUI #buildinpublic
020
Ulad Ramanovich @uramanovich.bsky.social · 27/11/2024
🎮 Spot the Stranger - Day 4/7 - Designed and implemented lobby page where players can gather! - Now you can see who's connected and ready to play 🎉 - Did some cleanup of SwiftUI code to move forward faster 💪 #SwiftUI #buildinpublic
000
Ulad Ramanovich @uramanovich.bsky.social · 26/11/2024
Which analytics you normally use for small web projects? My initial ideas was Google Analytics or Mixpanel, but with both i had not the best experience #webdev #buildinpublic
220
Ulad Ramanovich @uramanovich.bsky.social · 25/11/2024
📝 Day 3/7: Game dev journey! Made the UI shine today! - Created animated splash screen - Designed a clean home page - Built out the lobby creation system Next: Designing the lobby, implementing waiting states, and building the pre-game logic! Each piece gets us closer to launch 🚀 #buildinpublic
240
Ulad Ramanovich @uramanovich.bsky.social · 25/11/2024
Still haven't memorized your IDE shortcuts? Can't blame you - apparently you need to be an octopus to hit CMD + Shift + F + F12 + L + } just to open a simple sidebar. Meanwhile in Neovim + LazyVim: 'Press `space + e` and you're done
110
Ulad Ramanovich @uramanovich.bsky.social · 24/11/2024
📝 Day 2: Game dev journey! Made solid progress on Spot the Stranger today! 🏁 - Implemented real-time multiplayer lobbies where players can gather before starting a round. - Added a game timer to keep rounds moving. Next: polishing the design and custom game settings 🚀 #buildinpublic #gamedev
150
Ulad Ramanovich @uramanovich.bsky.social · 23/11/2024
📝 Day 1: Starting my game dev journey! Just started development of "Spot The Stranger" - a party game where players try to find the Stranger! 🎮 Today's progress: - Built server with NestJS lobby system - SwiftUI prototype for lobbies (4-7 players) 🎮 - Setup realtime Socket IO communication
Screen shoot of prototype of the lobby for game
060
Ulad Ramanovich @uramanovich.bsky.social · 23/11/2024
Hidden Truths of Software Development: - Tech skills are only half the equation - Managing expectations > meeting deadlines - There are no perfect solutions — only trade-offs that work for your situation Took me 9 years of coding to learn these truths 🫠
030
Ulad Ramanovich @uramanovich.bsky.social · 22/11/2024
📝 Day 0: Planning Phase - iOS Multiplayer Game Before diving into code, spent time on architecture. Client (iOS/SwiftUI) ←→ Server (NestJS) communication flow: - Socket.IO for real-time updates - Event-based architecture Starting coding tomorrow! 🚀 Here's how communication will work:
diagram about client-serve communication with socker io
120
Ulad Ramanovich @uramanovich.bsky.social · 22/11/2024
🎮 7-Day iOS Game Challenge! Building a multiplayer game in public: iOS frontend: SwiftUI Backend: NestJS Real-time comms: Socket.IO While also working on my French Immigration Guide project 🇫🇷 Two projects, double the fun! Follow my daily builds & learnings - starting tomorrow 💪
000
Ulad Ramanovich @uramanovich.bsky.social · 21/11/2024
One of the best system design guides for your next interview! It helped me land my job: github.com/donnemartin/...
github.com
GitHub - donnemartin/system-design-primer: Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards. - donnemartin/system-design-primer
020
Ulad Ramanovich @uramanovich.bsky.social · 20/11/2024
Day 3 of 🇫🇷 French Immigration Guide build: Shipped: - Notion → Frontend data mapping 🔄 - Articles grid w/ shadcn cards - Adapt Notion DB with draft states 🧠 TIL: Good data mapping = less complexity headaches Here's how we map: #buildinpublic
010