Software EngineerFull-stack
Ting Tang
I build software end to end, from the database to the screen. I like pulling a system apart to see what it's really doing.
cat at-a-glance
- Languages
- JavaScript/TypeScript · C# · PHP · Python · SQL
- Frameworks
- React · Next.js · ASP.NET Core · Node.js
- Curious about
- AI, data, developer tools, and more
Disciplines: Full-stack web apps, AI and LLM features, APIs and integrations, Cloud and CI/CD, Developer tooling
00Intro
The short version
01Selected work
Eight projects, up close
Full-stack product2025 – 2026
AI Study Platform
Personal product · toto-study.com
Turns any document, video or podcast into summaries, flashcards and quizzes, scheduled with FSRS-4.5 — one .NET API behind web, admin and mobile apps.
- Deployables
- 4
- Document types
- 234
- LLM providers
- 9
Tech stack
- Backend
- .NET 10
- ASP.NET Core
- EF Core
- MediatR
- FluentValidation
- SignalR
- Data
- PostgreSQL
- pgvector
- Redis
- S3
- Frontend
- React 19
- Expo
- Tailwind CSS
- AI
- LLM
- Embeddings
- Pipeline
- yt-dlp
- ffmpeg
- Whisper
- Infra
- Docker
- Lightsail
- CloudFront
- Caddy
- Supabase
Browser extension · AI video2024
WayinVideo
Wayin AI · Chrome extension, Manifest V3
A Chrome extension that summarises YouTube and Bilibili videos, with clickable timestamps and chat about what's on screen.
- Video sites
- 2
- UI languages
- 90+
- Tracked events
- 49
Tech stack
- Extension
- Chrome Extensions
- Service worker
- Content scripts
- Frontend
- React
- TypeScript
- Ant Design
- Vite
- Libraries
- html2canvas
- i18next
- Mixpanel
Low-code platform2025 – 2026
Lowcode Studio
Open-source low-code platform · self-hostable
A low-code platform for admin consoles: design a page visually, bind it to named APIs, and publish it as JSON that a runtime renders.
- Widgets
- 52
- Workspace packages
- 5
- Type errors
- 0
Tech stack
- Frontend
- React
- TypeScript
- Rematch
- React Router 7
- react-dnd
- Design system
- Tailwind CSS
- Radix UI
- API
- Node.js 22
- Express
- Nacos config
- Data
- Sequelize 6
- MySQL
- Versioned migrations
- Tooling
- webpack
- node:test
- Docker
- AWS
SaaS platform2025 – 2026
Web Monitor
Open source · MIT
Multi-tenant front-end monitoring: a browser SDK, a guarded ingest endpoint, and a GraphQL dashboard of issues, trends and alerts.
- Monitoring layers
- 4
- Tests
- 236
- Default ingest cap
- 6000/min
Tech stack
- SDK
- JavaScript
- PerformanceObserver
- sendBeacon
- Vitest
- API
- Node.js 22
- Express
- GraphQL
- Apollo
- Data
- Prisma
- MySQL
- Redis
- Dashboard
- React 19
- Vite
- Recharts
- GraphQL Codegen
- Services
- Gemini
- Docker
- GitHub Actions
Backend · C# / .NET 82026
Access Control API
ASP.NET Core minimal API
A .NET 8 door-access API that fails closed, tells doors only yes or no, and hash-chains every read and change.
- Denial reasons
- 9
- Tests
- 131
- Roles
- 4
Tech stack
- Runtime
- C# 12
- .NET 8
- ASP.NET Core minimal API
- Security
- Hashed API keys
- Role policies
- Rate limiting
- HMAC-SHA256
- Storage
- JSON document store
- Hash-chained JSONL
- Atomic rename
- Tests
- xUnit
- WebApplicationFactory
- TimeProvider
- Ship
- Docker (non-root)
- GitHub Actions
- System.Diagnostics.Metrics
Interactive visualization · education2026
DSA Visualizer
Open source · MIT · live on Vercel
54 data structures and algorithms, animated step by step, with the running line highlighted in C, Python or JavaScript.
- Visualizations
- 54
- Renderers
- 21
- Implementations
- 162
Tech stack
- UI
- React
- React Router
- Content
- C
- Python
- JavaScript
- Build & hosting
- Vite
- Vercel
Deep learning · computer vision2026
Petri Dish Cell Culture Classification
Research project · industry dataset
16-class image classification on messy real-world lab photographs, with a severe class imbalance and a two-stage preprocessing pipeline doing most of the heavy lifting.
- Best accuracy
- 70.71%
- Best macro-F1
- 65.81%
- Class imbalance
- 320×
Tech stack
- Frameworks
- PyTorch
- timm
- Ultralytics YOLO
- scikit-learn
- OpenCV
- Models
- CNN + CBAM
- SE-ResNet
- ConvNeXt
- Swin Transformer
- SVM
- Techniques
- Focal loss
- CutMix
- MixUp
- TTA
Deep learning · audio2026
Acoustic Species Identification in the Pantanal
Research project · BirdCLEF 2026
206 species, 35,549 recordings, and a controlled test of whether diffusion-generated synthetic audio can rescue the rare classes.
- Best macro ROC-AUC
- 0.977
- Recordings / species
- 35,549 / 206
- Models benchmarked
- 9 × 2
Tech stack
- Features
- BirdNET
- librosa
- SpecAugment
- Models
- LightGBM
- AST
- ConvNeXt
- EfficientNet
- PANNs
- Synthesis
- AudioLDM2
- HiFi-GAN
- Tooling
- PyTorch
- timm
- diffusers
- scikit-learn
02Toolkit
What I reach for
ting --skills --verbose
- Frontend
- React
- Next.js
- JavaScript
- Vite
- Tailwind CSS
- React Native / Expo
- Backend
- C#
- ASP.NET Core
- EF Core
- Node.js
- PHP
- Python
- REST
- GraphQL
- Data
- PostgreSQL + pgvector
- MySQL
- MongoDB
- Redis
- Prisma
- AI & GenAI
- LLM integration
- RAG
- AI agents & tool calling
- PyTorch
- scikit-learn
- Cloud & DevOps
- AWS
- Azure
- Docker
- CI/CD
- Git
- Testing
- xUnit
- Vitest
- Jest
- Playwright
- React Testing Library
Toolkit loaded