Project archive: systems engineering case studies

A collection of product engineering case studies: cloud consoles, realtime systems, and Web3 platforms by Sangeet Banerjee.

Back to Sangeet Banerjee homepage

Tasty SDK: project facts

Project
Tasty SDK
Period
2024
Role
Solo Developer
Summary
Embeddable testimonial widget platform
Description
An embeddable widget platform that lets developers add testimonial forms to their sites. I built the lightweight client-side widget, set up the analytics tracking backend, and built a dashboard where users can see how their widgets are performing.
Domains
SDK Development, Embeddable Systems, Developer Tooling, Dashboard Design
Technologies
Next.js, React, TypeScript, SSR, Widget Systems
Ownership
The embeddable widget script design and logic
Ownership
Dashboard interface for widget customization
Ownership
Widget view and click tracking analytics APIs
Ownership
Vanilla Javascript rendering and lifecycle hooks
Ownership
Documentation and copy-paste installation snippets
Learning
Building SDKs is a lesson in paranoia. You have to assume the host website has bad scripts, slow networks, and weird global CSS, and make sure your widget survives anyway.
Professional signal
I care about building lightweight, bulletproof developer tools that integrate easily without causing headache.

Tasty SDK

embeddable testimonial widget platform

Tasty SDK
Overview

an embeddable widget platform that lets developers add testimonial forms to their sites. i built the lightweight client-side widget, set up the analytics tracking backend, and built a dashboard where users can see how their widgets are performing.

Why this existed

adding testimonials to websites should take a few minutes, not hours.

How I approached it

i wrote the widget using lightweight vanilla Javascript with no external dependencies so the bundle stayed under 10KB. i made it load asynchronously so it wouldnt block the host pages load time, and built a separate dashboard in Next.js where customers could customize their forms and see views and conversion charts.

What changed

i shipped a working widget SDK and dashboard. the project showed me how to design developer-facing tools that are easy to drop into any website, whether it is built with WordPress, Next.js, or plain HTML.

Year2024
RoleSolo Developer
Bundle Size<10KB
TypeDeveloper SDK
What I actually owned
  • ·the embeddable widget script design and logic
  • ·dashboard interface for widget customization
  • ·widget view and click tracking analytics APIs
  • ·vanilla Javascript rendering and lifecycle hooks
  • ·documentation and copy-paste installation snippets
What became difficult

when you build a script that other people embed on their websites, it has to be tiny, load instantly, and never break their page. if our script was too large or threw a single javascript error, it would hurt their sites performance or break their layout, so I had to make it extremely light and isolated.

What I learned

building SDKs is a lesson in paranoia. you have to assume the host website has bad scripts, slow networks, and weird global CSS, and make sure your widget survives anyway.

What surprised me

building the widget was easy. making it survive random websites was difficult.

Before → After
Before
  • ·bloated slow embeds
  • ·leaking host styles
  • ·untrackable widget clicks
After
  • ·sub-10KB async script
  • ·isolated Shadow DOM widget
  • ·dashboard analytics tracking
Small opinion

SDKs are mostly about surviving strange environments.

What I would improve now

i would set up a global CDN (like Cloudflare or Vercel Edge) to serve the widget script from locations closer to the user to make loading even faster. id also write a helper library for React and Vue to make integration even easier for developers using those frameworks.

Random things I remember
  • ·i spent hours testing the embed script on random website builders like Squarespace, Wix, and WordPress to see if they would break our styling.
  • ·seeing the widget load perfectly inside a completely broken Web v1 site was incredibly satisfying.
What this project says about me

i care about building lightweight, bulletproof developer tools that integrate easily without causing headache.

Built with
Next.js
React
TypeScript
SSR
Widget Systems
Domains
SDK Development
Embeddable Systems
Developer Tooling
Dashboard Design