The 12 Days of Full Stack Dev!

A journey through SaaS, trading, and software architecture

Written by Chris on November 27th, 2025

This post is the first part of a larger series of 'The 12 Days of Full Stack Dev', an adventure through full stack fintech app development. Join me through the first 12 days of December as we develop a variety of new features, fixes, and components within the Full Stack Craft fintech family.

Well, it's that time of year again! I was strongly considering participating in Advent of Code this year, since it's been reduced to just 12 days instead of the full 24, but I don't really have a target new language to learn, and after acing the challenge last year, I decided my time and efforts would be better spent to further improve my own company's products, and blogging about it on the way. I'm having trouble thinking about how to target readers (between actual customers of the SaaS products themselves, or the engineering code articles) so I think I'll try to get both in there.

The way I see it, with LLMs just getting better and better, (and with some careful guidance of course) there should be no problem of managing to tackle 12 small features, fixes, and improvements for 12 days to our SaaS products, and blogging about the process. So that's what I'll be doing! Hope this series is helpful and as fun to read as (I hope) it will be.

The Days

(To be updated as I get through them.)

Day 1 - Migrating from session based authentication to OAuth2 for The Wheel Screener's historical data fetcher.

Day 2 - From Fixed to Dynamic: Building an IV Surface for Better Exposure Calculations in VannaCharm.

Day 3 - A "recently used" component for VannaCharm's Symbol Overview page.

Day 4 - Generic Netlify Edge Function for Supabase Table CRUD.

Day 5 - Using the Netlify edge function to store custom table layouts in The Wheel Screener and LEAPS Screener.

Day 6 - Adding a button for users to manage their subscription in VannaCharm.

Day 7 - Scaffolding a Documentation and Example Site for the floe package using GitHub Pages.

Day 8 - A marketing banner component for VannaCharm that also makes use of local storage as well as authentication state to show once-per-user marketing messages.

Day 9 - Adding a Dividend Filter to The Wheel Screener and LEAPS Screener.

Day 10 - Adding a Full Tradier Integration and OAuth Flow to VannaCharm.

Day 11 - Introducing floe - a 0 dependency npm package for real-time option pricing and Greeks using Black-Scholes, the same package used client side in all of Full Stack Craft's fintech products.

Day 12 - Publishing my "Goals for 2026" blog post on my personal blog, chrisfrew.in.

More posts:

footer-frame