Posts

Showing posts with the label Firebase Studio

Firebase Studio Sunset

Introduction On 20 March 2026, Google issued a notification regarding the sunset of Firebase Studio . Users are requested to migrate their projects during a one-year transition period. The decommissioning schedule is as follows: 19 March 2026: Sunset announcement; migration tools begin rolling out to Firebase Studio. 22 June 2026: New workspace creation is disabled. Users can still access and migrate existing workspaces. 22 March 2027: Official shutdown. All remaining data will be permanently deleted and cannot be recovered. To ensure continuity, users are encouraged to move their workflows to Google AI Studio (for web-based prototyping) or Google Antigravity (the agent-first desktop IDE). The Migration Path The official documentation suggests two primary migration paths based on your specific workflow: Migrating to Google Antigravity Recommended for a code-first, agentic development experience. Antigravity offers deeper control over your local codebase (e.g., managing npm packages)...

Firebase Studio

Image
Introduction Every now and then, I get this strong urge to dive into coding so I can finally turn my app ideas into reality. And here I am again, feeling inspired to learn after watching some introductory YouTube videos on backend and frontend development. One thing I have picked up is that before even thinking about the "easiest" language, it is really important to figure out where you want to start – a website, data analysis, or maybe an Android or iOS app. This key decision will perfectly guide you to the right language. For example, building websites usually involves HTML, CSS and JavaScript, whereas Python is a go-to for data analytics and artificial intelligence . Looking Into Instant App Creation After spending a few hours learning the basics and experimenting in Visual Studio Code , I have successfully created several prompts. However, building a mobile app with an interactive and modern design remains a distant prospect. Even a single coding error can lead to signifi...

RxIDB

Introduction After a deep dive into the programming world, I felt it was time to return to the familiar realm of medicine. I paused for a moment to reflect: with my current understanding of app development, how can I address some common needs of pharmacists? In the past, we often relied on no-code platforms like Open As App and AppSheet to convert spreadsheets into databases. While convenient, these platforms often came with limitations, specifically imperfect implementations and premium pricing. That is when the idea struck: what if we built a PWA that directly parses data from a public spreadsheet into a local IndexedDB? Thus, RxIDB was born. Importing A New Database Quick Steps Go to  Settings. Click Import New Database. Name your database and paste the public Google Sheet URL (make sure it is shared with "Anyone with the link can view"). If your spreadsheet includes introductory text or empty rows, you can adjust the header row number accordingly. You may also add an...

The Endless Debugging

Introduction Before I began building Progressive Web Apps (PWAs) with the help of artificial intelligence , I believed I had a clear vision of what an ideal solution should look like. If I were fluent in programming, I could have implemented clean, bug-free solutions that precisely addressed user needs. In my view, a well-designed app should simplify workflows, rather than introduce friction or impose extra steps that do not align with real-world usage. However, in practice, developers may not fully understand the actual workflows, while users may not articulate their needs clearly or may passively accept whatever is given. In hindsight, I realised that my idealism about building a “perfect” app stemmed from a limited understanding of the technical foundations required to support such ambitions. What Users Take for Granted As users, we have grown accustomed to feature-rich, polished applications that just work. For example, a professional PDF editor is expected to support text highli...

RxQR

Introduction Out of the blue, my colleague asked me, “Do you know how to generate a QR code ?” Without hesitation, I replied that we could just Google "Free QR code generator" - there are plenty of free tools available online. However, she pointed out that many of those free QR codes either do not last long or have limitations on the number of scans. In fact, she once got caught off guard by this at an event. That immediately piqued my interest. A QR code, much like a barcode, should simply encode the information you provide into a visual pattern - and in theory, it should not expire. A quick search reveals that this is a common issue. Many of the so-called "free" QR code generators actually create dynamic QR codes, which do not directly encode your data. Instead, they encode a URL that redirects to the provider’s server - often used to display advertisements, track scans (including device type, location and timestamp) or restrict access behind paywalls. This pract...

Building an Offline-First Personal Budgeting PWA

Introduction A key element in financial planning is having a budgeting tool that allows you to track both daily and planned transactions. This provides a clear picture of your financial status and spending habits. However, most budgeting apps available on app stores either require a premium subscription or are bundled with intrusive advertisements. To address this gap, we will explore how to build a cost-efficient, offline-first personal budgeting app tailored for daily use. Preplanning the App Setup As with previous projects like a drug database PWA or a Blogger PWA , we will use Firebase Studio to scaffold the core structure of this budgeting app. To keep the app cost-effective while feature-rich, it should include: User authentication and login A transaction page with a form/dialog for adding entries and filtering capabilities Cloud syncing of income and expenses Charts for balance trends and summary statistics (e.g., today, this week, this month, this year, all time) Since we ar...

Building an Offline-First Blogger PWA Using Firebase Studio

Introduction Building on the success of creating a drug database app using Firebase Studio , I decided to take on a new challenge - developing an offline-first PWA for my existing blog. Truth be told, even with some prior experience, this new project introduced more complexities and considerations than the previous one, making it another rewarding yet demanding endeavour. Setting Up in Firebase Studio To quickly prototype a user interface, you can use the App Prototyping Agent in Firebase Studio , which supports natural language prompts for layout generation. The core framework of this Blogger PWA relies on the Blogger API v3 to fetch both blog posts and static pages from a specified Blogger blog, sync the content into IndexedDB and render it within the app. Technically, to use the Blogger API v3 to fetch the data, you do not have to be the owner of the blog. On the other hand, you need three key things: Blog ID This unique identifier is crucial for targeting the correct blog. If yo...

A Practical Roadmap to Building an Offline Drug Database with Firebase Studio

Introduction In my previous post on Firebase Studio , I discussed some of the limitations when coding an app powered by artificial intelligence . Despite those hurdles, the final outcome - the RxLookup Progressive Web App - stands as a noteworthy milestone and a successful achievement. In this post, I want to highlight a few key decision-making points and common pitfalls to watch out for if you are planning to build a drug database or dictionary app. Deploying as Progressive Web App Typically, an app can be deployed in several forms: as a web app or a native app (such as those available on the Google Play Store or Apple App Store). A rising trend in recent years is the Progressive Web App (PWA) . Technically, a PWA leverages standard web technologies, allowing a single codebase to run seamlessly across laptops, iPhones and Android devices with minimal platform-specific adjustments. Since it is deployed as a hosted website, it enables rapid and frequent updates - unlike traditional n...