Becoming the financial platform for all
-
How We Converted the MFUI Design System into an MCP Server for Internal Use
This article is a translation of the original Japanese article on Zenn: https://zenn.dev/moneyforward/articles/43bcef16b033f8. Introduction This article explains how we implemented and utilized a Model Context Protocol (MCP) server to efficiently provide component information of our design system MFUI to AI coding assistants. Note that this article does not cover MFUI in detail. For more on MFUI,…
-
Implementing a Resilient Job System with Redis Stream
Introduction Hello, I’m Jackie. I’m working as a backend engineerat at Money Forward within Group Management Solutions division, we are crafting products specialized in Consolidated Accounting . This article explores Batch Job Management solutions, providing insights for backend developers, architects, and professionals interested in distributed systems architecture. Background Our application regularly processes files uploaded by…
-
Implementing OpenFeature for Feature Flag Management in a Kotlin Application: A Developer’s Journey
Hello! I’m Firdaus Al Ghifari (Alghi), a full-stack software engineer at Money Forward Cloud Payroll, HR Solutions Department. I specialize in React, Ruby, and Kotlin. Recently, our team embarked on an exciting journey to migrate our backend system from Ruby on Rails to Kotlin. As part of this transition, we decided to adopt OpenFeature as…
-
Playwright tips and tricks
Welcome to the “Playwright Tips and Tricks” series, where we dive into the technical intricacies of leveraging Playwright for web automation. From optimizing workflows to mastering advanced features, this blog is your resource for pushing the boundaries of what Playwright can achieve. Join us as we dissect code snippets, explore nuanced techniques, and unveil insider…
-
Design pattern in SCI
Hello everyone, I’m Nani, a java backend from SCI team. Today, I would like to share with you about the Design pattern and how we applied it to solve problem in SCI’s project. Design pattern What’s a design pattern? A design pattern is a general, reusable solution to a commonly occurring problem within a given…
-
Managing Asynchronous Loading States with React Hooks
When dealing with asynchronous operations in React, managing loading states can become repetitive. Let’s explore how to handle this common pattern, starting with a basic approach and then improving it with custom hooks Prerequisites Before diving into this article, you should have: Traditional Approach Here’s how we typically handle loading states with useState: In the…
-
I Tried Kotlin for Competitive Programming
Introduction Hi! I’m Wibi, a software engineer at Cloud Payroll Group of Money Forward’s HR Solution Department. A part of my work is developing Cloud Payroll’s backend using Kotlin. Up until a few months ago, I had no experience in writing Kotlin. To get used to it, I tried using Kotlin in what I usually…
-
My Experience as the Host of English-Speaking Mobile Meetup in Japan
Introduction Does Japan have mobile meetup? Obviously, yes. But does Japan have an English-speaking mobile meetup? The answer is yes! Introducing Mobile Dev Japan, founded by Tiphaine and Balázs in 2024, with the goals of bringing together English-speaking mobile developers in Japan and bridging the gap between foreign and Japanese mobile engineers. Hello, this is Ong Yue Huei (AJ), an iOS…
-
Rails 8.0 built-in Rate Limiting
Introduction Hi everyone, I’m @Sam from the Money Forward ID Service Development team. In our project, which is built with Rails, we’ve been using the third-party gem rack-attack to mitigate certain types of attacks. However, with the release of Rails 8.0, a new rate limiting feature has been introduced. This native solution has allowed us to eliminate our dependency…
-
Introducing Passkeys: Automatic Upgrades and Signal API
Introduction Hello, I’m @Mapdu, a Ruby developer at Money Forward. I work on Money Forward ID development team, developing a web application that serves as the ID and authentication platform for Money Forward and its group companies. In the previous post Introducing Passkeys: Registration and Authentication, we explored how passkeys work and why they are more secure…
-
From Paid to Free: Migrating to an Open-Source Graph Library Without Compromise
Introduction “In the world of data visualization, delivering intuitive and interactive charts is essential for modern applications. For a long time, our team relied on a subscription-based graph library, which came with powerful features but at a high annual cost. As a single-application license exceeded $332 per year, we started questioning if there was a…
-
Rails v8 new authentication generator
Hello, I’m Bala, a Ruby developer at Money Forward. As part of our Advent Calendar blog series, here’s a post for December 10th. Rails 8.0 is here, bringing many exciting new features! One of the highlights is the new authentication generator, which simplifies the process of adding authentication to Rails applications. In this blog, I’ll explore this feature…