AI-assisted full-stack development — Claude Code, Codex, and Cursor have changed how I approach data science. Data scientists like me can now be closer to creating products, designing databases, building experimentation systems, and the list goes on. Working on both sides with less friction - product development and product analytics - has the ability to make the productivity gains exponential.
Each project below was an excuse for a massive learning experience for me. Not listed are 20+ backoffice tools, from config UIs to user, product, billing analytics, ROAS, LTV, CAC dashboards, etc.
Featured
My vision was a true end-to-end B2C app: traffic acquisition (social, Google, Meta ads) → working signup flow → subscription billing → full analytics for insights and experimentation. Proud to say I accomplished this, slowly and surely. I went through several cycles of getting 90% there, only to find myself stuck in AI doom loops. Through prompt engineering trial and error, experimenting with different coding LLMs, and plenty of refactoring, I finally realized the vision. I'm no longer developing databot as I pursue more targeted (practical) projects. Key learnings: AI coding blasts open new possibilities to make me a better DS/ML practitioner, by contributing to the entire development lifecycle. Don't be afraid to start over. And solve specific problems first—generalize within that constraint.
Highlights
- AI orchestration: 6 LLM providers with custom system prompts & streaming responses
- Token economy: Databot uses 'databit' tokens tied to USD costs for margin control; Stripe billing with subscription tiers
- Growth: Resend email + Google/Meta paid traffic acquisition
- Analytics: Extreme session and funnel tracking, user behavior ML model training, real-time data pipelines and dashboards
Tech Stack
My current passion project! I play in 2 home leagues—a 14-team Mixed dynasty in its 19th year where I'm the defending champ 😊🏆, and a 30-team Mixed Franchise league with 20-man minor league rosters. I also compete in multiple NFBC leagues where a few thousand crazies vie for infamy and a $200k grand prize. The goal: productionize the hacky scripts and predictive models that have driven my success into a real application. At the core is the Dataset Wizard—a master dim_player table that recognizes players from almost any datasource and enforces templates for high-quality prediction modeling. Layer in your league metadata (standings, rosters, player values, schedules, trades, FA pickups, history) and you get analytics views unavailable anywhere else: projections customized to your league, all your leagues in one spot, and AI-powered recommendations.
Highlights
- Dataset Wizard: Master dim_player linking players across any datasource with enforced templates
- League sync: Rosters, standings, values, schedules, trades, FA acquisitions, history
- Custom analytics: League-specific projections, recommendations, multi-league dashboard
- LLM integration: Smart interactions for analysis and recommendations
Tech Stack
Other Projects
After wrapping up databot, I realized chatbots alone aren't unique—you need specific use cases. I accompanied a friend (a rainwater harvesting specialist) on a graywater management job, took some photos, and within 2 hours had a working site built on the askdatabot framework. Just from pictures, it generated Statements of Work, customized quotes/invoices, and hour-by-hour task lists—the recommendations were incredible. Sizing and product pricing needed work, but the insight was clear: with receipts and an audit trail of actual work performed, this could become an entire contractor backoffice system. I left it as a proof of concept, but it gave me a newfound understanding of how to use AI appropriately—solving specific problems for real customers.
Highlights
- Photo-to-document: Upload job site photos → get SOW, quotes, invoices, task lists
- POC built in a couple hours on askdatabot framework—demonstrated proof of rapid AI product development
- Key insight: Receipts + audit trail = trainable backoffice system
- Lesson learned: Solve specific use cases, not generic chatbot problems