Skip to content
View SaumilP's full-sized avatar

Block or report SaumilP

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
SaumilP/README.md

Saumil β€” systems designer, hands-on

Systems designer, hands-on. Service boundaries, resilience, platform standards.

Portfolio GitHub followers Profile views

I'm a systems designer who stays hands-on. By day I work in software architecture, designing systems and setting standards; after hours I build reference implementations and tools so my decisions stay grounded in working code.

When What I do
Day job Designing systems, recording decisions, setting standards, reviewing trade-offs.
After hours Reference implementations, patterns and Rust tooling. Everything on this profile is personal-time work, built to keep my judgment sharp.

What I focus on

Area What it looks like in practice
Service design and boundaries Domain-driven design, modular monoliths before microservices, clear ownership and contracts
Resilience and observability Timeouts, retries and backpressure designed up front; traces, metrics and logs treated as part of the design
API and integration design REST contracts, messaging, idempotency, versioning that does not break consumers
Platform and governance Shared starters, golden paths, CI/CD standards so teams spend their effort on the domain
Day to day Tools I reach for
Languages Java Rust Python TypeScript
Frameworks and data Spring Boot PostgreSQL Redis
Platform and delivery Docker Kubernetes AWS GitHub Actions

How I design

  1. Start from the boundary, not the framework. Where responsibility ends matters more than which library sits inside it.
  2. Write the decision down. Context, options considered, and what we gave up. A short ADR beats a long memory.
  3. Design for failure first. Decide what happens when a dependency is slow or down before adding the feature.
  4. Standardise the boring parts. Starters and golden paths remove repeated decisions so the interesting ones get attention.
  5. Prefer decisions that are cheap to reverse. When unsure, pick the option that is easiest to change later.

Flagship: a reference platform for testing design decisions

Status: in progress. The design below is the target. Nothing here is shipped yet, and each decision is marked Proposed until the ADR is written and the code backs it up.

A place to prototype architectural decisions with working code before relying on them. It applies the principles above in a modular service built with my own Spring Boot starters, documented with C4 diagrams, and run with observability and deployment governance from day one.

Reference platform: a client calls an API gateway that routes to Orders and Inventory modules sharing PostgreSQL. Orders publishes events through an outbox to a message broker feeding Notifications. Modules emit traces and metrics to OpenTelemetry, which feeds dashboards.

ADR Decision Question it answers Status
001 Modular monolith first, split later When is a service boundary worth a network hop? Proposed
002 Transactional outbox for events How do we publish events without losing or duplicating them? Proposed
003 OpenTelemetry through a shared starter How do teams get consistent traces and metrics for free? Proposed
004 Policy checks in the deployment pipeline How is governance enforced without slowing delivery? Proposed

Planned artifacts: C4 context and container diagrams, the four ADRs above, failure-mode notes (what breaks and how it degrades), and load-test results.


Reference architecture and patterns

Worked examples of decisions I would make in practice, kept runnable and documented. Start with design-patterns for decisions in code and drawio_libraries for diagrams.

design-patterns enterprise-spring-patterns-and-recipes
spring-boot-starters drawio_libraries

Hands-on builds

Tools I build to stay close to the code: CLIs and automation, mostly in Rust.

mastodon-toot-client gh-yule-gitlog-rs

More: changeloggen-cli Β· rust-learning-lab Β· all repositories


Activity

GitHub overview Top languages

Contributions over the past year

Cards come from gh-stats and are rebuilt weekly.


Currently exploring

Design questions I'm testing

  • Context boundaries and aggregates in DDD
  • Consistency and messaging trade-offs in distributed systems
  • Observability-led design
  • Clean Architecture in modular Spring Boot

Engineering I'm practising

  • Rust async patterns
  • CLI tools and automation in Rust
  • Local-first workflows
  • Backend performance patterns

Developer dashboard

Metric Value
πŸš€ Repositories (public) 61
🌱 Recent Activity DeleteEvent on SaumilP/gh-stats (2026-09-14)
πŸ§ͺ Last Updated 2026-10-05 19:18 UTC

Connect

Website GitHub

Pinned Loading

  1. drawio_libraries drawio_libraries Public

    Reusable draw.io libraries for clean, professional architecture diagrams.

    Python 24 6

  2. design-patterns design-patterns Public

    Practical Java Design Patterns β€” runnable examples, tests, and architecture notes.

    Java 4

  3. spring-boot-starters spring-boot-starters Public

    Platform-grade Spring Boot starters for scalable, governed service development.

    Java

  4. enterprise-spring-patterns-and-recipes enterprise-spring-patterns-and-recipes Public

    Spring Boot Patterns & Recipes for Enterprise Systems

    Java 2

  5. mastodon-toot-client mastodon-toot-client Public

    Rust Mastodon 🐘 bot CLI β€” scheduled posts from files, with safe automation and CI quality gates.

    Rust 2

  6. rust-learning-lab rust-learning-lab Public

    Learn Rust by doing: runnable examples, exercises, language transition tracks, design patterns, interview challenges, and real-world projects.

    Rust