Projects

Selected Work

The projects I put the most into — real architecture decisions, not just tutorials.

Cronbell (formerly PulseCheck) — Cron Job & Scheduled Task Monitoring

A dead-man's-switch monitoring service for cron jobs and scheduled tasks: each job pings a unique URL when it finishes, and Cronbell emails, Slacks, or webhooks you when a ping goes missing. Live as a free demo on Fly.io with Postgres on Neon, backed by a 52-test suite in CI.

  • Dropped the always-on Celery worker for a token-guarded internal endpoint on a 15-minute external trigger — and found GitHub’s scheduler too unreliable to be the only one, so cron-job.org is primary and GitHub Actions the backup
  • Web machine auto-stops when idle and Postgres sits on Neon, so both can sleep between checks; the 15-minute cadence is chosen for exactly that
  • Slack, Discord, and webhook alerts, opt-in public status pages, and a per-account Prometheus /metrics endpoint for existing Grafana boards
  • Rate limiting and CSRF protection on every state-changing endpoint, with a 52-test PyTest suite running in CI
FastAPIPostgreSQLSQLAlchemyRedisNeonGitHub ActionsDockerFly.io

NyotaNow — Invitations as a link, with RSVPs

A consumer product for Indian families: instead of forwarding an invitation JPG on WhatsApp, the host shares one link with a live countdown, Maps directions, and one-tap RSVP. Seven occasions (Navratri included) and seven card designs, with Hindi and English both first-class and real Devanagari typography. Live at nyotanow.in on Vercel, Postgres in Singapore.

  • One card component renders the live preview, the invite page, and a 1080×1350 PNG export, sized entirely in container-query units so all three stay identical
  • No accounts: each invite is guarded by a random key stored only as a SHA-256 hash, compared in constant time, with identical 404s for wrong and missing keys
  • Hardened after launch: rate-limited public write actions, Sentry errors surfaced on a private stats page, real-user Speed Insights, and a Vitest suite gated by CI
  • Dates and limits enforced server-side rather than trusted to the browser; guest data is deleted three months after the event while the card stays
Next.js 16React 19TypeScriptPostgreSQLDrizzle ORMVitestSentryVercelNeon

Azure Databricks Delta Lake Pipeline

Built a cloud-native data pipeline on Azure using Databricks, Delta Lake, and PySpark to ingest and transform large-scale log data with transactional and historical querying support.

  • Implemented micro-batch processing for analytical workloads
  • Designed a production-style log analytics workflow
  • Used Delta Lake for versioned and reliable data processing
AzureDatabricksDelta LakePySparkSQL

Log Management Microservice

Designed a distributed log ingestion platform capable of processing thousands of asynchronous events with Kafka-driven streaming, real-time alerting, and analytics-ready storage.

  • Built asynchronous pipelines for high-throughput ingestion
  • Enabled decoupled producer-consumer architecture
  • Created a scalable foundation for operational monitoring
DjangoKafkaMongoDBDockerMicroservices

Event-Driven Notification System

Built an async notification engine supporting email and SMS workflows through decoupled microservices and resilient message queue orchestration.

  • Designed resilient message processing flows
  • Improved reliability through decoupled services
  • Focused on scalable workflow orchestration
DjangoKafkaMongoDBDockerAsync Processing

Capstone Todo API

A production-ready REST API for task management built with Go and PostgreSQL, containerized with Docker, and deployed on Render.

  • Secure CRUD operations
  • Cloud deployment readiness
  • Clean architecture and API structure
GoDockerPostgreSQLRenderREST API