5 min read

Welcome to riyuner.id

Hello and welcome to my personal blog! This is my little corner of the internet where I'll be sharing thoughts, projects, and my journey through the fascinating world of software and hardware.

WelcomeIntroductionAbout

Every great journey starts with a single step. For me, this blog post is that step—a digital "Hello, World!" from my corner of the internet.

My name is Rifqi Yuner, and from my desk here in Bandung, West Java, Indonesia, I'm thrilled to finally launch this space where I can share my experiences building software and hardware systems.

What This Space Is All About

After years of working on everything from IoT devices to enterprise applications, I realized that some of the most valuable lessons come not from formal documentation, but from real stories—the kind that include both the victories and the debugging sessions that lasted until 3 AM.

A Digital Workshop

This is where I'll be tinkering with code, hardware, and everything in between. My work spans across several domains:

  • IoT Systems - Building connected devices with ESP8266 and other microcontrollers
  • Enterprise Applications - Architecting scalable Java-based systems
  • Defense Systems - Working on critical infrastructure and security solutions
  • Public Transport - Developing management platforms that serve thousands

I love diving into the mystery of how things work, taking them apart, and putting them back together—usually with some improvements along the way.

A Personal Journal

I believe the best way to learn is by doing and documenting the process. Here's what you can expect:

  1. Technical deep dives - Detailed explorations of interesting problems and solutions
  2. Real-world challenges - The bugs, the frustrations, the debugging sessions
  3. Architecture decisions - Why I chose one approach over another
  4. Lessons learned - Both from successes and failures

"The only way to learn a new programming language is by writing programs in it." - Dennis Ritchie

This quote has guided my career, and it's the philosophy behind this blog.

An Open Invitation

More than anything, I hope this blog becomes a place for connection. A space to spark conversations, exchange ideas, and learn from one another.

My Unique Perspective

I'm that engineer who loves both hardware and software—equally comfortable soldering components on a breadboard as I am architecting distributed systems. If that sounds like your kind of adventure, you're in the right place.

Technical Background

My technical journey has been diverse:

const mySkills = {
  backend: ['Java', 'Spring Boot', 'Node.js'],
  frontend: ['React', 'Next.js', 'Vue.js'],
  iot: ['Sensor', 'Arduino', 'Raspberry Pi'],
  databases: ['PostgreSQL', 'MongoDB', 'Redis'],
  cloud: ['Google Cloud', 'DigitalOcean'],
  other: ['Docker', 'Kubernetes', 'Linux']
}

Whether you're a seasoned developer looking for technical insights, a curious student eager to learn, a friend wanting to stay connected, or a tech enthusiast who loves innovation—I'm genuinely glad you're here.

What's Coming Next?

I've got a backlog of stories and technical articles to share:

  • Project Deep Dives - Detailed breakdowns of systems I've built
  • Architecture Patterns - Best practices from real-world applications
  • IoT Tutorials - Step-by-step guides for building connected devices
  • Career Reflections - Lessons learned from years in the industry
  • Tool Reviews - My thoughts on frameworks, libraries, and development tools

A Note on Writing Style

I'm aiming for a conversational tone that's technically accurate but accessible. Think of these posts as the kind of conversation we might have over coffee—informative, but not academic.

Code Examples

When I share code, I'll strive to make it:

  • Practical - Ready to use, not just theoretical
  • Explained - With context and reasoning
  • Complete - Full examples when possible

Here's a simple example of the kind of code you might see:

// A practical example of dependency injection in Spring Boot
@Service
public class UserService {
    private final UserRepository userRepository;
    private final EmailService emailService;

    // Constructor injection - my preferred approach
    public UserService(UserRepository userRepository,
                      EmailService emailService) {
        this.userRepository = userRepository;
        this.emailService = emailService;
    }

    public User registerUser(UserRegistrationDto dto) {
        User user = new User(dto.getEmail(), dto.getName());
        user = userRepository.save(user);
        emailService.sendWelcomeEmail(user);
        return user;
    }
}

Let's Connect

Grab a cup of your favorite coffee, have a look around, and let's get curious together. The journey is just getting started, and I can't wait to share it with you.

If you have questions, ideas, or just want to chat about tech, feel free to reach out. I'm always happy to connect with fellow enthusiasts.

P.S. This blog is built with Next.js and deployed on Github Pages. If you're curious about the technical details, I'll be writing about the stack in a future post!

Rifqi Yuner

Rifqi Yuner

Senior Software Engineer specializing in full-stack development, IoT solutions, and defense systems. Based in Bandung, Indonesia.

Get in touch