Roshan Kc

← Home

Writing

Notes from the founder seat

Practical writing on building a company, leading as CTO, and hustling without burning the people who make the work possible.

Docker · Laravel · Performance 12 min read

Optimized Laravel Docker Image: PHP 8.5 + Swoole + io_uring

A free public Docker image: PHP 8.5 + Swoole 6.2.2 rebuilt with io_uring. Multi-arch (amd64 + arm64). ARM64/Graviton recommended for best throughput per dollar. Drop-in base with Nginx and Supervisor.

Security · Startups 9 min read

Security Basics Every Early-Stage Startup Should Get Right Before Fundraising

Security basics early-stage startups should fix before fundraising: auth, secrets, encryption, access, dependencies, backups, logging — and SOC 2 sequencing.

Principles · Engineering 7 min read

Our Engineering Principles: How We Decide What NOT to Build

MarginTop's engineering principles for scope discipline — how we decide what not to build so teams ship trustworthy software.

Hiring · CTO 8 min read

What I Look for When Hiring Engineers as a First-Time CTO

What Roshan Kc looks for when hiring engineers as a first-time CTO: ownership, communication, and trade-off judgment over résumé keywords.

AI · Engineering 8 min read

How AI Coding Tools Changed Our Engineering Velocity (Without Changing Our Standards)

How Cursor and Claude changed MarginTop's engineering velocity while review, tests, domain docs, and secret hygiene kept our standards intact.

Architecture · Laravel 9 min read

The Hidden Cost of Premature Microservices (And Why We're Still a Monolith)

Why MarginTop still ships a modular Laravel monolith — the hidden costs of premature microservices and when splitting actually makes sense.

Strategy · Product 8 min read

Build vs. Buy: The Framework We Use to Decide What to Build In-House

MarginTop's build vs buy framework: differentiator vs commodity, Stripe/Cashier and Sanctum examples, and the maintenance tax of building in-house.

Laravel · Performance 9 min read

How We Use Laravel Octane + Swoole to Handle Concurrent Load Without Rewriting Our App

How MarginTop uses Laravel Octane with Swoole workers, task workers, and Octane::concurrently to handle concurrent load without rewriting the Laravel app.

PHP · Performance 8 min read

What TypePHP Means for the Future of PHP Performance

TypePHP is Swoole's open-source AOT compiler (PHP to C++ to native). What it means for PHP performance, early caveats, and why we still ship with Laravel.

Engineering · Strategy 8 min read

Business Logic First: Why We Don't Worry About the Perfect Tech Stack

Why MarginTop prioritizes business logic over the perfect tech stack — AI lowers stack regret, while data and rules remain the real risk.

Laravel · Stack 9 min read

Why We Chose Laravel Over Node.js for Our Stack

Why MarginTop Solutions chose Laravel over Node.js: hiring pool, team velocity, Forge/Vapor/Cashier/Sanctum, and when we would reconsider.

Startups · Cloud 12 min read

How to Run Your Startup Tech Stack for Free Until You're Funded

Stack AWS Activate, Azure, and Google Cloud startup credits to keep infrastructure near $0 until you validate or raise.

Delivery · Hustle 7 min read

Ship Fast Without Losing Client Trust: A CTO’s Playbook

A CTO playbook for speed without silent quality debt.

Team · Kathmandu 8 min read

Building a Software Team in Kathmandu From Zero

How MarginTop grew from online freelancers to a Pulchwok crew.

CTO · Leadership 8 min read

What a First-Time CTO Actually Does (Beyond the Title)

Beyond the title — architecture, trust, and unblocking the room.

Founder · Nepal 7 min read

Why I Left Teaching to Build a Company in Kathmandu

The real tradeoffs of going full-time on MarginTop in Kathmandu.