Full Stack Engineer with 7+ years of experience shipping end-to-end
features across frontend, backend, APIs, databases, and cloud
infrastructure. Hands-on with React, Next.js, TypeScript, and Node.js,
with backend depth in PHP (Symfony, Laravel) and cloud experience
across AWS and GCP. Comfortable owning features from idea to
deployment, and collaborating directly with product and stakeholders
on scalable technical decisions.
An automated outreach pipeline built as a portfolio demo. Given
a topic, it searches for relevant articles, crawls them, and
identifies each author using non-AI structural heuristics
(JSON-LD, meta tags, byline patterns) rather than AI-assisted
lookup, then locates a contact email through contact-page
scanning and pattern guessing, gated by a name-plausibility
check. AI is used only for drafting personalized outreach
emails and follow-up replies — every AI-drafted message
requires human review before sending, and real sending is
hard-locked in code to a whitelist of test addresses.
Automation is off by default, with hard caps on
articles/drafts/sends per run and a persistent panel tracking
AI cost and emails sent.
A newsletter management platform for small teams. Handles
subscriber management with CSV import and status tracking, a
campaign editor with plain text, raw HTML, and drag-and-drop
visual builder modes, scheduled sending via a cron-driven
scheduler, and per-subscriber delivery tracking on a stats
dashboard.
A real-time AI co-pilot for live conversations. Adarna listens
to a meeting or interview as it happens — capturing both the
user's microphone and the other participant's system audio via
WASAPI loopback — transcribes everything locally with
faster-whisper, and on a pause or hotkey asks Claude (via an
authenticated Claude Code CLI session, not a metered API) to
draft a short suggested response in a glanceable, always-on-top
overlay. Because WSL can't access native Windows system audio,
the app is split across two cooperating processes — a native
Windows GUI/audio-capture process and a WSL-side
transcription/orchestration process — talking over a local TCP
socket. Audio and transcripts stay in memory for the session
only; nothing is written to disk unless the user opts in.
A personal finance tracker with custom budget cycles,
multi-currency support, and an AI-generated spending overview
powered by Claude. Users log expenses and income, set savings
goals against their own budget period (not locked to the
calendar month), and see a dashboard with category breakdowns,
income-vs-spend, goal progress, and 6-period spending trends.
PHP 8.4Laravel 13BladeTailwind CSS 4Alpine.jsChart.jsSQLiteAnthropic Claude API