Software Engineer | Java | Spring Boot | Distributed Systems | AWS
I am a software engineer primarily focused on backend engineering, distributed systems, and building reliable services in the Java ecosystem.
My day-to-day interests sit around service architecture, reactive systems, caching, event-driven communication, and understanding how systems behave when dependencies fail.
Outside of work, I build tools around problems I personally want solved — especially privacy-first browser applications, developer utilities, self-hosted infrastructure, local AI, and Telugu computing.
Java is my primary language for backend development.
I work with:
- Java
- Spring Boot
- Spring WebFlux
- REST APIs
- GraphQL
- Reactive programming
- Microservices
I am particularly interested in designing clean service boundaries, asynchronous workflows, failure handling, and keeping distributed systems understandable as they grow.
I work with systems involving:
- Redis
- Amazon Kinesis
- AWS ECS
- Event-driven communication
- Distributed caching
- Asynchronous processing
A significant part of my engineering interest is around failure scenarios — stale state, partial failures, retries, idempotency, consistency, and deciding when an operation should or should not affect the primary request path.
- AWS
- Docker
- Linux
- GitHub Actions
- Cloudflare
- Self-hosted services
Linux is my preferred environment for development and experimentation.
A privacy-first collection of everyday file and data utilities.
The fundamental rule is:
If an operation can happen on your device, your file should not need to leave your device.
The project is designed around browser-side processing rather than uploading documents to a backend.
Current areas of development include:
- PDF manipulation
- PDF conversion
- Image extraction
- Document utilities
- JSON / CSV conversion
- Markdown tools
- List comparison and transformation
- General everyday data utilities
The architecture intentionally favors plain JavaScript, browser APIs, minimal dependencies, and permissively licensed libraries.
An experimental project exploring the generation of OpenType Telugu fonts from handwriting.
The project explores an image-to-vector pipeline involving:
Scan → Thresholding → Component Detection → Contour Extraction → Path Simplification → Curve Fitting → Glyph Construction → OpenType
Some of the problems I am exploring include:
- Telugu glyph composition
- గుణింతాలు
- Character shaping and positioning
- Connected-component detection
- Contour tracing
- Path simplification
- Bézier curve fitting
- Handwriting variation
- OpenType font generation
The goal is to investigate how much of the complete workflow can run locally inside a browser using JavaScript.
I also experiment with running AI infrastructure locally rather than depending entirely on hosted services.
Areas I am currently exploring include:
- Local LLM inference
- Coding agents
- AMD GPU inference on Linux
- Multi-GPU workloads
- Self-hosted developer tools
- Containerized services
- AI-assisted development workflows
I am especially interested in making local models useful as practical software-engineering tools rather than treating local AI purely as a benchmark exercise.
My current areas of interest include:
Backend & Architecture
Java, Spring, reactive systems, distributed systems, API design, caching, event-driven architecture, reliability, and failure handling.
Local-First Software
Applications that process user data locally, work offline where practical, and minimize unnecessary backend infrastructure.
Developer Tools
Small utilities and automation that remove repetitive work from development and everyday computing.
Local AI
Running LLMs and coding agents on personally controlled hardware and integrating them into development workflows.
Language Computing
Telugu typography, Unicode, OpenType, font generation, text shaping, and browser-based language tooling.
I generally prefer simple systems with explicit behavior over unnecessary abstraction.
A few principles guide most of my projects:
- Keep architecture proportional to the problem.
- Treat failure paths as first-class design concerns.
- Keep user data local when practical.
- Minimize unnecessary dependencies.
- Understand the licensing implications of dependencies before adopting them.
- Prefer boring, maintainable technology when it solves the problem.
- Automate repetitive work.
- Build things that are genuinely useful.
I also have a strong preference for understanding what happens underneath an abstraction rather than treating frameworks as black boxes.
- Spring WebFlux and reactive architecture
- Reliable event publishing
- Distributed caching patterns
- Local LLM infrastructure
- Browser-native PDF processing
- OpenType font generation
- Telugu glyph composition and shaping
- Privacy-first web applications
- Self-hosted developer tooling
When I am not working on backend systems, I am usually experimenting with Linux, self-hosting something, building a small utility, testing local AI models, or going down a technical rabbit hole because I wanted to understand how something actually works.
Most of my personal projects start the same way:
"Why do I need a service for this? Can I just build it myself?"
I am interested in connecting with engineers working on backend systems, developer tooling, local-first software, open source, local AI, and Indian-language computing.
Feel free to explore my repositories or reach out if you are working on something in these areas.



