# imlucas.dev

> Software engineer sharing insights on system design, distributed systems, and the patterns behind reliable software.

Personal blog by Lucas Ribeiro covering AI deep-dives, system design breakdowns, and engineering lessons from production systems.

## Blog Posts

- [How to Build with LLMs: From Prototype to Production](https://imlucas.dev/blog/how-to-build-with-llms-from-prototype-to-production/): The full arc from prototype to production: choosing the right model, designing prompts that hold up under real traffic, managing context windows, handling failures, and deploying without burning through your budget.
- [System Observability: A Production Engineer's Guide](https://imlucas.dev/blog/system-observability-a-production-engineers-guide/): The core signals to collect, how to instrument from day one, and the practical telemetry pipeline that takes you from raw data to lower MTTR and higher reliability, written from the pager, not the ivory tower.
- [How to Decompose a Monolith Into Microservices Safely](https://imlucas.dev/blog/how-to-decompose-a-monolith-into-microservices-safely/): How to find clean domain boundaries, apply the strangler fig pattern, split a shared database, and set up tests, observability, and rollback so every step of the migration stays reversible.
- [8 Deployment Mistakes That Cost Engineering Teams Millions](https://imlucas.dev/blog/8-deployment-mistakes-that-cost-engineering-teams-millions/): The eight deployment mistakes that keep showing up in postmortems, from untested migration rollbacks to missing observability, what each one actually costs, and the specific changes that prevent them.
- [Practical Microservices Patterns for Engineering Teams](https://imlucas.dev/blog/practical-microservices-patterns-for-engineering-teams/): Four production microservices patterns, the API gateway, service mesh, circuit breaker with bulkhead, and saga, with the failure mode each one addresses, the real trade-offs, and the tools that map to each.
- [Think Through System Design Problems: A 7-Step Framework](https://imlucas.dev/blog/think-through-system-design-problems-a-7-step-framework/): A repeatable 7-step framework for reasoning through any system design problem, whether you have seen it before or not: scope it, estimate capacity, design, go deep on the right things, and stress-test before you finish.
- [Real Microservices Disadvantages Nobody Tells You About](https://imlucas.dev/blog/real-microservices-disadvantages-nobody-tells-you-about/): Five microservices disadvantages backed by real numbers: operational cost explosion, distributed tracing pain, data consistency failure modes, organizational overhead, and the latency tax, each with a mitigation.
- [System Design Interview Tips: A Battle-Tested Guide](https://imlucas.dev/blog/system-design-interview-tips-a-battle-tested-guide/): A repeatable 45-minute framework for system design interviews: how to clarify scope, run capacity math on a whiteboard, and reason about trade-offs in a way that signals senior-level thinking.
- [How to Design Systems That Handle Millions of Users](https://imlucas.dev/blog/how-to-design-systems-that-handle-millions-of-users/): A staged framework for scaling from a single server to a globally distributed architecture, with concrete decision checkpoints, capacity planning math, and observability triggers at every milestone.
- [Software Architecture Interview Topics: What to Study and How](https://imlucas.dev/blog/software-architecture-interview-topics-what-to-study-and-how/): A structured breakdown of the topics architecture interviewers actually test, with representative questions, scoring rubrics, and a realistic two-week prep plan.
- [System Design: The Complete Engineer's Guide](https://imlucas.dev/blog/system-design-the-complete-engineers-guide/): Most system design resources teach you enough to draw boxes on a whiteboard. This guide covers what actually breaks under load and how engineers make real trade-offs in production.
- [How Does a Large Language Model Actually Work? An Engineering Perspective](https://imlucas.dev/blog/how-does-a-large-language-model-actually-work/): A ground-up walkthrough of the LLM stack: tokenization, transformer internals, training pipelines, and inference optimization, from an engineering perspective.
- [Hello World: Why I Started This Blog](https://imlucas.dev/blog/hello-world/): The signal is live. Here's what to expect from imlucas.dev: AI deep-dives, system design breakdowns, and lessons from the trenches.

## Pages

- [Home](https://imlucas.dev/): Landing page with recent posts.
- [Blog](https://imlucas.dev/blog/): Full list of published posts.
- [About](https://imlucas.dev/about/): About Lucas Ribeiro.
- [Contact](https://imlucas.dev/contact/): How to reach Lucas.
- [Privacy](https://imlucas.dev/privacy/): What the site collects (analytics, theme preference, server logs) and what it does not.
- [API](https://imlucas.dev/api/): Human-readable guide to the machine-readable endpoints below.
- [Tags](https://imlucas.dev/tags/): Browse posts by tag.

## Feeds

- [RSS Feed](https://imlucas.dev/rss.xml): Subscribe to new posts.
- [Sitemap](https://imlucas.dev/sitemap-index.xml): XML sitemap.

## Machine-readable resources

- [OpenAPI spec](https://imlucas.dev/openapi.json): OpenAPI 3.1 description of the read-only endpoints.
- [API catalog](https://imlucas.dev/.well-known/api-catalog): RFC 9727 linkset pointing at the spec and docs.
- [Search index](https://imlucas.dev/search.json): All posts as JSON (id, title, description, tags, pubDate).
- Markdown for agents: request any page with `Accept: text/markdown`, or fetch the `index.md` next to it (for example https://imlucas.dev/blog/hello-world/index.md). Posts return their original Markdown source with front matter.
