You are browsing as a guest. Sign up (or log in) to start making projects!

sripad

@sripad

Joined June 12th, 2026

  • 20Devlogs
  • 9Projects
  • 9Ships
  • 75Votes
I like food
Ship Pending review

what did you make?
a slack bot for hack club with 11 slash commands, all prefixed /sripin- so they don’t clash with other bots. it does weather, dictionary lookups, jokes, cat facts, quotes, dice rolls, a magic 8-ball, coin flips and more, built on slack bolt over socket mode.

what was challenging?
getting the two slack tokens right and understanding socket mode, since the bot has no public url and just opens a websocket to slack. also hit a bug where my little health server would crash the whole bot if its port was taken.

what are you proud of?
that it’s actually solid, not just a toy. every api call has a timeout and try/catch so a dead api can’t kill it, a couple have offline fallbacks, and it shuts down cleanly so systemd restarts don’t break anything.

what should people know so they can test it?
invite the bot to a channel like #bot-spam, then try /sripin-help to see everything. good ones to start with: /sripin-weather london, /sripin-roll 2d6, /sripin-8ball will this work, /sripin-define serendipity.

Try project → See source code →
Open comments for this post

35m 20s logged

built the bot on node + slack bolt in socket mode, so it talks to slack over a websocket with no public url. made the slack app from a manifest (auto-adds the slash commands, scopes, socket mode and the @mention event), generated the app-level and bot tokens, dropped them in a gitignored .env, and verified both against the slack api — “bot is running! now connected to slack”.then made it better: 11 commands now, all prefixed /sripin- so they don’t collide with other bots — ping, help, catfact, joke, quote, weather (wttr.in, no api key), define, 8ball, roll (NdM dice), flip, choose. every api call has a timeout and try/catch so a dead api can’t crash the bot, and a couple have offline fallbacks. fun commands post in-channel so everyone sees them. also fixed a real bug where the little http health endpoint would kill the whole bot if its port was taken, now it just disables itself — and added an error handler, clean sigint/sigterm shutdown, and a line that logs every incoming command. last step is deploying to hack club nest so it stays live 24/7 with my laptop closed.

0
0
14
Open comments for this post

4h 56m 29s logged

day 1 on my stardance slack bot. started by reading through the whole guide so i knew what i was building - a slack bot that answers slash commands. first thing i actually set up was builting the bot itself - a node project using slack bolt in socket mode, so it talks to slack over a websocket and doesn’t need a public url. wrote four slash commands: /sripin-ping replies with the bot’s latency, /sripin-help lists the commands, and /sripin-catfact and /sripin-joke pull from public apis with axios and have try/catch so a dead api doesn’t crash the bot. also added a tiny http health endpoint on port 3000 so there’s still something to open in a browser, plus a systemd service file for deploying on nest later. set up the git repo, wrote the readme, and pushed everything to github. next up: make the actual slack app, get the xoxb + xapp tokens into .env, run npm install, and test it live in #bot-spam.

0
0
76
Ship

so i built serenityos, a little web-based operating system that runs right in your browser. it’s got a desktop, draggable windows, a dock, and a bunch of mini apps — all vanilla html/css/js, no frameworks, no build step.

for this mission i added 3 new features:

browser — a mini web browser inside the os. type a url, hit go, it loads in a window.
paint — a canvas you can actually draw on. pick a color, change the brush size, and save your doodle as a png.
new animated ui — gave the whole thing a fresh look with real motion: headings that reveal word-by-word as you scroll and buttons that drift toward your cursor.
what was challenging: doing the animations in plain javascript was the tricky part — no framer motion or gsap, so i had to hand-roll the word-by-word reveals with intersection observers and the magnetic buttons with pointer math. getting the paint canvas to map mouse coords correctly when the window resizes also took a few tries.

what i’m proud of: how cohesive it all feels now — the landing page, the docs, and the desktop all look like one product. and the fact that it’s 100% vanilla js but still feels smooth and alive.

how to test it: head to serenityux.vercel.app → hit launch os → then click around the dock. open browser and load a site, open paint and draw something, or mess with the calculator, notes, and timer. everything saves locally so your notes stick around when you come back.

  • 1 devlog
  • 15h
  • 4.89x multiplier
  • 49 Stardust
  • WebOS 2
Try project → See source code →
Open comments for this post

14h 43m 24s logged

been improving serenityos lately and honestly it’s in a way better place now. gave the whole thing a fresh look, clean type, calm colors, feels like one cohesive product from the landing all the way into the desktop. also shipped 3 new features: a browser you can actually surf in, a paint app for doodling (save as png too), and a new animated ui with word-by-word reveals and buttons that drift toward your cursor. cleaned up a bunch of old jank along the way. more soon :)

0
0
33
Ship

what did you make?

my personal portfolio site. it’s where i show what i’m working on and what i’ve shipped. homepage has my main projects, and each one clicks into its own page with the full story. 8 projects total, from startups to school projects to random experiments.

what was challenging?

the contact form was the biggest one. wanted people to email me straight from the site with no popup or anything, so i had to build a real backend for it plus spam protection so nobody can send more than 3 messages a day, checked both on the browser and on the server so it can’t be bypassed.

also almost shipped the site with 18 known security vulnerabilities because i just never thought to check. did a full audit and fixed all of them, ended at zero.

what are you proud of?

that every stat on the site is real. first draft i let ai guess at my project achievements and it was embarrassing, generic buzzword soup. rewrote every single project with actual numbers instead. nothing on the site is made up.

what should people know to test it?

click into any project card, not just the homepage. the case studies are where the actual work is
try the contact form, it really sends to my inbox
if you spam it more than 3 times it’ll tell you to stop, that’s intentional not a bug

Try project → See source code →
Open comments for this post

9h 23m 45s logged

built my own personal website from scratch. it’s where i show what i’m working on and what i’ve shipped. the homepage has all my main projects, and each one clicks into its own page with the full story, what i built, and what happened. there are 8 in total, from startups to school projects to random experiments. added a real contact form that actually sends emails to my inbox when someone fills it out, with spam protection so nobody can send more than 3 messages a day.
did a full security check and patched every vulnerability, ended at zero.
not trying to make it perfect, just trying to make it real.

0
0
44
Ship

What did you make?
OneShot is an app that kills prompt engineering. You describe what you want in plain English, hit execute, and get a professional result. No tweaking. No retries. No “let me regenerate that.” Just describe what you need and it handles everything behind the scenes.

What was challenging?
Getting the Gemini API integration working took some debugging—had to switch from gemini-1.5-flash (wasn’t available on my API tier) to gemini-2.5-flash. Then figuring out Next.js client-side navigation for the execution flow. Also building a template system that actually feels useful instead of gimmicky took thought. Database persistence with graceful degradation was the final piece—making it optional but still seamless.

What are you proud of?
The entire thing is under 10kb of production JavaScript. No bloat. Every feature exists because it solves a real problem: templates save time, keyboard shortcuts (Cmd+K) reward power users, the result modal lets you actually read long outputs, settings persist so you’re not starting from scratch each time. It’s an honest product that does what it says.

What should people know so they can test your project?
Go to https://oneshot-chi-nine.vercel.app—no login, no credit card, no setup. Click “Create New Task” (or press Cmd+K), describe what you want, pick a category, hit Execute. Try the templates if you want quick wins. Everything’s real: you’ll get actual results, copy/download buttons work, tasks show up on your home page.

  • 5 devlogs
  • 2h
  • 8.68x multiplier
  • 41 Stardust
Try project → See source code →
Ship

what did you make?

my personal portfolio site. cloned the structure from a really well-built next.js template (dennis snellenberg’s, if you’ve seen it) and gutted it down to nothing, then rebuilt it as mine — real projects, real photos, real copy, my own animations tuned in. 8 case studies, a working contact form that actually emails me, custom 404/error pages, the whole thing.

what was challenging?

the contact form was the big one. wanted people to be able to email me straight from the site, no mailto popup, so i had to wire up a real backend api route with an email service, plus rate limiting so it can’t get spammed (3 messages a day per person, checked both client and server side so it can’t be bypassed).

also spent way too long getting social share previews right — turns out next.js doesn’t just inherit your image/card settings across pages the way you’d expect, so half my pages were silently missing the preview image until i caught it. and i almost shipped the site running a next.js version with 18 known security vulnerabilities because i never thought to check. did a full audit and fixed it.

what are you proud of?

that every stat on the site is real. first draft i let ai guess at achievements based on vague skill tags and it was embarrassing — generic buzzword soup. went back and rewrote every single project with actual numbers: socle’s real waitlist count, equity intel’s real alert volume, the actual story behind why i built each thing. nothing on there is made up.

also proud i pushed back on making it “perfect” and just made it real instead. still have 3 projects running placeholder graphics instead of real screenshots and i’m not stressed about it.

what should people know to test it?

click into a project card, not just the homepage — the case studies are where the actual work is
try the contact form, it really sends to my inbox
hover the name on the homepage, small easter egg there
if you spam the contact form more than 3x it’ll tell you to stop, that’s intentional not a bug

Try project → See source code →
Open comments for this post

17m 58s logged

finally started making my portfolio feel like my own instead of another template. rebuilt the homepage, replaced all the placeholder content with real project stories and metrics, fixed a bunch of annoying UI bugs, and added dedicated case study pages for every project. also rewrote the about page and added small details like page-specific preloaders that make the site feel a little more polished

0
0
2
Ship Changes requested

What I Made
Paste a domain, get back: founder names, founding year, tech stack, emails, hiring signals, revenue estimate, and a personalized cold email you can actually send. Works in 3 seconds. Free, no login.

What Was Challenging
Wikipedia wikitext templates are evil. {{Unbulleted list|a|b|c}} was leaking raw into the UI. Took forever to build a depth-aware parser that actually works. Also: small businesses hide their data (no /pricing page, phone buried in microdata), so I had to scrape sub-pages in parallel.

What I’m Proud Of
The conviction score actually works — high score means “this person will probably respond to cold email” because they have modern tech + they’re hiring + they have pricing. The AI outreach is solid too (not template garbage). Most: it works equally well for a dentist clinic and Stripe.

How to Test It
Go to leadscan-web.vercel.app/scan, paste a domain (try stripe.com or your competitor), wait 3 seconds. Click “Ask AI” to fill in missing founder names or revenue. Export to CSV. That’s it.

  • 1 devlog
  • 0h
Try project → See source code →
Open comments for this post

2m 51s logged

I started with a simple website scraper, but it quickly became clear that it only worked well for tech startups. So I pivoted hard: I added parallel sub-page fetching for contact and about pages, built Wikipedia integration to pull founding data, and spent a lot of time fighting ugly wikitext template parsing bugs. I also expanded industry detection from 5 categories to 20+, which made the scans much more accurate across different kinds of businesses.The UI got a full redesign too, from something vibecoded into something much more editorial, with a dark hero section, Cormorant Garamond serif text, and electric blue accents. The most important addition was the “Ask AI” button: Groq’s llama-3.3-70b now fills in missing founders, revenue, and key products on demand, but only when clicked, so there’s no latency penalty during normal scans. After setting GROQ_API_KEY on Vercel and deploying to production, the project became a full intelligence tool that can generate detailed reports for both Stripe and local businesses. Ship the thing.

0
0
31
Open comments for this post

1h 1m 20s logged

got feedback that the readme sounded too AI-generated. stripped it down, rewrote it in first person, added a screenshot, trimmed features to 6 bullets. removed the corporate FAQ, the exhaustive tech stack list, everything that felt like a template. readme now sounds like i actually wrote it instead of a marketing team approving it. added a “how it works” section that tells the real build story instead of listing libraries. shipped it.

0
0
16
Open comments for this post

0s logged

Devlog — Killed the Grok API Dependency

clarification questions were broken. Grok API wasn’t recognizing any model names (grok-2, grok-beta, grok — all failed). spent 15 minutes debugging dead ends.

gave up on the api. switched to hardcoded template questions instead. built question templates for each category: research gets different questions than business, different from writing, etc.

now when user hits execute → instant questions pop up → no api calls, no latency, no failures. just works.

same feature. actually reliable. 🚀

0
0
9
Open comments for this post

12m 22s logged

OneShot Dashboard Redesign

Spent the week tearing down the OneShot dashboard and rebuilding it with a clean black/white aesthetic. Text was disappearing, colors were fighting each other, and the whole thing felt half-baked.

Went through five pages and standardized the color system: solid white for primary text, opacity variants for secondary, and proper contrast everywhere. Same features, completely different vibe.

The real win? Design isn’t decoration. When a page is polished, users assume the engineering is solid. Now it actually looks like I care about the details.

Ship first, perfect later.

0
0
7
Open comments for this post

1h 1m 25s logged

I improved the UI to make the project look more polished and intentional, with cleaner spacing, better visual hierarchy, and a smoother overall experience. I also rewrote the README so it felt more human and easier to understand, instead of sounding like a wall of technical notes. On top of that, I added a few new features that make the app feel more complete, more useful, and closer to something people would actually want to keep using.

0
0
4
Ship

What I Made
Paste a domain, get back: founder names, founding year, tech stack, emails, hiring signals, revenue estimate, and a personalized cold email you can actually send. Works in 3 seconds. Free, no login.

What Was Challenging
Wikipedia wikitext templates are evil. {{Unbulleted list|a|b|c}} was leaking raw into the UI. Took forever to build a depth-aware parser that actually works. Also: small businesses hide their data (no /pricing page, phone buried in microdata), so I had to scrape sub-pages in parallel.

What I’m Proud Of
The conviction score actually works — high score means “this person will probably respond to cold email” because they have modern tech + they’re hiring + they have pricing. The AI outreach is solid too (not template garbage). Most: it works equally well for a dentist clinic and Stripe.

How to Test It
Go to leadscan-web.vercel.app/scan, paste a domain (try stripe.com or your competitor), wait 3 seconds. Click “Ask AI” to fill in missing founder names or revenue. Export to CSV. That’s it.

  • 1 devlog
  • 6h
  • 13.52x multiplier
  • 76 Stardust
Try project → See source code →
Open comments for this post

5h 57m 21s logged

I started with a simple website scraper, but it quickly became clear that it only worked well for tech startups. So I pivoted hard: I added parallel sub-page fetching for contact and about pages, built Wikipedia integration to pull founding data, and spent a lot of time fighting ugly wikitext template parsing bugs. I also expanded industry detection from 5 categories to 20+, which made the scans much more accurate across different kinds of businesses.

The UI got a full redesign too, from something vibecoded into something much more editorial, with a dark hero section, Cormorant Garamond serif text, and electric blue accents. The most important addition was the “Ask AI” button: Groq’s llama-3.3-70b now fills in missing founders, revenue, and key products on demand, but only when clicked, so there’s no latency penalty during normal scans. After setting GROQ_API_KEY on Vercel and deploying to production, the project became a full intelligence tool that can generate detailed reports for both Stripe and local businesses. Ship the thing.

0
0
6
Open comments for this post

0s logged

built an AI execution engine. you describe what you need, it gives you professional results in seconds. rewrote the README to sound human (last one looked AI-generated). fixed UI readability, added progress bars, implemented retry logic for API stability. it’s live at oneshot-chi-nine.vercel.app and actually works. and my vercel kept deploying my old deployments so fixing that took me a long time i also added a progress bar feature so users dont get stuck on the screen showing nothing and yea some of the previous buttons weren’t working or were glitched so i fixed those too.

0
0
15
Ship

What did you make?
OneShot is an app that kills prompt engineering. You describe what you want in plain English, hit execute, and get a professional result. No tweaking. No retries. No “let me regenerate that.” Just describe what you need and it handles everything behind the scenes.

What was challenging?
Getting the Gemini API integration working took some debugging—had to switch from gemini-1.5-flash (wasn’t available on my API tier) to gemini-2.5-flash. Then figuring out Next.js client-side navigation for the execution flow. Also building a template system that actually feels useful instead of gimmicky took thought. Database persistence with graceful degradation was the final piece—making it optional but still seamless.

What are you proud of?
The entire thing is under 10kb of production JavaScript. No bloat. Every feature exists because it solves a real problem: templates save time, keyboard shortcuts (Cmd+K) reward power users, the result modal lets you actually read long outputs, settings persist so you’re not starting from scratch each time. It’s an honest product that does what it says.

What should people know so they can test your project?
Go to https://oneshot-chi-nine.vercel.app—no login, no credit card, no setup. Click “Create New Task” (or press Cmd+K), describe what you want, pick a category, hit Execute. Try the templates if you want quick wins. Everything’s real: you’ll get actual results, copy/download buttons work, tasks show up on your home page.

Try project → See source code →
Loading more…

Followers

Loading…