Overcoming Real-World Coding Challenges in Web Development
4 min read
A behind-the-scenes look at the biggest technical hurdles I’ve faced in building and optimizing my website, and how I solved them.
By Nikolina Požega
1. Introduction: Why Real-World Dev Problems Matter
Web development isn’t just about code that runs. It’s about creating sites that are fast, discoverable, and enjoyable to use. Over the past months, I’ve solved a range of technical challenges, from SEO headaches to serverless metadata generation. Here’s what I learned.
2. Serving Responsive Images with Cloudinary
Challenge: Make images crisp on all devices without slowing load times.
Solution: I integrated Cloudinary to deliver responsive images based on screen size, cutting bandwidth use and improving mobile performance without losing quality.
3. Configuring Direct Link Access on Vercel
Challenge: Getting direct links to work for SPA sections without SEO issues.
Solution: Tweaked Vercel routing, redirection, and index.html handling until both users and search engines could reach every page without errors.
4. SEO Optimization Beyond PageSpeed Scores
Challenge: Maxing out PageSpeed and Google Search Console scores but not seeing ranking jumps.
Solution: Expanded SEO efforts to include backlinks, internal linking, and fresh content by adding a blog and linking to my portfolio.
5. Fixing the Canonical Tag Issue
Challenge: SPA sections each had their own canonical URLs — flagged as an issue in PageSpeed Insights.
Solution: Kept canonical URLs only for important sections (Services, Contact), removed the rest, and paused deeper optimization until needed.
6. Reducing Load Times with Critical CSS
Challenge: Hero title font loaded slowly, creating a visible delay.
Solution: Added critical CSS and other tweaks to shave off load time. Even small gains improved perceived speed.
7. Generating Dynamic OG Tags with Serverless Functions
Challenge: Each SPA section needed unique metadata for better social sharing.
Solution: Built Vercel serverless function to dynamically generate Open Graph tags per section. Took a few days of trial and error, but now works seamlessly.
8. Debugging 404 Errors Efficiently
Challenge: Occasional 404s and misconfigurations.
Solution: Developed a clear process to identify causes quickly and fix them without guesswork.
9. Enhancing UX with Animations
Challenge: The site felt too static.
Solution: Added smooth Framer animations and a Lottie graphic to the Hero section for a more engaging first impression.
10. Hosting Fonts Locally for Better Performance
Challenge: Third-party fonts slowed LCP and could impact privacy.
Solution: Switched to self-hosted fonts, reducing layout shift and improving Largest Contentful Paint scores.
11. Adding English Translation with a Language Switch
Challenge: Make the site accessible to English-speaking users without a full domain setup.
Solution: Implemented a simple language switch to toggle between Croatian and English. Used i18next for translation. In the future, I plan to launch a dedicated .tech domain for the English version.
12. Key Takeaways for Web Developers
- Technical SEO is more than green scores — content and connections matter.
- Small performance tweaks stack up to big improvements.
- Serverless functions are powerful for dynamic, SEO-friendly content.
- Knowing when “good enough” is better than perfect keeps projects moving.
Every coding challenge was a chance to improve my skills and processes. The more problems I solved, the faster and more confident I became in tackling the next one.
🚀 Looking for someone who enjoys solving problems? Check out VibeIT, or contact me directly.
