Insights & Articles

Exploring AI, mobile technology, and software craftsmanship. Dive into articles, tutorials, and reflections from my tech journey.

6 min read

How to implement Sign in with Apple using NextAuth in NextJs

A step-by-step guide to implementing Apple authentication in your NextJS app using NextAuth. Learn how to set up App IDs, Service IDs, and configure your auth flow in less than an hour.

NextJSNextAuthAppleAuthenticationOAuthWeb Development
Read article
5 min read

Safe non-local returns using crossinline for inline functions in kotlin

A higher-order function is a function that either takes another function as a parameter, returns a function, or both. These functions are a key feature of Kotlin and provide much flexibility when writing functional-style code.

KotlinInline FunctionsHigher-Order FunctionsProgrammingMobile Development
Read article
4 min read

How to add a round filter or mask to OBS's video capture feed

So you are new to OBS and itching to record your first video demo of a project you have been working on. You've been watching other content creators record slick, professional-looking videos and share them on their big social media platforms.

OBSVideo RecordingContent CreationTutorialStreaming
Read article
6 min read

Building cost-effective AI systems using RouteLLM

Most of the time, building AI systems means juggling efficiency against performance and budget. RouteLLM is a new model designed to route inputs/prompts/queries to their best destination model. By using RouteLLM, developers can design very able AI systems that will also be cost-effective and powerful.

AIRouteLLMMachine LearningCost OptimizationLLMPerformance
Read article
7 min read

Paginating Firebase Realtime Database in a RecyclerView within a NestedScrollView

Learn effective strategies for paginating Firebase Realtime Database data in an Android RecyclerView, especially when nested within a NestedScrollView, to improve app performance and user experience.

FirebaseAndroidRecyclerViewPaginationRealtime DatabaseKotlin
Read article
6 min read

How to Safeguard Your API Keys in Android Projects with GitHub Secrets

Learn effective methods to protect your API keys in Android projects by using local.properties, BuildConfig, and GitHub Secrets for secure CI/CD workflows.

AndroidAPI SecurityGitHub SecretsCI/CDKotlinGradle
Read article
12 min read

Strategies on how to showcase your portfolio and impress potential clients as a freelancer

As freelancers, we are often asked to present a portfolio of our previous projects and works. Prospective clients usually ask for this because they want to build trust in your work by reviewing your previous projects. This is a prime opportunity to convert a client and seal the deal.

FreelancingPortfolioBusinessCareerWeb DevelopmentDesign
Read article
10 min read

Creating an AI Blog Post Generator with LangChain: A Step-by-Step Guide

There is an AI content creation tool called copy.ai that has a concept of workflows. A workflow is basically a series of pre-determined steps that are carried out with the aim of achieving an end goal using AI. Learn how to build your own AI blog generator using LangChain.

AILangChainPythonMachine LearningAutomationRAGOpenAI
Read article
5 min read

How to fetch medium articles/stories automatically to your django website

I have been working on building my portfolio website using Django as the backend and the front end is HTML and Bootstrap CSS. I needed to populate the recent blogs section on my portfolio because I write quite a lot on Medium and I really wanted to showcase that on my portfolio.

DjangoPythonMediumRSSWeb DevelopmentAutomation
Read article
4 min read

Overcoming Burnout: Leveraging Boredom to Boost Productivity and Learn New Skills

Last weekend pushed me to my limits. We had to meet a deadline by Friday, and by the time Saturday rolled around, I was entirely burnt out. I ended up spending the entire day doing almost nothing, falling into a state of boredom. During this idle time, I discovered how boredom can be a catalyst for learning and productivity.

ProductivityBurnoutLearningMotivationMental HealthCareer
Read article
7 min read

How to create a document scanner using ML Kit and Jetpack Compose

Google recently released their ML Kit document scanner API that can help you easily add a powerful AI-powered document scanner to your app. In this blog post, I will go through a step-by-step guide to implementing it in your app.

AndroidML KitJetpack ComposeDocument ScannerMobile DevelopmentAI
Read article
8 min read

A healthy gut equals to a longer, happier life — MealPlanner app

Maintaining a healthy diet can be challenging, the demands of work, school and home life often leave us with little to no time to consciously plan and prepare nutritious meals that are good for both our physical and mental health. This lack of planned eating can lead to unhealthy eating habits, resulting in problems such as weight gain and other health issues.

HealthNutritionMeal PlanningAIMobile AppProductivity
Read article
6 min read

Fetching data from REST APIs using Ktor in Android

How to use Ktor to make HTTP requests in Android, including dependencies, client setup, making requests, and handling responses.

AndroidKtorREST APINetworkingKotlinMobile Development
Read article
8 min read

Authentication for Django REST APIs

Authentication aims to associate an incoming request with an existing user credential. Permission and throttling policies determine whether a request should be permitted or not. This post covers authentication schemes, settings, and token generation in Django REST Framework.

DjangoREST APIAuthenticationPythonWeb DevelopmentSecurity
Read article
10 min read

Data Layer : Android app architecture notes

This contains the application data and business logic and rules that determine how CRUD can be performed in the app. The separation of concern achieved through the DataLayer enables it to be used in multiple screens, share information between multiple parts of the app and also reproduce business logic outside of the app for testing.

AndroidArchitectureData LayerKotlinRepositoriesMobile Development
Read article
8 min read

UI Layer : Android app architecture notes

The UI is state is always changing basing on user events and also data from the internet. Therefore, we expect the data presented to the user to be changing, so we can expose UI states as an observable data stream. This post covers UI layer principles, state management, and best practices in Android architecture.

AndroidArchitectureUI LayerKotlinJetpack ComposeMobile Development
Read article
6 min read

The Langchain Interface : Chains and Runnables

To make it easy to create custom chains, Langchain uses a Runnable protocol. It is a standard interface which makes it easy to define and invoke custom chains in a standard way. All runnables expose…

LangChainPythonAIChainsRunnablesMachine Learning
Read article
8 min read

Text Recognition with Jetpack Compose and CameraX

Implementing CameraX while using Jetpack Compose can be a bit challenging because some of the views, like PreviewView, that provide the surface upon which the camera preview is displayed are not…

AndroidJetpack ComposeCameraXText RecognitionML KitMobile Development
Read article