Tanya Shapiro
banner
tanyashapiro.bsky.social
Tanya Shapiro
@tanyashapiro.bsky.social
Solopreneur @ IndieVisual
Data geek who loves problem solving
Rambles about fitness & random stuff too

https://indievisual.tech
The next experiment: making this Shiny doc gen app work with an LLM. First time playing around with the R openai package.

Safe to say, I'm blown away 🤯
October 30, 2025 at 7:01 PM
I really enjoy tool building. A use case that comes up a lot in my world is dynamic doc gen.

Sharing an example of how you can leverage the powers of Shiny + R markdown to create something bespoke to your needs.

Use case below to generate contract docs ✨
October 29, 2025 at 11:08 PM
I had to do a double take on this map.

To really highlight “high” vs “low,” it’s clearer to use completely different colors instead of similar hues. The choice below reads like a sequential scale - light blue feels like a middle bin, not a low one.

Color opinions aside, interesting info!
September 25, 2025 at 2:16 AM
in case anyone wants to embark on this learning journey with me, I used Claude to help me make a cheatsheet of methodologies and best use cases.
September 18, 2025 at 5:26 PM
This is by far the most time saving thing I've built for myself.

She has ChatGPT brains, Donna Paulsen's personality, and all the skills I need to get basic admin work done.

Thank's Donna 🤍
September 10, 2025 at 7:51 PM
Not a data post, but I’m still doing data things behind the scenes… regardless of my questionable fashion choices.
September 10, 2025 at 7:37 PM
TIL to always check your input types in R. NEVER ASSUME.

Shiny dateInput() on back end is actually an input type text. So if you try to do fun JS things to look for an input date, you'll run yourself to death in circles.

Don't be like me. Don't assume. Check your input types.
September 4, 2025 at 4:03 PM
Ok, Osaka and Andre Swagassi won me over. I need a Labubu.

That’s gotta be the secret sauce to her game. Phenomenal match tonight. 🎾
September 4, 2025 at 1:44 AM
you win some, you lost some

dev + QA date with PowerAutomate. it's about as fun as it sounds.
August 27, 2025 at 6:58 PM
me battling version control problems this AM
August 20, 2025 at 2:48 PM
Am I taking things too far with Donna?

Expanding my new virtual assistant's skillset to go beyond organizing my work day and manage my workout schedule.

I need someone to hold me accountable!
August 17, 2025 at 10:09 PM
TFIF

It’s been a long week friends. Go unplug and do something fun this weekend 🤍
August 15, 2025 at 3:24 PM
Donna, you're hired! ⭐

Vibe coded my new work bestie to life. And yes, she's named after the all-knowing assistant in Suits.

First up: simple slash commands. Next up: sassy back-talk to keep me in line.
August 9, 2025 at 3:17 PM
welp, if that’s my next best option, I guess we’ll still never know.

maybe on v7. 🙃

CC @ansgarw.bsky.social - this was no contest my favorite post about it
August 8, 2025 at 9:21 PM
R markdown is still one of my faves. Especially with pagedown.

I had to create a resume the other day for an RFP. Using rmd was so much easier than screaming at Word. And it’s cheaper than shelling out $ for premium templates on Canva (we like free 😎).

Just a little HTML, CSS and presto - PDF! 🪄
August 7, 2025 at 4:06 PM
Sharing with #databs in case anyone is hiring data people.

Katie is exceptional and looking for data science roles.

Please let me know if I can help make an intro 🤝
August 5, 2025 at 6:47 PM
If you take a break, you can always start again and rebuild.

Getting back into my fitness routine. It’s hard climbing the mountain from the beginning - but I’m learning to meet & appreciate my body where it’s at 🧘🏻‍♀️
August 3, 2025 at 10:18 PM
I love playing this game called “why did my pipeline break now?”

*rolls up sleeves and pretends to be a data engineer*
July 27, 2025 at 11:36 PM
So many product roadmaps promising AI. The FOMO is real in SaaS world, it's become an AI-or-bust mentality.

But all those AI features are meaningless if it doesn't connect back to your USP & create REAL value.

Product peeps, I feel for you. No doubt you're being overruled by the powers that be. 🫠
July 23, 2025 at 4:44 PM
Etymology Fun Fact

“Milquetoast” - to be timid or unassertive - comes from a fictional character, Caspar Milquetoast, created by Harold T. Webster in the comic strip, The Timid Soul.

His name was a play on “milk toast”, a soft, bland breakfast dish, and an apt metaphor for his personality. 🥛🍞
July 21, 2025 at 11:41 PM
ggplot + ggiraph in action ⚡

I teamed up with @cedricscherer.com to put together a fun ggiraph talk for useR conf this year. Of course I had to show an example inspired by him!

Stay tuned for behind the scenes how-tos, tricks, and code. Excited to share more info when the talk is live!
July 21, 2025 at 7:09 PM
Now this is a sneaky clever way to market jobs for tech people... I don't know if it's intentional, but it's brilliant.
July 1, 2025 at 10:01 PM
More Shiny stuff

In app dev, thinking about the data model first pays dividends later on.

I've been scarred by products that don't have edit histories or worse, use hard deletes. So to do it right, we need 3 tables:

- Object (eg activity)
- Object edit history
- Object change log (old, new value)
June 28, 2025 at 10:52 PM
Shiny, but make it not like Shiny. #rstats
June 24, 2025 at 5:55 PM
Fine, I've been bullied into doing it the right way.

Goodbye iframe, hello custom components that work with SavvyCal APIs to schedule disco calls 🪩🕺
June 16, 2025 at 8:42 PM