Skip to main content

GenAI Application Developer · Citi · Software & Data

Hey

I'm Tahsin.

I build GenAI applications at Citi—turning manual bank workflows into AI-assisted ones, across software engineering and data.

Day to day that means Python, model APIs, and retrieval grounded in real documents—plus the system design and analysis that decide whether a workflow should be automated at all. On my own time I run five live products, so the full-stack half never goes stale. DFW · GenAI at Citi, building my own products on the side. About me →

Tahsin Rahman Chowdhury

AboutA bit about me

GenAI Application Developer at Citi, building LLM-backed tools for bank workflows across software engineering and data analysis. Before that I shipped five production apps of my own—design through deploy—while finishing a STEM, AACSB-accredited BS in Information Systems at UT Arlington. DFW · building software that earns its place in someone's day.

  • CitiGenAI application development · software & data
  • RAGRetrieval-grounded LLM work · answers tied to a source
  • 5Live products shipped end to end on Vercel
  • 3Data builds · SQL stories, BI dashboards, ML explorers

StackTools I ship with

GenAI applications at Citi, full-stack products on my own time. These are the tools I actually reach for—model APIs and retrieval on one side, React and Postgres on the other, SQL underneath both.

GenAI & LLM engineering

PythonLLM APIsRAG / retrievalEmbeddingsVector searchPrompt engineeringStructured outputsEvaluationGuardrailsHuman-in-the-loop

Languages

PythonTypeScriptJavaScriptSQLJavaHTML / CSS

Frontend

React 19Next.jsTailwind CSSGSAPZustand / ReduxWCAG / ARIA

Backend, data & cloud

Node.js / ExpressPostgreSQLSupabaseFirebaseDrizzle ORMREST APIsStripeAWS LambdaDockerVercel

Analytics & BI

SQLpandasscikit-learnPower BITableauPower Query / DAXStreamlitExcel

Engineering practice

System design & architectureSplunkOAuth / JWTRow-level securityZod validationJestTesting LibraryGit / GitHubCode reviewCI-friendly deploys

The journeyExperience that ships

  1. GenAI Application Developer· Junior

    Aug 2026 – Present
    Citi·DFW, TX
    • Banks run on workflows designed long before language models existed. I build GenAI applications that take the manual steps out of them—working the full path from framing the problem to a service other teams can call.
    • A model answering from memory is a liability in a regulated environment. I work in Python with model APIs and retrieval (RAG) so responses are grounded in real source documents and traceable back to them, with evaluation and human review in front of anything a person sees.
    • Regulated software settles its constraints up front, not after launch. System design and architecture here means latency budgets, auditability, human-in-the-loop checkpoints, and failure modes agreed before the first endpoint ships.
    • The other half of the role is data analysis—SQL and Python to find where a workflow actually loses time, and Splunk to trace how services behave once the work is live.
  2. Founder & Engineer

    Jan 2024 – Present
    Self-Employed·Arlington, TX
    • Clients and my own products needed full-stack apps, not slide decks. I built 5 production web apps on Vercel—auth, Postgres, payments, maps, and ML flows—and owned design through deploy on four of them. The work is live and clickable, not buried in a PDF: FUN, Nike clone, Skinstric AI, Summarist, and Awwwards.
    • FUN's map started choking with 300+ pins on the main thread. I profiled renders and moved clustering into a Web Worker so organizers could keep chatting over a responsive map at crowd density.
    • One-off deploys were adding up, so I stood up an AWS serverless base—Lambda, API Gateway, DynamoDB, RDS, S3, CloudFront—with least-privilege IAM. New products extend the same template instead of reinventing infra.
    • Feature creep kept breaking auth and validation. I made RLS, OAuth, JWT refresh, Zod, and Jest the default before new scope lands, so reviews stay focused on product instead of footguns.
  3. Software Developer

    Apr 2021 – May 2024
    University of Texas at Arlington·Arlington, TX
    • Coursework had to mirror how teams actually ship. I built across React, TypeScript, Java, SQL, and Python with Agile sprints and readable handoffs—patterns I still reach for in production repos.
    • Enterprise Java demanded layered, testable code. OOP, JDBC, concurrency, and JUnit TDD on multi-tier apps taught me how to model business logic before the API surface gets wide.
    • ERP simulations came with strict procurement and inventory rules. SAP/ERP case work trained me to translate requirements and sign off data flows before writing code.
  4. Data Analyst

    Aug 2019 – Apr 2021
    University of Texas at Arlington·Arlington, TX
    • Campus teams sat on messy institutional datasets. I cleaned, modeled, and documented recurring reports so partners could rerun them without pulling me back into every cycle.
    • Leaders needed insight, not raw exports. I built Power BI dashboards and walkthrough decks around their questions—shorter meetings and visuals they could slice on their own.

FoundationsEducation that shaped me

University of Texas at Arlington

Bachelor of Science, Information Systems · STEM-designated · AACSB-accredited · GPA 3.0+ · May 2024

2019 – 2024

Information Systems was the perfect mashup for me—software engineering, data analysis, and business in one degree. I wasn't forced to pick a lane: I wrote full-stack apps, modeled data as a campus analyst, and learned why ERP and finance matter when code hits the real world. Five years later I graduated with a STEM + AACSB credential and projects I still show people—and that exact mix is what GenAI work at a bank asks for: enough software to build the thing, enough data to prove it helps, and enough business context to know which workflow was worth automating in the first place.

Technical

Full-stack craft — idea to deployJava apps — disciplined OOPDatabases — design before dashboardsSoftware engineering & SDLCNetworking — how bits actually travelInformation security — assume breachCloud computing — reliable scaleData structures & algorithms — speed with sense

Business

Business systems analysisEnterprise systems (SAP / ERP)Project management — scope with empathyOperations managementBusiness statistics — truth in varianceFinance & accounting literacyEconomics — incentives matter

Selected workProjects I've shipped

AI & machine learning

  • Skinstric AI

    Skinstric AI

    Computer-vision skin analysis · a premium front end for a model

    Next.jsTypeScriptGSAPML API

    Skinstric AI

    Computer-vision skin analysis · a premium front end for a model

    Skinstric shows another side of AI and machine learning: luxury skincare. Snap a photo, get a thoughtful read on your skin, and move through a flow that feels like a high-end brand—not a lab experiment. I translated the Figma vision into Next.js with async ML, smooth motion, and accessibility baked in.

    • GSAP motion that feels premium without wrecking layout on slower phones.
    • Every model response carries loading, confidence, and error states—inference is never a mystery spinner.

    Users finish the ritual on spotty Wi‑Fi because the app always tells them what's happening under the hood.

  • Data science web apps

    Data Science Web Apps

    NBA stats, genomics, classifiers · tune the model in the browser

    PythonStreamlitscikit-learnPandas

    Data Science Web Apps

    NBA stats, genomics, classifiers · tune the model in the browser

    Data science shouldn't end in a slide deck. I built Streamlit apps for NBA game logs, genomics exploration, and sklearn classifiers—interactive toys where stakeholders twist filters and inputs in real time instead of asking for "one more version."

    • NBA explorer pulls scraped logs—filters update live, not static screenshots.
    • sklearn sliders let stakeholders stress-test models while you're still in the meeting.

    Meetings end with a shared prototype, not a follow-up email asking for another chart.

Apps people actually want to open

  • FUN Sports Map App

    FUN

    Pickup sports, anywhere · find your crew on the map

    React 19TypeScriptNodePostgresSupabaseMapbox

    FUN

    Pickup sports, anywhere · find your crew on the map

    A social sports app for finding pickup games and players just like you—any sport, anywhere in the world. Drop a pin, start a chat, and meet people who want to run the same game you do. I built the map, messaging, and auth stack so it feels less like a spreadsheet and more like showing up at the park.

    • Web Worker clustering so 300+ player pins never freeze the map.
    • Realtime chat + row-level security so every group's data stays theirs.

    Players scroll a live world map past 300+ pins without lag—the heavy lifting stays off the main thread.

  • Nike E-Commerce Store

    Nike Clone

    Billion-dollar storefront · sizes, colors, live pricing

    Next.jsZustandStripePostgresDrizzleZod

    Nike Clone

    Billion-dollar storefront · sizes, colors, live pricing

    A full clone of Nike's billion-dollar shopping experience—browse iconic drops, pick your color and size, and watch prices and discounts update like the real thing. Stripe checkout, OAuth accounts, and validation that keeps bad orders out of the database.

    • SSR catalog for that instant Nike browse feel; client cart for snappy checkout.
    • Every color and size carries its own price and discount logic—not one flat tag.

    Shoppers get real storefront energy—variant pricing, discounts, and checkout that doesn't break on bad input.

  • Summarist Audiobook Platform

    Summarist

    Your favorite books, summarized · press play and go

    Next.jsFirebaseFirestoreStripeAudio API

    Summarist

    Your favorite books, summarized · press play and go

    Too many books, not enough time? Summarist lets you listen to tight summaries of the titles you love—free chapters to start, subscriptions when you're hooked. I wired auth, billing, and a custom player so what you hear always matches what you paid for.

    • Stripe subscriptions and Firestore entitlements stay in sync—no free premium by accident.
    • Custom audio player checks access before every chapter loads.

    Listeners binge summaries without billing surprises—entitlements update the moment Stripe does.

  • Awwwards Design Showcase

    Awwwards

    Motion playground · GSAP skills on full display

    ReactViteThree.jsGSAP

    Awwwards

    Motion playground · GSAP skills on full display

    The brief was simple: flex the GSAP skills. Scroll-driven timelines, layered transitions, and Three.js accents that feel award-site worthy—built to show motion craft without turning your laptop into a space heater.

    • UI timelines and WebGL scenes tuned separately—motion you can dial without breaking 3D.
    • Effects capped for everyday laptops so the flex doesn't melt your GPU.

    Silky scroll choreography on mid-range hardware because WebGL and GSAP each have a budget.

  • React Movie App

    React Movie

    Movie night, sorted · search millions of titles instantly

    ReactViteTMDB APIReact Query

    React Movie

    Movie night, sorted · search millions of titles instantly

    Your personal movie night concierge—search TMDB's catalog, filter fast, and land on something worth watching. Built for that "what should we stream?" moment with instant feedback even when the API is slow.

    • Debounced search + skeleton UI so typing never feels like shouting into the void.
    • Friendly empty and offline states—no blank screen of shame.

    Search feels immediate because the UI answers before the network always does.

  • Ultraverse NFT Marketplace

    Ultraverse

    Collect the drop · NFT marketplace with personality

    Next.jsTypeScriptTailwindWeb3

    Ultraverse

    Collect the drop · NFT marketplace with personality

    An NFT marketplace that doesn't talk like a whitepaper—browse curated drops, search collections, and connect your wallet with copy that actually makes sense. Built for collectors who care about the art, not just the hash.

    • Figma-faithful layouts with image loading tuned for big catalogs.
    • Wallet toasts in plain English—users always know what just happened.

    First-time wallet users stick around because every action explains itself in human language.

Data & analytics

  • SQL analytics projects

    SQL Projects

    Separate builds · library, retail, Amazon & more

    SQLPostgreSQLAnalytics

    SQL Projects

    Separate builds · library, retail, Amazon & more

    A growing collection of standalone SQL projects, each modeling a different world: a library catalog and circulation system, retail store sales, Amazon order data, and others. Per project I design the schema, load real-world-shaped data, and write CTEs and window functions that turn messy rows into answers finance and ops teams can trust.

    • Each domain is its own project—a library catalog, retail store sales, Amazon orders, and more—with a schema built for that data.
    • CTEs and window functions tuned per dataset: margins and sales trends for retail, circulation and overdue logic for the library.

    Each project stands on its own—reusable query patterns I carry from one dataset to the next.

  • Power BI survey dashboard

    Data Professional Survey

    630 data pros · salaries, tools, and the Python wave

    Power BIPower QueryDAXPython

    Data Professional Survey

    630 data pros · salaries, tools, and the Python wave

    Ever wonder what 630 data professionals actually earn and which tools they reach for? I cleaned the survey chaos in Power Query, built a star schema, and wired DAX so leaders can explore adoption—Python showing up at 67%—without waiting on another export.

    • Power Query tamed messy salary fields before a single chart went live.
    • Star schema so anyone can slice pay, satisfaction, and tool adoption on their own.

    Execs go from "what's the headline?" to their own drill-down in two clicks.

Contact

Let's talk

Always glad to hear from people building with GenAI, wrangling data, or shipping something ambitious. Send a message through the contact form or reach me directly at tchowdhury29@gmail.com.