Castro Nyabola

Castro Nyabola

Senior Software Engineer
I'm a software engineer specialised in frontend and backend development for complex scalable web apps. I write about software development on my blog. Want to know how I may help your project? Check out my project portfolio and online resume.

What I do

I have over eight years of experience designing and developing software solutions for clients worldwide. My expertise includes full-stack development, solution architecture, and cloud-native technologies. Below is a quick overview of my key technical skills and the technologies I use. Want to learn more about my experience? Check out my online resume and project portfolio.

Flutter, Dart

I specialize in Flutter and Dart for frontend development, building responsive and adaptive UI with Material and Cupertino design. I utilize Riverpod and Provider for state management and handle navigation using Navigator 2.0. My expertise includes REST API integration (Dio, HTTP), Firebase Firestore, AWS Amplify, Cognito.

PostgreSQL

I use AWS RDS PostgreSQL to store and manage data, ensuring scalability, high availability, and security. My workflow includes schema design, query optimization, indexing, and performance tuning. I leverage read replicas, automated backups, and Multi-AZ deployments for reliability. For security, I implement IAM authentication, SSL encryption, and row-level security (RLS). Additionally, I integrate PostgreSQL with AWS Lambda, API Gateway, and event-driven architectures for cloud-native applications

API

I use AWS API Gateway to create and manage RESTful APIs that securely interact with backend services, including AWS Lambda, AWS RDS PostgreSQL, and other AWS services. I design efficient API routes, handle request validation, authentication and rate limiting. I implement custom authorizers for security and use Lambda proxies to process requests dynamically. I optimize performance with caching, throttling, and response transformations. Additionally, I integrate API Gateway with AWS S3 and SQS.

Python

I use Python in AWS Lambda to interact with AWS RDS PostgreSQL, enabling serverless and event-driven data processing. This includes executing queries using psycopg2 or asyncpg, managing database connections efficiently with connection pooling (PgBouncer), and handling transactions securely. I optimize queries for performance and cost efficiency, implement error handling and retries, and integrate Lambda with API Gateway, S3, and SNS for real-time data processing. Additionally, I use AWS Secrets Manager to securely manage database credentials and ensure scalable, cloud-native solutions