Latest Updates

Documenting code, one commit at a time.

JavaScript LinkedIn

Refactoring LinkedIn Share Post Generation for a Personal Touch

This post details a small but important change in how we generate content for sharing on LinkedIn, focusing on aligning the tone with the platform's user experience.

The Goal

The primary goal was to shift the voice of automatically generated LinkedIn share posts to a first-person perspective. Since the posts are published from the user's profile, using "I" instead of third-person references

Read more

Enhancing User Engagement: Implementing LinkedIn Share for Landing Pages

Introduction

We recently added a "Share on LinkedIn" feature to our landing page project, devlog-ist/landing. The goal was to increase user engagement and expand the reach of user portfolios by enabling seamless sharing on LinkedIn. This post details the implementation process, covering AI-powered post generation, direct publishing via the LinkedIn API, and considerations for different user

Read more

Enhancing AI Auditability Through Structured Summaries

Improving the auditability of AI interactions is crucial for maintaining security and control. A recent update focuses on preventing the exposure of raw code to AI models, enhancing data security, and providing better insights into flagged code changes.

The Challenge of Raw Diffs

Previously, raw git diffs were sent to AI models for analysis. This approach, while providing detailed context,

Read more
PHP Java MySQL

Tenant-Centric Quota Management with Manual Overrides

Managing resource quotas across multiple tenants can be challenging, especially when the need for manual overrides arises. This post explores how we refactored our token usage service to implement a tenant-centric quota system with support for manual adjustments.

The Challenge

Previously, our token quota management was user-based. This created inefficiencies when the context already provided

Read more

Enhancing Application Stability with Strategic Cache Invalidation

Introduction

Maintaining data consistency across distributed systems and applications often requires careful management of caches. Stale data in caches can lead to unexpected behavior and inconsistencies. We recently implemented several enhancements to our application's caching strategy, focusing on proactive invalidation to ensure data accuracy and prevent outdated information from impacting

Read more

Improving AI Usage Tracking with Refactored Queries

Optimizing AI Token Usage Queries

We've recently refactored and optimized our AI token usage tracking to improve performance and maintainability. This involved extracting duplicated queries and enhancing user filtering.

The Changes

The primary focus was on improving the efficiency of retrieving daily and monthly tenant AI usage data. This was achieved through two key changes:

Read more

Implementing Payment Provider Abstraction with Feature Flags

When integrating multiple payment providers into an application, managing the transition and allowing for flexibility becomes crucial. This post explores how to introduce an abstraction layer combined with feature flags to handle different payment providers, such as Stripe and Paddle.

The Challenge

Directly integrating a payment gateway like Stripe can tightly couple the payment logic within

Read more