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

OutreachOS

  • 3 Devlogs
  • 9 Total hours

OutreachOS is a lead management app I built for outreach work. You dump contacts in (Excel upload works), filter them by niche/country/status, and keep track of who you’ve already hit up. There’s a normal table view plus a weirder “vector vault” map if you want to explore the lead pool that way. Basically: less spreadsheet chaos, more “here’s my pipeline and I can actually use it.” Also another reason for building it was: When we scrape lead contact info, we quite often end up with duplicates or which we have already reached out too, this projects helps me avoid wasting my time on duplicates. It also give me a direct export option which I can use to easily export my current database and feed it to my scraper to tell it to avoid these leads. Please Checkout my devposts, if you wanna try a demo experience.

Open comments for this post

6h 15m 49s logged

DEVLOG #3 — ship got rejected so i rebuilt the vibe

ok so after #2 i actually shipped OutreachOS and got changes requested pretty fast. shipwrights said:
➤ the css looked like every other ai-made site  
➤ add a couple features i came up with to make it more fun  
➤ stop making people use demo creds  

that stung a little but they were right. this whole stretch was just me answering those instead of pretending it was finished :-D

the ui glowup :)

the biggest thing was the ui. before it was this dark teal ops console look. clean but soulless, like a saas template trying too hard.
I tried to think of a idea, then I remembered my high school portfolio, I based in on a notebook pages style ppt theme.
i ripped that dead ui out and went sketchbook / doodle for basically the whole app.

Now its paper backgrounds, doodle borders, sticky note energy, little hand-drawn characters hanging around. landing is brand first with the constellation field and doodles floating so it feels like mine instead of a product pitch. login and signup match that vibe now too, same paper/doodle language instead of looking bolted on.
dashboard feels like a notebook you actually use on call days instead of glass cards stacked forever. lead table is still built for real work but the chrome around it looks hand drawn. vector view (the niche/country constellation graph) is still there, it just fits better now. settings and account got the same treatment so flipping between pages doesnt feel like you teleported into a different app.
Basically whole point was stop looking generated.

the fun features

then the fun features. sticky call scripts were the one i wanted most. you get a general sticky plus niche ones, with placeholders like business, niche, location, phone that you speak through live. edit, save, reset. no ai writing your pitch. just a note that stays while you dial, which sounds small until youre mid call and dont want to lose your place.

call statuses got real too: New, Called, No Answer, Callback, Replied, Converted, Archived, and theyre one click chips so youre not hunting a dropdown mid call.

also built a quest board (To gamify cold-calling). optional on purpose. opt in when you set a username or later in account, get 3 random quests a week, progress when you move lead statuses. kinda dumb, kinda motivating, weirdly keeps me dialing cuz its easy to get discouraged while cold-calling T_T

import path got better too. any niche/country still works, clearer row errors when excel is messy, filters refresh after import, PLUS an import guide page and an excel template so people stop guessing columns.

signup / demo (no cred treasure hunt)

for the demo creds complaint i added a Try Demo button that just signs you in. shipwrights and anyone bored can open the site and click once. no more copying email/password out of a post.
you can also signup normally or continue with google if you want your own vault.
also pushed google oauth out of testing only so random google accounts actually work now, which took longer than it should have because google cloud is annoying.

tiny invisible stuff nobody screenshots: passwords still go through supabase auth hashed, secrets stay in env, mfa secrets encrypted at rest.
boring but i slept better after doing it ^_^

try it

site is https://outreachos-online.vercel.app

if you try it: open it, hit Try Demo or signup, pick a lead, flip a status chip, open the sticky script, peek at quests. tell me if anything feels weird or still looks template-y. im trying to catch that before i reship.

im hyped to ship again. still got a few final polish bits (maybe a student .me domain, google brand verification for the logo, tiny ui cleanup) then im hitting request re-certification. if youre free break it before then. i actually want the feedback this time tbh.

0
0
4
Ship #1 Changes requested

This project is called OutreachOS, if you have every tried starting your business or freelancing, there's always this major question: So how are we going to get clients?

Most of the people stumble upon the same idea, which is Cold Calling, Cold messaging or something on the similar side. This is because its the most common way to ACTUALLY get clients without spending funds on running ads, etc.
This method, though it works, requires lots of effort. You have to find contact information of people that might me interested in your services, save the numbers, call them, shoot your shot, and much more.

But to make it actually feasible, you have to manage a lot of contact and potential client information. I was dealing with the same issue. So, I came up with this Idea, What if I could just feed my excel sheets (like many due to separate batches of calls) have one place to easily search up some client's info when i need it (like in case of a callback), also be able to export my complete database in Just ONE CLICK to my scraper & Wallah ! there you have it, that's Exactly what OutreachOS is. Tho I went ahead and added more features to proper categorize each lead based on country, niche, date, etc as well as added to vector view to easily visualise what categories we have been targeting and where we can focus more.

Since OutreachOS involves importing contact information, I have made it so that it has a built in authentication system, so only you can log into your database.
_____________________________________________________________________
But if you want to test it out I have created a demo account (it has some restrictions unlike the admin/owner account to prevent destructive use) with some of my old lead contact data, Please use the following credentials to log in :

Email:[email protected]
Password:OutreachOS@13

Thank you for checking out my project, I am really glad you did ;)

  • 2 devlogs
  • 2h
Try project → See source code →
Open comments for this post

2h 1m 34s logged

DEVLOG #2 — Almost done + please break it for me

Ok so OutreachOS is basically complete. like the main stuff actually works now and im not waking up scared that login or imports are gonna explode.

this session was mostly cleanup + making it safe enough to show people:
➤ fixed the admin side so the dashboard shows my username instead of dumping my email on screen (that was lowkey embarrassing)
➤ admin can import excel sheets kinda aggressively (up to 200/min) which is what i needed for bulk lead dumps
➤ added a public demo account so yall can poke around without me handing out admin access
➤ demo is locked down on purpose: 1 upload per hour, and you only see 100 contacts (mixed niches + countries so it still feels real)
➤ also shipped a cleaner url finally

site: https://outreachos-online.vercel.app

Demo login (pls use this one):–>
• email✉️: [email protected]
• password: OutreachOS@13

if you try it, tell me what feels weird. broken filters, confusing UI, import failing, whatever. i want people to actually click around and roast it a bit before i call this fully finished.

anyway yeah. core app is mostly done. next stuff is just polish from real feedback. go test it if you’re bored.

0
0
6
Open comments for this post

23m 59s logged

What is OutreachOS?

OutreachOS is a B2B lead management platform for cold outreach. ChatGPT agents collect business data from Google Maps and submit it through a secure API. The system deduplicates leads, stores them in Supabase, and provides a real-time dashboard for filtering, searching, and CSV export.

Stack: Next.js 16 · React 19 · Supabase PostgreSQL · Tailwind CSS · shadcn/ui · Vercel

Development Timeline

Phase 0 — Foundation ✅
Bootstrapped the Next.js project, testing toolchain (Jest + Playwright), Cursor rules, and phase-based workflow.
Phase 1 — Database & Agent API ✅
Built the leads schema with maps_url deduplication, pg_trgm fuzzy search, and the first /api/agent/leads endpoint with X-Agent-Secret auth.
Phase 2 — Dashboard UI ✅
Shipped the dashboard: filter toolbar, prospect matrix table, metrics panel, pagination, and Stitch-aligned design components.
Phase 3 — Data Management✅
Connected the UI to live data — debounced search, multi-filter state, CSV export, URL-synced filters. Hit 85%+ test coverage.
Phase 4 — API Integration & ChatGPT Setup ✅
Multi-strategy auth (agent secret + Bearer API keys)
Tiered rate limiting, structured logging, Prometheus metrics
/api/health and /api/metrics endpoints
OpenAPI spec + ChatGPT Custom GPT documentation
190 tests passing · repo published publicly on GitHub
Links:-
Repo: https://github.com/its-techxtreme/OutreachOS
README: https://github.com/its-techxtreme/OutreachOS/blob/develop/README.md
Devlog file: https://github.com/its-techxtreme/OutreachOS/blob/develop/docs/DEVLOG.md

0
0
10

Followers

Loading…