Wednesday, November 12, 2025

A Glimpse of Autumn

Một thoáng mùa thu

Hoa rơi vô tình, lòng người hữu ý,
Vạn vật tương sinh, tâm người vướng mắc.
Gió thoảng hương bay, vốn là duyên hợp,
Góc nhìn mộc mạc, hoa chỉ là hoa.

Người giữa trần gian, đi tìm hạnh phúc,
Nào hay hạnh phúc, ở chính tâm mình.
Giữa cõi vô thường, thấy cõi an nhiên.
Một thoáng nhìn hoa, lòng dần tĩnh lặng. 
-- Phi Nguyen



A Glimpse of Autumn

The flower falls, unfeeling, the heart still clings,
All things arise — and mind entangled within.
Fragrance drifts on wind, merely a passing bond,
Through simple eyes — the flower’s just a flower.

Amid the world, one seeks for joy and peace,
Unaware that joy abides within the heart.
In fleeting change, one glimpses serenity,
And in that sight — the mind grows still and calm.
-- Phi Nguyen

(Translated by ChatGPT)

Humans keep searching for happiness amidst the ever-changing world, yet the more they seek, the deeper they sink into entanglement.
When the mind rests and sees things as they are, a flower as a flower, the wind as mere wind - impermanence no longer brings sorrow.
In that instant of true seeing, calm arises naturally, and one discovers that peace was never elsewhere but always within.

Wednesday, October 29, 2025

Golden Blossoms, Silent Wind


Hoa vàng và gió lặng

Mai nở vô tâm giữa núi rừng,
Người nhìn hữu ý hóa thương yêu.
Một khi lặng ngắm, không còn “đẹp”,
Chỉ thấy hoa vàng… gió lặng phiêu.
— Phi Nguyen

Golden Blossoms, Silent Wind

The golden blossom blooms with an unbound heart,
The watcher’s gaze turns love, a work of art.
When one looks in stillness, “beauty” fades,
Only golden petals… in silent wind are made.
— Phi Nguyen (translated to English by ChatGPT)

In the quiet heart of the mountains, a golden blossom gently unfolds.
No eyes to admire, no words to praise, no need to be known.
It blooms like the breath of the earth — effortless, natural, as if existence itself were already complete.

“Cũng giống như bông hoa nở trong rừng sâu, chẳng ai biết đến hương thơm, chẳng được ai chiêm ngưỡng, nhìn ngắm và khen nó ‘Đẹp đấy!’, nhưng bông hoa không chết, không đau khổ, cũng không sợ hãi, hoang mang, mà ngược lại nó cứ đơn giản tỏa hương theo gió.”
— Thích Tánh Tuệ

“Like a flower blooming deep in the forest — no one knows its fragrance, no one admires or praises it ‘Beautiful!’ — yet it does not die, does not suffer, nor does it fear or doubt. It simply lets its scent drift with the wind.”

— Thich Tanh Tue (translated to English by ChatGPT)

Yet when the mind begins to divide — looking with worldly eyes and the intent to possess, the blossom suddenly wears what we call “beauty.”
That beauty does not belong to the flower; it arises from human desire, from the wish to own and to keep.
Thus, form becomes the bait of craving; we love, we want, we cling.
And in that very moment, the flower ceases to be itself — only a reflection born of thought, no longer in its natural being.

But when the mind grows still, when there is no division between self and other, beautiful and ugly — we simply stop and feel, without searching, without naming what is before us.
Then the blossom returns to its true nature — born of the earth, sustained by the sky, within the silent harmony of creation.
No longer beautiful or ugly, no longer “me” or “flower” — only the pure presence of non-self, the interbeing of all things.
In that stillness, we see ourselves within the flower — a beauty untainted by grasping; the mind weightless, and all forms quietly dissolve.

And then, the flower is still yellow, and the wind remains still.
Nothing has changed — only that we no longer gaze with the eyes of desire.
In that quiet moment, all notions of beauty and loss dissolve into stillness.
The blossom is simply there — as it always was, as it always will be.
With a single breath, we return — to the place where the blossoms are golden, the wind is silent, and the heart unmoving.

Monday, September 8, 2025

The Seed of Ignorance

 People often don’t realize that they are repeating the same fears passed down through generations: fear of loss, fear of scarcity, fear of abandonment, fear of rejection, fear of not being allowed to be themselves. Whenever something unpleasant happens, that seed awakens, stirring restlessness within, pushing us to cling, to grasp, to blame… Many believe this is just their “personality,” but in truth, it is only the seed of ignorance lying dormant in the depths of consciousness.



  • When the seed grows in the absence of light
    The seed of ignorance is not inherently evil; it is simply a potential. But in the absence of the light of understanding, it becomes the root of suffering:

Fear of loss leads to more grasping.
Fear of suffering leads to more avoidance.
Fear of non-existence leads to the assertion of “self,” causing harm to others.

  • When the seed meets the light of understanding
    The light is not something mystical. It may be the moment you realize you are afraid, a brief courage to face the truth, or a quiet listening without judgment. When illuminated, the seed of ignorance has a chance to sprout in a different way:

Fear of loss transforms into appreciation.
Fear of suffering transforms into compassion.
Fear of non-existence transforms into a sense of connection with all beings.

Conclusion

The seed of ignorance is always present within each of us. But it does not condemn us to suffering. With just a little light—of understanding, compassion, or stillness—that seed can be transformed into a tender sprout of wisdom and love.

Monday, April 21, 2025

Episode 4: Seeing suffering for What it is

Before mindfulness, before understanding, there was just pain.

Not physical pain — but the quiet suffering of wanting things to be different.

I remember reading the Four Noble Truths for the first time. At first, I didn’t understand them. Why would life be suffering? Isn’t life supposed to be joyful — filled with birthdays, weddings, achievements?

“We celebrate life’s beginnings, yet few ask why we suffer along the way.”



But the more I looked at my own experiences, the more it made sense.

We suffer not just because life is hard, but because we resist what is happening. We believe that we — or the world — should be some other way.

We chase happiness, success, love, approval — and when we don’t get them, we feel something is wrong.

But the truth is, things are always changing. Nothing stays the same. And when we hold on, we hurt.

That was the first noble truth: There is suffering.

Not as a punishment. Not as a flaw. But as a reality.

And that changed how I saw my past, my fears, and even the pain in others.

I began to notice how much I clung to expectations — of myself, of others, of life.

But the more I looked, the more I saw: suffering isn’t personal. It’s human.

It connects us, humbles us, wakes us up.

And just recognizing that truth — without running, without fixing — brought a strange kind of peace.

A painful, beautiful, necessary peace.

Episode 3: Facing Suffering: The Chance to See My Inner Self

Just when I thought I was getting somewhere, life threw me another curveball.

COVID-19 hit, and everything I had worked for seemed to crumble overnight.

Plans I’d made, goals I’d set — all swept away by an invisible force that changed the world.

I found myself in a place I had never been before: uncertain, scared, and vulnerable.

I had to look for jobs just to cover expenses. I had been a man who once stood on top of things, who built a career with pride — and now, I was facing something I had never experienced: a deep sense of humility.



It was humbling, to say the least.

But I began to realize something: the more I tried to control the situation, the more I suffered.

The more I resisted the flow of life, the more exhausting it became.

So I stopped fighting.

Instead of struggling to hold everything together, I started to follow the current.

I let go of the need to fix everything. I let go of the need to know what would happen next.

I started to trust the process.

The very thing that had once terrified me — uncertainty — became the space in which I could finally breathe.

I remembered the lessons of impermanence and mindfulness.

Instead of clinging to the idea of “how things should be,” I allowed myself to experience them as they were — messy, unpredictable, and raw.

And in that surrender, I found a deeper connection to myself.

In the midst of this suffering, I saw a crack.

A crack that allowed me to glimpse something deeper within myself.

Not the person I thought I was, not the one who had it all figured out, but the real me. The one who could feel vulnerable, uncertain, and still remain open to life.

Suffering wasn’t something to avoid.

It wasn’t something to fix.

It was simply a part of the human experience.

And by facing it, I could see myself more clearly — without the stories, without the masks, without the need to be “perfect.”

This wasn’t a moment of triumph.

It wasn’t a quick fix.

But it was a shift — a shift towards being rather than doing.

For the first time, I wasn’t just surviving. I was awakening.

Episode 2: The first breath

Reading No Death, No Fear was like being seen for the first time.

Not by another person — but by something deeper.
It spoke to a part of me that had always been there but was buried under years of worry, ambition, and unconscious living.

I didn’t fully understand everything in the book, but I didn’t have to.
All I knew was that I wanted to live with more awareness, to stop missing the life that was happening right in front of me.

One morning, I tried something new.
I sat on a chair in the garden, watching the trees and flowers, listening to the birdsong, and enjoying the wind as it touched my skin.

Breathing in. Breathing out. Then came the thoughts — of what had happened.



At first, my mind wandered everywhere — to my son’s recovery, to work, to regrets. But each time I caught myself drifting, I gently returned to the breath.

It wasn’t peaceful. It wasn’t easy. But it was real.

For those 30 minutes, I wasn’t trying to fix anything. I wasn’t planning or solving. I was just being.

That morning didn’t change my life in a dramatic way. But it planted a seed.
A tiny, silent seed of presence.

And like all seeds, it needed care. So I kept coming back — not every day at first, but enough to notice a shift.

Sometimes I would just walk around the garden, or lie in bed watching my breath.
Sometimes I would place my hand on my chest during stressful moments and return to my body.

These were small things. But in a world spinning fast, they felt like acts of rebellion — like reclaiming my own life.

That was the beginning of my practice.
Not a perfect beginning, but an honest one.

And from that first breath, the journey continued…

Thursday, April 10, 2025

Episode 1: The First Crack

 “Sometimes it takes a crack in your life for the light to come in.”


In September 2020, I was working in the next room when I heard a loud “thud.”

It was my son — he had jumped off the bed while playing, slipped, and fell.

At first, he seemed okay. But soon after, he started feeling uncomfortable and began vomiting. I rushed him to the nearest hospital.

After some scans, the doctor told me:

“There’s internal bleeding between his brain and skull. He’s awake now, but the bleeding won’t stop. If we don’t act fast, he’ll slowly slip into a coma.”

That moment shook everything in me. But I knew I couldn’t panic.

I had to stay calm — not for me, but for him.

I asked the doctors for advice, and they told me to transfer him immediately to a major children’s hospital where he’d get the best care.

That night, and the four that followed, I didn’t sleep.

I watched my son breathe. I held his tiny hand.

I was afraid that if I closed my eyes, it might be the last time I’d see him alive.

On the fourth day, the doctors decided to operate.

They would open his skull and remove the blood clot.

I signed the consent form with trembling hands — and a heart breaking in silence.

But the surgery was successful.

My son survived. And in the days that followed, something inside me changed forever.

Out of gratitude, I committed to eating vegetarian for a month.

But deeper than that, a question emerged:

“What really matters in life?”

I picked up a book — No Death, No Fear.

And in those pages, I met myself:

My fear.

My pain.

My longing to be awake, to live each moment deeply, and not sleepwalk through life anymore.

That’s how my journey of mindfulness began — not with books or teachers, but with a child’s fall, a father’s pain, and a glimpse of life’s impermanence.


Sunday, February 16, 2025

Series: How Did I Build MineEco system? Part 3 - Overcoming obstacles

 

Series: How Did I Build MineEco System? Part 3 - Overcoming Obstacles

Building MineEco was not a straightforward journey. Like any complex system, it faced multiple challenges, from technical hurdles to operational bottlenecks. In this part of the series, I will share the key obstacles encountered and how I tackled them to keep the system scalable, secure, and efficient.



Architectural Complexity


    • Challenge

Designing a robust microservices architecture while ensuring seamless communication between services was a significant challenge. Managing service dependencies, avoiding circular dependencies, and ensuring data consistency across services were crucial concerns. For example, after an order is booked, processing next steps to avoid bottlenecks is a challenge

    • Solution
      • Event-Driven Architecture: I implemented an event-driven approach using Azure Service Bus and Kafka to enable asynchronous communication between microservices.

      • Saga Pattern for Transactions: To maintain data consistency across services, I introduced the Saga Pattern, allowing distributed transactions to be handled in a resilient manner.

      • API Gateway & Load Balancing: Using Azure API Management and NGINX, I ensured that requests were routed efficiently while implementing rate limiting and authentication layers.


Performance and Scaling




    • Challenge

Handling increased traffic and ensuring smooth performance as the user base grew. While shopping seasons, such as Black Friday or Christmas, there would be significant requests to the system. But on normal days, the number of requests drops dramatically, leading to underutilized resources and increased operational costs.

    • Solution
      • Caching Strategy: Implemented Redis for API caching to reduce database load and improve response times.

      • Database Optimization: Used SQL indexing, partitioning, and read replicas to distribute database load effectively.

      • Auto-Scaling & Load Balancing: Deployed services on Azure Kubernetes Service (AKS) with auto-scaling policies to dynamically allocate resources based on demand.

      • Cost Optimization: Implemented serverless computing for low-traffic services, reducing costs during off-peak hours by automatically scaling down unused resources.


Security & Data Protection

    • Challenge

Securing sensitive user and transaction data, preventing unauthorized access, and ensuring compliance with regulations.

    • Solution
      • JWT Authentication & OAuth 2.0: Enforced authentication using JWT tokens and OAuth 2.0 for secure API access.

      • Role-Based Access Control (RBAC): Defined granular permissions to restrict access to different system components.

      • Data Encryption & Compliance: Stored sensitive data with AES-256 encryption and ensured compliance with GDPR and PCI DSS for payment security.

Integration with Third-Party Services
    • Challenge

Seamless integration with payment gateways (Stripe, PayPal), external APIs, and logistics services without disrupting the core system.

    • Solution
      • API Abstraction Layer: Introduced a middleware abstraction to handle third-party integrations, reducing direct dependencies.

      • Webhooks & Message Queues: Used event-driven webhooks and message queues to process third-party interactions asynchronously, improving system stability.

      • Fallback Mechanism: Implemented circuit breakers and retry mechanisms to handle failures gracefully and prevent cascading service failures.


Real-Time Monitoring & Issue Resolution

    • Challenge

Detecting and resolving system issues proactively before they impact users.

    • Solution
      • Centralized Logging & Monitoring: Implemented Azure Application Insights, Grafana, and Prometheus to monitor system health in real-time.

      • Alerting System: Configured alerts for critical events such as API failures, latency spikes, and database slowdowns.

      • Automated Incident Response: Integrated Azure Functions to trigger automated workflows for issue mitigation.

      • Root Cause Analysis (RCA): Established post-mortem analysis practices to prevent recurring incidents and improve system resilience.


Conclusion

Despite the numerous challenges, overcoming these obstacles helped MineEco evolve into a resilient, scalable, and high-performance system. By leveraging the right technologies and architectural patterns, I ensured that MineEco could sustain growth while maintaining reliability and security.

In the next part of the series, I will delve into Implementing and Testing the System, sharing lessons learned from scaling MineEco efficiently while keeping expenditures under control. Stay tuned!

Saturday, October 26, 2024

From Idea to Implementation: Transforming the Ordering Experience with MineOrder

 Abstract

This article presents the journey of developing MineOrder, inspired by a 2019 experience at a Tim Hortons drive-through in Toronto that highlighted inefficiencies in the ordering process. The plan focused on creating MinePOS and MinePOP, enabling customers to place orders through QR codes and receive notifications when their orders were ready. However, the COVID-19 pandemic posed significant challenges, temporarily halting progress in the food and beverage industry. Instead of remaining passive, the author enhanced their skills during this period, leading to a successful revitalization of the project in 2023, ultimately delivering a solution that optimizes wait times and improves customer satisfaction.



Idea: My experience in Toronto in 2019 at the Tim Hortons drive-through made me think about simplifying the ordering process. While waiting in my car to buy a coffee, I realized how much time was wasted. I wondered if there could be a smoother process, such as allowing online orders or enabling payment as soon as I arrived at the parking lot.

Plan: Based on that idea, I developed a plan to create a system called MineOrder, featuring two main components: MinePOS and MinePOP. This system allows customers to scan a QR code at their table or in the parking lot, place orders in advance, and receive notifications when their orders are ready. The goal of this plan is to help businesses minimize wait times and optimize the customer experience.

Challenges: However, this plan had to be put on hold when the COVID-19 pandemic broke out, causing numerous difficulties for the F&B industry and forcing many businesses to adapt to survive. In this context, developing a new solution seemed more challenging than ever. Instead of being passive while waiting for the pandemic to pass, I proactively enhanced my skills by joining reputable software development companies to learn and update my knowledge in preparation for a stronger comeback.

Execution: By 2023, as the pandemic subsided and the market began to recover, I decided to revisit my original idea. With a more detailed plan and updated skills, my team and I worked tirelessly to develop MinePOS and MinePOP. We utilized the time during the pandemic to research and improve the system, aiming to deliver the best possible experience for customers and help businesses recover after the crisis. This is the convenience that MineOrder brings!

Lessons Learned

  1. Identifying Opportunities: Real-world experiences can serve as a catalyst for innovative ideas. Observing inefficiencies in everyday situations can inspire solutions that significantly improve customer experiences.

  2. Focus on Self-Improvement: Instead of feeling disheartened by the COVID-19 pandemic, it’s important to view it as an opportunity for personal growth. By focusing on self-improvement and enhancing skills during challenging periods, individuals can better prepare themselves for future opportunities. This proactive mindset helps navigate current obstacles and positions one for success when the situation improves.

  3. Continuous Learning: Investing time in learning and skill development is vital, especially in rapidly changing industries. Engaging with reputable organizations and expanding your knowledge base can enhance your ability to execute your vision effectively.


Saturday, September 21, 2024

Episode 2: Embracing Impermanence – Finding Peace in Change


Continuing the Journey: Embracing Impermanence – Finding Peace in Change


In the first episode of my journey, “The Path Within: Transforming Myself Through Buddhism,” I explored the foundational principles of mindfulness and the profound impact they have had on my life. Through the teachings of Buddhism, I discovered a pathway to self-awareness, acceptance, and transformation. As I delved deeper into these teachings, I began to confront the realities of impermanence—a theme that resonates powerfully within the Buddhist philosophy.


In this episode, “Embracing Impermanence – Finding Peace in Change,” I reflect on my evolving relationship with change and the transient nature of existence. Drawing from personal experiences and insights gained through mindfulness, I share how embracing impermanence has transformed my understanding of life’s uncertainties, fostering resilience and a sense of peace amidst chaos. Join me as I navigate this intricate dance of change, revealing how each moment, fleeting yet unique, offers invaluable lessons on growth and self-discovery.


Image source: Internet

Mindfulness as a Practice of Presence


In my 20s and 30s, I found myself in a good job that I genuinely enjoyed. Yet, beneath the surface of my apparent success, a subtle anxiety lingered. While those around me viewed my life as stable, I often grappled with a persistent thought: What if one day, this is all gone? I worried about my future and what I could do next to keep pace with society’s ever-evolving demands. These thoughts sometimes robbed me of restful nights as my mind raced with uncertainty about what lay ahead.


Looking back, I see how this constant worrying stole my joy in the present moment. Even though I had what I needed, my mind was preoccupied with fears of impermanence. It wasn’t until I embraced mindfulness that I began to accept life’s transient nature. Instead of resisting change, I learned to accept that nothing is permanent. Everything is in a state of flux—and that’s perfectly okay.


The Role of Impermanence in Mindfulness


As I entered my 30s and 40s, I began to truly grasp life’s unpredictability, especially with the birth of my first son. His arrival filled me with immense joy, yet it also confronted me with the fragility of life. Witnessing his growth and facing moments of illness, I became acutely aware of our limited time here. Each challenge he encountered was a stark reminder that the only certainty is change. However, I didn’t fully comprehend the concept of impermanence at that time.


This awareness shifted something within me. Though I lacked the vocabulary to articulate it, my experiences with my son illuminated the transient nature of existence. I learned that while we can cherish moments of happiness, we must also prepare for uncertainty and sorrow. Instead of viewing these moments as burdens, I began to appreciate the lessons they brought.


Through mindfulness, I discovered the importance of non-attachment—not only to outcomes and identities but also to difficult emotions. When feelings of anxiety surfaced, instead of clinging to or pushing them away, I acknowledged them, reminding myself that this, too, shall pass. This practice enabled me to observe the shifting nature of my experiences without being swept away by them.


Mindfulness encourages us to focus on the present moment—not to avoid the future, but because the present is the only moment we truly possess. Acknowledging impermanence deepens our commitment to this practice. When we realize that every experience and every breath is fleeting, we naturally draw ourselves into the here and now, understanding that trying to hold onto the past or control the future is futile.


Growth as an Impermanence Process


Impermanence teaches us that change is not just inevitable; it is essential for growth. In a world where many, particularly older generations, seek permanence and stability, the fear of change can feel overwhelming. Society often promotes the belief that we can maintain our positions and routines until retirement. However, my studies in "Managerial of Changes" during my MBA revealed that change is a catalyst for growth; stagnation is merely a step backward. This understanding aligns closely with the essence of impermanence: nothing lasts forever.


Embracing this reality has transformed my perspective on change—especially in relationships and my career. Previously, I struggled to accept the end of relationships, whether friendships or romantic partnerships. Letting go felt daunting, as if I were losing a part of myself. However, grasping the concept of impermanence helped me recognize that every relationship serves a purpose at a specific time in our lives. This understanding illuminated the truth that endings often pave the way for new beginnings. By letting go of attachments, I created space for healthier relationships that align more closely with my evolving self.


In my career, I faced significant transitions that initially felt like setbacks. Sticking to the same routine day after day led me into a state of desperation and stress. Acknowledging the need for change, particularly to develop new skills for my software development career, was a turning point. Accepting that I had fallen behind, I began to enjoy the learning process, exploring new job opportunities and joining two medium-sized software development companies to understand more effective approaches to software development and delivery.


Viewing difficulties or losses through the lens of impermanence has softened the emotional weight of these experiences. After visiting a human body exhibit in Los Angeles, I looked at my reflection and realized that the only difference between me and others was the skin covering our bodies. This profound realization shifted my perspective, allowing me to approach challenges with curiosity rather than despair. Instead of being consumed by the fear of loss, I learned to explore the lessons these challenges could teach me.


A poignant experience during my son’s health struggles underscored this lesson. While the fear of losing him loomed large, understanding impermanence shifted my focus. Rather than dwelling solely on the possibility of loss, I cherished our time together, celebrating small victories and moments of connection. This perspective illuminated the beauty in our shared experiences, revealing new opportunities for deeper bonding and understanding.


Ultimately, impermanence serves as a profound teacher, urging us to embrace change and recognize the growth it brings. When we accept that life is a series of moments—each fleeting and unique—we become more open to learning and evolving. This acceptance fosters resilience and cultivates gratitude for every experience, no matter how transient.


Finding Stability Amidst Change and the Journey of Self-Discovery


Life is an intricate dance of paradoxes. Staying in our comfort zones cannot shield us from impermanence; we grow older day by day, moment by moment. Embracing impermanence has not only helped me navigate life’s unpredictability but also cultivated a sense of peace amidst the chaos. Understanding that change is a fundamental aspect of existence allows me to find solace in the knowledge that nothing lasts forever, including difficulties.


To ground myself during times of uncertainty, I’ve turned to various practices. Rather than viewing difficulties as obstacles, I began to see them as opportunities for growth and adventure, much like dancing between wolves. I embraced life’s challenges, reminding myself that I was still present—grounding myself by observing my breath or focusing on my steps while trekking through the jungles of life.


This understanding has transformed my relationships. I’ve come to appreciate the fluidity of connections, recognizing that they may evolve or fade over time. Observing nature’s changes, I’ve witnessed how everything forms and transforms, revealing that everything happens for a reason. There’s truly nothing to worry about. This perspective allows me to engage with others authentically, free from the fear of losing what once was. By embracing impermanence, I’ve created space for deeper, more meaningful interactions that reflect who I am in this moment, rather than who I once was.


Ultimately, accepting impermanence has illuminated my journey of self-discovery. I’ve learned that my identity is not a fixed entity but a dynamic process, shaped by experiences, relationships, and growth. Just as waves are formed by water, influenced by winds and the moon’s gravitational pull, I realize that high waves of growth eventually fade, returning to what they were—water. This realization empowers me to approach life with curiosity and openness, allowing me to embrace existence’s ever-changing nature while finding stability in my acceptance of it.


Conclusion


Recognizing impermanence has profoundly transformed my journey, guiding me toward greater acceptance, inner peace, and openness to life. By embracing the transient nature of existence, I’ve learned to let go of attachments and fears that once held me back. Each challenge and change has become a stepping stone for growth rather than a source of anxiety, allowing me to experience life more fully in the present moment.


I now understand that obstacles, problems, and challenges are not meant to defeat me; instead, they offer opportunities for improvement through the “Learn how to learn” strategy I’ve adopted.


This exploration of impermanence continues to inform my spiritual journey, providing valuable insights and lessons. I recognize that every experience, whether joyful or challenging, contributes to my growth and self-discovery. The deeper I delve into this understanding, the more I find a sense of freedom and peace in knowing that life is fluid and ever-evolving.


As I move forward, I’m excited to share new insights and growth, eager to see how this perspective will shape my experiences. In the next episode, I will explore “Embracing Change: Lessons from Life’s Transitions,” sharing personal stories and reflections on how navigating life’s changes has deepened my understanding of impermanence and enriched my unexpected journeys toward self-awareness.

For further exploration, consider these resources:

Nhat Hanh, Thich. The Miracle of Mindfulness: An Introduction to the Practice of Meditation. Beacon Press, 1996.

Nhat Hanh, Thich. “Understanding the Nature of Reality.” The Lion’s Roar, 2014. 

Psychology Today.The Benefits of Mindfulness.” Psychology Today.



Monday, September 16, 2024

Series: How Did I Build MineEco system? Part 2 - Building the MineEco System


In this section, we explore the process of building the MineEco system from the ground up. Starting with the outdated MineOrder system, I faced numerous challenges. The legacy system relied on outdated technologies like the .NET Framework and an inflexible, monolithic design. These constraints limited adaptability and scalability, making it difficult to meet modern technological and business demands.

To overcome these barriers, I embarked on a journey of transformation, leveraging modern tools, frameworks, and architectural patterns. This shift was crucial for developing a system that not only meets current business needs but is also poised for future growth and adaptability.

We will delve into the detailed process of constructing the new system, focusing on planning and design, and share insights into creating a scalable, flexible solution that aligns with industry standards and technological advancements.

Reconstructing the System

Challenges of Redoing the System

Inflexibility: The original MineOrder system faced significant limitations due to its outdated design. Built using Xamarin and the .NET Framework, it was not designed with scalability in mind. The system’s architecture was heavily tied to traditional POS hardware, restricting its adaptability to modern standards and evolving business needs. This rigidity created substantial challenges in scalability and flexibility, particularly as the industry shifted towards mobile and hardware-independent solutions.

Outdated Design Principles: MineOrder’s initial architecture relied on monolithic structures, making updates cumbersome and resource-intensive. The centralized nature of this design hindered easy scaling and adaptation to market changes, especially as newer, more modular approaches became industry standards.

Replanning and Redesign

To address these challenges, I undertook a comprehensive redesign of the system, focusing on several key improvements to adopt new technologies and facilitate future updates:

  • Modern, Scalable Technologies: Transitioning to .NET Core for the backend, which handles APIs and web-based functionalities, and MAUI for the frontend, enabled cross-platform compatibility. This transition supports app delivery across various platforms, including Windows, macOS, iOS, and Android, and facilitated the development of a more modular and scalable system.

  • Microservices Architecture: Adopting a microservices approach provided enhanced flexibility and simplified future upgrades, allowing for a more efficient and distributed system.

  • Cloud Integration: Leveraging cloud services for data management and infrastructure offered scalable solutions that enhanced flexibility and cost-effectiveness. This integration was based on modern DevOps practices and automation, supporting the system's growth and adaptability.


Picture: The architect design of MineEco


D
evelopment and Cost Considerations

The development phase presented significant challenges, as balancing the creation of a robust, scalable system with the constraints of a startup budget was crucial. Opting for AWS Free Tier offered a cost-effective solution for cloud infrastructure, though it’s important to note that it is not entirely free but rather affordable within certain usage limits. Azure DevOps was chosen for its efficiency in managing operations and automating processes, which was crucial for keeping development and deployment costs under control. This strategy ensured that the system could be developed effectively while staying within budgetary constraints.

Implementing modern technologies required a deep understanding of system architecture and significant experience with AWS and Microsoft Azure. Balancing these requirements with cost constraints necessitated extensive self-directed research, drawing on my previous experience with medium and large-scale projects. This effort was essential to ensure that the system was both well-designed and cost-efficient.


Key Learnings and Insights

Embrace Modern Technologies Early: Transitioning to modern technologies like .NET Core and MAUI was essential for overcoming the limitations of legacy systems. Although it took nearly six months of research, design, and setup, early adoption of scalable and flexible technologies significantly improved system performance and adaptability.

Importance of a Modular Architecture: Adopting a microservices architecture instead of a monolithic design provided greater flexibility and ease of maintenance. This modular approach allows individual components to be updated or scaled independently, which is crucial for adapting to evolving market needs.

Cloud Integration Benefits: Leveraging cloud services for infrastructure and data management offered scalability and cost-effectiveness. Cloud-based solutions supported growth and enhanced operational efficiency, making it easier to handle fluctuating demands and manage resources effectively.

Balancing Cost and Quality: While the AWS Free Tier and Azure DevOps provided cost-effective solutions, it was important to understand their limitations and manage expectations. Effective cost management required careful planning and a deep understanding of the resources and constraints associated with these tools.

Self-Reliance in Research: Conducting extensive research and leveraging previous experience were crucial for navigating the complexities of modern system architecture. For non-technical startup members, this might be challenging. Fortunately, my experience with these technologies facilitated the proper development of MineEco. This self-directed approach ensured that the system was designed with a comprehensive understanding of current technologies and cost constraints.

Future Plans and Improvements

Continuous Updates and Industry Alignment: With the system configured for DevOps, ongoing updates and improvements will be essential to keep it aligned with industry standards and evolving business needs. Strategic planning for future enhancements, along with staying informed about emerging technologies, will be crucial for maintaining a competitive edge and ensuring the system remains effective and relevant.

Responding to Customer Feedback: Future developments for MineEco will focus on integrating customer feedback and requests to better address their business needs. By actively engaging with users and adapting the system based on their input, MineEco aims to enhance functionality, improve user experience, and address emerging requirements.

Expanding with SaaS Solutions: With the foundational core of the MineEco system already established, we are well-positioned to expand and adapt by integrating new features as requested by our business customers. This capability allows MineEco to evolve into a SaaS solutions provider, offering tailored functionalities that address emerging business requirements. By leveraging the existing system’s flexibility, we can continuously enhance our offerings to meet the evolving needs of the market and deliver increased value to our customers.


Lessons Learned for adopting software startups

Adopt Modern Technologies Early: Embracing scalable and flexible technologies from the start enhances system performance and adaptability, laying a strong foundation for future growth.

Prioritize Modular Architecture: Opt for a microservices architecture over a monolithic design to improve flexibility and ease of maintenance. This approach allows for independent updates and scaling, essential for adapting to evolving market needs.

Leverage Cloud Solutions: Utilize cloud services for their scalability and cost-effectiveness, which support growth and operational efficiency.

Balance Cost and Quality: Effectively manage startup costs by understanding the limitations of affordable solutions and planning strategically to ensure quality without overspending.

Conduct Thorough Research: Deep research and self-reliance are crucial for navigating system complexities and designing effective solutions.

Plan for Continuous Improvement: Implement DevOps practices to facilitate ongoing updates and keep the system relevant and competitive.

Expand Strategically: Build upon the core system to integrate new features and adapt to business requirements, supporting long-term growth and relevance.


Conclusion

This concludes Part 2 of my series on building the MineEco system. In this section, I covered the foundational aspects of how MineEco was constructed, focusing on the overarching process rather than diving deeply into technical details. If you have any questions or need assistance with implementing or setting up the platform, feel free to reach out—I’m happy to help.

In the upcoming Part 3: Overcoming Obstacles, we’ll explore the various challenges faced during the development of MineEco and the strategies employed to address them. I’ll share practical insights and lessons learned that can guide other startups through similar hurdles and help them build resilient, high-performance systems.

Series: How Did I Build MineEco system? Part 1 - The Beginning of the MineEco

Friday, September 13, 2024

Series: How Did I Build MineEco system? Part 1 - The Beginning of the MineEco

Introduction

The journey to rebuilding the MineEco system—MineEco being the name of my project—began with my trip to Niagara Falls, Ontario, Canada. In 2019, I launched MineOrder, which faced significant challenges due to the Covid-19 pandemic. While this setback was disappointing, it provided valuable lessons for future projects.

Returning to the Niagara Falls region in 2023 and spending several months there, I conducted extensive research into the market potential for a new system. This research was pivotal in shaping the MineEco system, which is grounded in the principles of mobility, eco-friendliness, and cost-effectiveness. MinePOS provides a flexible, software-based solution for seamless operation across various devices and platforms, while MinePOP streamlines the checkout process to reduce costs and enhance efficiency for retailers.



The Inspiration

My initial goal in the Niagara Falls region was to explore opportunities for starting a software development company. However, I faced significant barriers, including high costs and elevated unemployment rates among developers in the regions. The Covid-19 pandemic further impacted the business environment, leading to a noticeable downturn.

These challenges prompted me to reconsider my approach. Rather than pursuing a new software development business, I chose to leverage the insights gained from these experiences to pivot my strategy. This shift in perspective was instrumental in shaping the MineEco system.

Research and Planning

To better understand the local market, I engaged with businesses and stores in the Niagara Falls area. These conversations revealed the barriers within the software development industry and highlighted the need for alternative solutions.

From these discussions, it became evident that the software development industry had significant barriers, making it a less viable path for me. The high costs and competitive nature of the industry reinforced the need for a different approach. I found myself questioning whether to continue with the original approach or pivot to something new.

Instead of following a traditional software development path, I explored new approaches that would address local business needs while circumventing industry challenges. This research ultimately guided the conceptualization of the MineEco system, designed to offer innovative and adaptable solutions based on the insights gained.

Concept Development

With a clearer understanding of the market, I began re-researching global POS and checkout systems, focusing particularly on Canada, the US, Australia, Singapore, and Vietnam—countries where I have lived or visited. This involved examining industry standards, market conditions, and the necessity of traditional POS setups.

A key aspect of my research was questioning the necessity of hardware for running a store with a POS system. Specifically, I explored whether businesses truly needed traditional POS setups or if there were alternative solutions for functions like printing receipts. This questioning was crucial in shaping my approach to developing a more adaptable system.

By comparing these insights with the existing MineOrder system, I identified areas for improvement and adaptation. This led to the creation of the MineEco system, which features software-based solutions like MinePOS and MinePOP. These solutions are designed to be more flexible and cost-effective, allowing businesses to operate efficiently without being tied to traditional POS and hardware constraints.

Initial Challenges

MineOrder’s outdated technical stacks presented significant challenges when revisiting the project. These outdated technologies made it difficult to move forward and required a substantial overhaul to meet current industry standards.

Additionally, I reached out to various potential collaborators to discuss the possibility of reforming MineOrder and collaborating. However, I faced rejections due to several factors, including differing visions, the high demands and high risks of the project.

In response to these challenges, I decided to go by myself and opted to use modern technologies such as MAUI for app development and .NET Core for microservices. This decision was crucial for building a system capable of adapting to rapid infrastructure changes and meeting current industry standards. Collaborators were deterred by the project's technical complexity, high resource demands, and ambitious goals, which posed significant risks and required specialized expertise.


End of Part 1

This concludes Part 1 of my series. In the next installment, Part 2: Building the MineEco System, I will delve into the process of constructing and implementing the ecosystem. I’ll share insights and experiences on setting up the Mine Ecosystem, focusing on both technical and strategic aspects which may help startups having a full picture of how to build a high scale system, not a product or an application.


Lesson learned: Embrace the desire for self-improvement and seek better approaches to help yourself and others. Unexpected journeys often lead us to where we truly belong. Don’t be afraid to step out of your comfort zone and explore new adventures. Growth and meaningful experiences often come from taking bold steps beyond familiar boundaries.




A Glimpse of Autumn

Một thoáng mùa thu Hoa rơi vô tình, lòng người hữu ý, Vạn vật tương sinh, tâm người vướng mắc. Gió thoảng hương bay, vốn là duyên hợp, Góc n...