Moving away from my 150k LOC Monorepo
Details the transition from a 150k LOC monorepo to a decoupled, open-source architecture where each package is its own repository, simplifying distribution and collaboration.
All blog posts tagged with programming
Details the transition from a 150k LOC monorepo to a decoupled, open-source architecture where each package is its own repository, simplifying distribution and collaboration.
Investigates creating a completely internet-free development environment with large LLMs, exploring privacy, security, and focus benefits while documenting installation challenges and workarounds.
Demonstrates how LLMs enable scalable knowledge work by breaking down complex tasks into API-driven subtasks, using building websites for GitHub repos as a practical example.
Analyzes the barriers preventing seamless system integration and proposes solutions like API search engines and GPT normalization to overcome vendor lock-in and integration complexity.
Chronicles an attempt to create a scalable browser automation API using Bun and Fly.io, exploring the FLAME pattern and analyzing cost structures for AI-powered web scraping.
Documents the creation of an automated domain management system using NameCheap and CloudFlare APIs to streamline the process of turning ideas into working websites.
Reflects on the challenges and lessons learned from attempting to run frontend, backend, and multi-domain hosting from a single server, ultimately choosing a more pragmatic hybrid approach.
A clever workaround for generating static pages for multiple domains in Next.js by repurposing the locale feature, including a high-performance multi-domain markdown setup.
A tutorial on creating a draggable horizontal resizer in React for dynamic layouts, inspired by VSCode's resizable panels, implemented as a reusable React hook.
A technical solution for fixing Tailwind CSS dark mode class precedence issues in TypeScript monorepos by using the bang (!) modifier to force proper styling.
Presents a simple yet powerful method for using ChatGPT to perform fast parallel classification tasks, such as determining gender from names with 250ms response times.
A practical guide to using regular expressions for global search and replace operations in VSCode, including techniques for matching across newlines and common pitfalls.
Demonstrates how to create end-to-end tests for ChatGPT AI plugins using the MRKL technology, with practical examples testing a ScrapingBee plugin.
Key product development lessons learned from building FriendTime v2, including the importance of simple validation before adding features, avoiding premature monetization, and the underestimated time cost of final touches.
A reflection on the cyclical pattern of working regular jobs to save money, then quitting to work on side projects until broke, and exploring three potential paths to break free from this cycle.
A technical guide to web scraping using Puppeteer and JavaScript to extract public information from social media platforms while navigating anti-scraping protections.
A step-by-step guide to deploying an Express and MySQL app on a remote server using Linode or DigitalOcean, including Nginx, Node, MySQL setup, and CloudFlare integration.
How to upload your iOS app after Apple removed Application Loader in Xcode 11 by using the Transporter app instead.
Setting up Ghost CMS with CloudFlare's automatic SSL using flexible encryption mode and proper nginx configuration to avoid redirect loops.
The strategic advantages of open sourcing code including feature separation, attracting developers, community contributions, potential revenue through licensing, and viral growth opportunities.
Overcoming the PO Fallacy by moving todos into the codebase instead of GitHub to reduce context-switching and increase time spent coding versus planning.
A collection of personal coding principles including avoiding premature optimization, keeping things simple, composition over inheritance, and maintaining low learnability.
Comparing seven methods for testing new features in React Native apps, from local testing to Expo channels, beta roles, and Firebase A/B testing.
How I built Dunbar, a relationship management app, in just 26 hours by leveraging high motivation, Expo, minimal boilerplate, and open source libraries.
Introducing Redux Light, a minimal boilerplate approach to Redux that prioritizes composition over inheritance and faster time to context while maintaining clarity.
A guide on implementing version control in your mobile app to force users to update when needed, using backend endpoints and update screens with over-the-air or store updates.
How to regain control of a clumsy startup codebase by simplifying development ecosystems, using JavaScript only, vertical scaling, and considering monoliths over microservices.
A step-by-step guide to migrating an existing React Native project to Expo or ExpoKit for more stability, OTA updates, and streamlined development workflow.
A comprehensive comparison of Wix Navigation v1, v2, and React Navigation v3, analyzing their problems, solutions, and migration effort for React Native apps.
Analyzing the feasibility and bottlenecks of horizontal scaling without sharding using multiple nodes with a single MySQL database and load balancing.
How to prevent API downtime by implementing a flexible client that monitors server CPU load and automatically reduces query frequency during high load periods.
Achieving 5k+ RPS on a single machine through vertical scaling with CPU-optimized cloud servers, avoiding the complexity of horizontal scaling for early-stage startups.
Seven critical mistakes to avoid when building React Native apps including premature complexity, messy codebases, lack of product-market fit validation, and poor user retention strategies.
A startup idea for Chat Backend as a Service that provides universal chat functionality with open source front-end components and automated scaling for React Native and Node JS apps.
A comprehensive geo-scaling plan for horizontally scaling to millions of RPS using automated server splitting, merging, and load balancing based on community sharding.
How advancing AI tools for face and voice replication will enable sophisticated impersonation attacks, making verified platforms essential for online security.
Open sourcing React Native libraries including Super Image, Super Actionsheet, and Data Forms to share reusable components with the developer community.
Why React Navigation's component-based approach is fundamentally better than Wix Navigation's registerComponent method for managing wrapper components and screen mounting.
Exploring why code ownership is essential for agile development and how feature ownership can diminish inefficiencies and bottlenecks in development teams.
A controversial take on coding practices advocating for inline styles and WET code over DRY principles to prioritize development speed and reduce abstraction overhead.
Seven key principles for maintaining high code quality, balancing concerns like DRY principles, naming conventions, external dependencies, and reducing time-to-context.
An exploration of component organization strategies in React Native, introducing a folder structure based on component types including fat, pure, screen, wrapper, and universal components.
An analysis of seven technological and cultural trends making solo app development increasingly viable, from React Native and Apollo GraphQL to open-source libraries and Moore's law.
A brief celebration of successfully launching MasterCrimeZ to both iOS App Store and Google Play Store after 4 months of development.
An exploration of performance optimization strategies for GraphQL servers built with Node.js, covering benchmarking, database pooling, Dataloader, and production deployment techniques.
Technical considerations for connecting React Native apps to servers, covering SSL requirements, CloudFlare configuration, error handling, and connection testing strategies.
A quick overview of essential development tools and productivity apps for building React Native applications, including VSCode, ESLint, Prettier, RescueTime, and WakaTime.
Technical notes on the four methods of updating Apollo's client-side cache, comparing automatic updates, refetchQueries, manual store manipulation, and optimistic responses.
A comprehensive guide to setting up your own GraphQL backend with Node.js, Express, Sequelize, and MySQL, including deployment to a remote server with Nginx and SSL configuration.
A comprehensive cheatsheet of keyboard shortcuts and terminal commands for VSCode, MacOS, React Native Simulator, Chrome DevTools, and common Git workflows.
A decision framework for choosing between web and native app development, evaluating capabilities, platform preferences, user acquisition, retention strategies, and cost considerations including PWAs versus React Native.
A comprehensive comparison of Expo versus bare React Native and ExpoKit, outlining advantages like build automation and OTA updates, and disadvantages including app size constraints.
A comprehensive guide to building an MVP in 100 days using React Native and Expo, covering coding style decisions, architecture choices, work ethic, and a detailed workflow from setup to launch.
A step-by-step workflow for creating GraphQL queries in a full-stack React Apollo application, from schema definition to client-side implementation.
A humorous exploration of different mental modes developers shift between while coding, from debugging to perfecting UI, illustrated through fictional programmer personalities.
A technical deep-dive into timezone handling issues when using Sequelize vs mysql2 in Node.js, exploring how different ORMs process timestamps differently and cause validation problems.
A personal manifesto outlining ambitious 2018 goals, using fear-setting and extreme accountability measures to build two apps while pursuing a vision of working productively in paradise.
A reflective look back at 2017 as a year of learning React Native and JavaScript, documenting the journey from ideas and failed projects to finally achieving productive flow and being ready to ship real products.
An experiment in setting up a complete offline development environment for React Native to enable productive programming during multi-day mountain treks in Bulgaria, demonstrating that remote work doesn't require internet.
Six key principles learned from coding that apply to business: structure, logic, efficiency, automation, independence, and transparency.
A comprehensive guide to React Native covering setup, tooling, libraries, and why it's the future of cross-platform development for web, Android, and iOS.
A comprehensive comparison between WordPress and Ghost CMS from a blogger's perspective, arguing that Ghost's modern Node.js architecture makes it superior for serious writers and journalists despite requiring more technical knowledge.
The journey from WordPress frustrations to learning JavaScript, React Native, and Node.js to bring software ideas to life.