Ship with Ian

Notes on building, teaching, and shipping products.

Notes on the work behind the work, from planning and launch lessons to teaching and building in public.

Topics covered

Clear thinking, useful examples, and honest lessons from building and teaching in public.

Recent writing

Short essays and practical notes from the work.

Technical
Laravel Architecture That Stays Small Enough to Maintain
Good architecture should reduce friction for the next person who opens the codebase, including future you six months from now.

A practical look at how to scale and keep a Laravel codebase organized without turning it into a complex maze of unnecessary abstractions.

Read post
Technical
PostgreSQL Tips That Help Real Apps Stay Fast
Databases are easiest to ignore when everything fits comfortably in local development memory, and most painful when production traffic hits.

A few practical, high-impact PostgreSQL lessons that matter once your application starts handling concurrent real-world users and millions of rows.

Read post
Technical
Inertia Patterns That Keep Pages Clear and Fast
The ultimate goal with Inertia is not to transform the app into a complex SPA monolith, but to retain a comfortable server-driven flow while smoothing out the UX.

How to architect an Inertia.js application to keep it feeling straightforward on the backend while maximizing the user experience benefits of frontend frameworks.

Read post
Technical
Deployment Lessons You Learn Only After Shipping
Deployment is the exact moment where local development assumptions meet production realities, meaning the process must be bulletproof.

A practical reflection on the infrastructure pieces, safety nets, and validation steps that matter when moving from a local environment to a real production path.

Read post
Educational
Teaching Programming Without Making It Feel Out of Reach
Effective teaching works best when it empowers learners to see that progress is achievable, even before they fully grasp the underlying systems.

How to break down advanced programming paradigms in a pedagogical way that builds student confidence instead of leaving them feeling overwhelmed.

Read post
Educational
Mentoring Capstones When Students Need a Steady Hand
Capstone mentoring is an intricate blend of software project management, technical design support, and empathetic reassurance.

A practical guide for educators and mentors on steering capstone project teams from chaotic, overscoped ideas into polished, confidence-building presentations.

Read post
Educational
Building in Public Without Turning It Into Noise
Building in public is highly effective when your updates are specific, insightful, and firmly grounded in actual engineering choices.

How to transparently share your engineering and product journeys on public channels while keeping the content genuinely valuable and educational.

Read post
Building in Public
How ClassSync Evolved From a Tool Into a Workflow
Software products truly mature when the development team adapts to how users interact with the app in real conditions, rather than sticking to initial guesses.

An insider look at the iterative development of ClassSync, tracing how it transitioned from a collection of small utility tools into a cohesive ed-tech workflow.

Read post
Building in Public
What I Learned Shipping Products That People Actually Use
Shipping software teaches you that brilliant ideas mean absolutely nothing without execution, patience, and a willingness to ruthlessly simplify.

Reflections on the product management and engineering habits required to successfully transition ideas from development into durable production systems.

Read post