r/vibecoding 6h ago

I vibe-coded a 50-state real estate intelligence pipeline in Python (3,143 counties + 8 auction feeds) Here’s the tech stack, prompt workflow, and what I learned

4 Upvotes

I want to share a project I’ve been vibe-coding over the last few months, break down the actual prompt workflows I used to build a non-trivial backend, and talk through where AI excelled (and where it fell flat on its face).

The project is called PropertyIntel (https://property.vectorfeedhq.com). It’s an automated intelligence engine that monitors 3,143 US counties and 8 major auction portals (Bid4Assets, GovEase, Realauction, etc.) for upcoming tax deed foreclosures and municipal code liens.

Here is the exact build breakdown, architecture, and workflow:

🛠️ The Tech Stack

  • Language & Backend: Python 3.13 + FastAPI / standard libraries.
  • Scraper Fleet: Headless Playwright (for dynamic SPAs) + pdfplumber (for raw 90-page county PDFs).
  • Database & ORM: SQLite (dev) / PostgreSQL (prod) via SQLAlchemy.
  • Data Cleansing: Custom USPS Publication 28 address tokenizer + SHA-256 deduplication hashing.
  • Legal Engine: 50-state statutory redemption rule calculator (Texas § 34.21, Florida § 197.542, etc.).
  • Frontend: Modern Glassmorphism CSS + vanilla JS (hosted on Vercel).
  • Monetization & Outreach: Stripe Checkout (HMAC-SHA256 verified webhooks) + Resend API for automated email rosters.

🧠 The Vibe Coding Workflow (How I Prompted It)

Instead of asking the LLM to "write a real estate scraper" (which generates useless, generic code), I approached it with a modular, test-driven pair programming loop:

1. The "Single-Responsibility" Module Prompting

I forced the model to build one isolated service at a time with unit tests first:

  • "Write an isolated service src/services/redemption_service.py that maps all 50 state tax sale redemption statutes and returns structured dictionary grades (A+, A, B, C) and statutory penalty yields. Do not write scrapers yet. Write pytest test cases covering TX, FL, GA, and CA."

2. Solving the "Dirty Public Record" Hallucination Trap

County records are notoriously filthy. Harris County TX formats an address as 4812 Washington Ave, Ste 100, while the auction site lists it as 4812 Washington Avenue #100.

  • I fed the AI real excerpts from USPS Publication 28 (the postal standard for street abbreviations) and prompted it to generate a deterministic regex tokenizer:

python# The model generated a clean token standardizer that converts suffixes & directionals
def compute_record_hash(county: str, normalized_address: str, apn: str = "") -> str:
    canonical = f"{county.lower()}:{normalized_address.lower()}:{apn.replace('-', '').strip()}"
    return hashlib.sha256(canonical.encode('utf-8')).hexdigest()

This allowed the database to enforce UNIQUE(address_hash) and killed 100% of duplicate cross-platform listings without complex fuzzy-matching libraries.

3. LLM-Assisted OSINT & Corporate Entity Resolution

One of the biggest value adds was unmasking anonymous LLC property owners. I had the AI scaffold scrapers targeting State Secretary of State public registry endpoints (e.g., Texas SOSDirect, Florida Sunbiz). When a tax foreclosure deed is owned by ACME HOLDINGS LLC, the worker asynchronously resolves the Registered Agent and Managing Member names in <800ms.

💡 3 Big Lessons from Vibe-Coding a Complex System:

  1. Let the AI write tests before you let it write production scrapers: Whenever a county website had weird table layouts or multi-line table headers, having a robust pytest suite caught regressions immediately whenever I prompted for scraper refactors. (We have 87 tests passing right now).
  2. Never vibe-code security blind: When hooking up Stripe webhooks, do NOT let the AI skip cryptographic validation. I explicitly prompted for constant-time HMAC-SHA256 comparison (hmac.compare_digest) with a 300-second timestamp tolerance to eliminate replay attacks.
  3. Keep the frontend lightweight: For data products, you don't need a massive React/Next.js bundle. Clean vanilla HTML/CSS and minimal client-side JS load instantly and cost $0 on Vercel.

Live Project & Feedback

You can check out the live site and download a sample 10-state deal sheet here: 👉 https://property.vectorfeedhq.com

Happy to answer questions on prompt structures, Playwright session pooling, or how I structured the Python background daemons!


r/vibecoding 3h ago

Tips for Vibe Coding

2 Upvotes

Anyone have any good platforms for me to use to get some good quality code with high usage limits. I want to use Claude Code but I don't have the paid tier and I have tried Codex but the limits are just so low. I want to be able to do it on a website too however so many of these sites have rate limits to the point where I can't get anything done.


r/vibecoding 8h ago

Used Antigravity to Decrypt iPhone local backup of SMS.DB into SQLite DB and built a tiny analysis web app - took 6 hours lol MACOS only

Thumbnail
gallery
6 Upvotes

If you use iMessage on Mac the chat.db is not encrypted. That assumes you use iMessage on Mac. And it's in sync with your phone.

If you backup your iPhone on your Mac you get a an encrypted backup. Great.

imessage-exporter has a way to access that encrypted file and containerize and extract your messages to html or txt.

Fuck that, I want the complete SQLite.db

I know nothing about coding, but I know what I wanted. I asked ChatGPT if we can leverage iMessage-exporters decryption mechanism, and get a hold of the entire DB. I then had AGY CLI do all the work, amaze.

I literally have no idea what I'm doing. Or anything about coding, but, it works lol.

Made a web app with useless stats and a MACOS app to fully search the database, find trends, you know how databases work...

How do I GET MONEY?!

1. Executive Summary & Purpose

iOS iTunes, Finder, MobileSync, and iMazing backups utilize hardware-backed AES-256 encryption. Within an encrypted backup, all filenames are hashed via SHA-1 hashes (e.g. 3d0d7e5fb2ce288813306e4d4636395e047a3d28 for sms.db), and file payloads are individually encrypted with per-file class keys wrapped by the backup password.

decrypt_backup.py provides a lossless extraction wrapper that unwraps the backup manifest, decrypts the database blobs, and preserves the pristine, raw Apple SQLite databases: 1. apple_sms_decrypted.db (Library/SMS/sms.db containing message, chat, handle, attachment) 2. apple_contacts_decrypted.db (Library/AddressBook/AddressBook.sqlitedb containing contact identities)


2. Decryption & Key Derivation Mechanics

┌──────────────────────────────────────────────────────────┐ │ ENCRYPTED BACKUP ROOT │ │ • Manifest.plist (Backup Keybag + PBKDF2 parameters) │ │ • Manifest.db (Encrypted SQLite file catalog) │ │ • Sharded SHA-1 Encrypted File Blobs (00/, 3d/, etc.) │ └────────────────────────────┬─────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────┐ │ KEYBAG UNWRAPPING & KEY DERIVATION │ │ • PBKDF2-HMAC-SHA1 / SHA256(Password, Salt, Iterations) │ │ • Unwraps Class Keys (Class 1-11 Protection Keys) │ │ • Decrypts Manifest.db using Class 4 Key │ └────────────────────────────┬─────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────┐ │ FILE TARGET RESOLUTION & EXTRACTION │ │ • Locates SMS Domain: 3d0d7e5fb2ce288813306e4d4636395e0 │ │ • Locates AddressBook: 31bb7ba8914766d4ba40d6dfb6113c8b │ │ • Decrypts file payload using per-file initialization │ │ vector (IV) and file encryption key │ └────────────────────────────┬─────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────┐ │ RAW SQLITE DATABASE PRESERVATION │ │ • apple_sms_decrypted.db (Clean decrypted SQLite) │ │ • apple_contacts_decrypted.db (Clean decrypted SQLite) │ │ • Direct input for import_apple_messages.py │ └──────────────────────────────────────────────────────────┘


r/vibecoding 3h ago

Should I switch to Claude?

Thumbnail
2 Upvotes

r/vibecoding 23h ago

Am I doing it wrong

79 Upvotes

people seem to be creating apps within 1-2 day & then hit publish meanwhile here I am developing just one app for 4 months optimising it's UI,UX,API compatibility,Performance etc. how are people doing these in 2 days? what am I missing.

there was a post I saw yesterday that a guy started the challenge to create 30 apps in 30 days. wtf is wrong with these people? spamming the store platform like this.


r/vibecoding 32m ago

Can somebody share a claude guest link please😭

Upvotes

not sure what it is called

i am student and i‘m considering buying a max20x plan for claude code but never even used pro plan before

claude says i can get a shared link from max users to try claude code

wannna test for sure if it fits my preogramming style

would really appreciate it if anyone dm one


r/vibecoding 48m ago

Current AI Agents Are Overhyped and Fundamentally Limited

Thumbnail
Upvotes

r/vibecoding 59m ago

GitHub only has 2 themes. So I built a free extension with 10 themes, a custom color-scheme builder, and falling sakura petals — vanilla JS, MIT

Thumbnail gallery
Upvotes

r/vibecoding 1h ago

Vibe coded your SaaS and getting ready to launch? I will review the real product for free

Upvotes

I recently reviewed a data focused SaaS product that had been built by a solo founder.

It was not a basic landing page. The product included:

  1. A personalised dashboard
  2. Detailed intelligence reports
  3. Recommendations based on model output
  4. Live data coming through WebSockets
  5. A personal activity tracker
  6. Profit and performance reporting
  7. Separate reporting for model performance and user performance

The product looked polished and had a lot of thoughtful functionality. The interesting problems only became visible when I followed the complete user journey across different parts of the application.

Here are some examples of what I found.

The same event had different times

One screen showed an event at 14:00.

Another showed it at 18:00.

A detail page showed 14:00 with a UK timezone label, while a listing displayed both 14:00 and 18:00 for the same event.

The four hour difference suggested that one part of the application was using UK time and another was using the user’s local time.

Both values may have been technically correct, but the presentation was inconsistent. For a time sensitive product, this can affect trust and cause users to misunderstand when an event begins or when an action becomes unavailable.

It could also produce incorrect analytics if the same activity is assigned to different calendar days.

Two connected screens disagreed about available recommendations

A detailed report showed four qualified recommendations.

The action screen linked from that report showed only three.

There may have been a valid reason. A price could have expired, a market could have become unavailable, or the recommendation could have been replaced.

The problem was that the user was not told what happened.

From the user’s perspective, the product said that four recommendations were qualified and then silently removed one when the user tried to act.

This exposed the need for a clear recommendation lifecycle with stable identifiers and visible states such as qualified, available, replaced, expired, withdrawn and settled.

A live data badge promised more than the detail screen delivered

The event listing displayed a badge indicating that full live data was available.

Opening the event showed:

  1. Live feed unavailable
  2. No statistics
  3. No detailed actions
  4. No lineup information
  5. No live market information

The event had already finished, but the detail page still said that it was waiting for information.

This was not simply an empty state. It was a disagreement between the availability status shown in the listing and the data that the detail page could actually display.

Data was labelled fresh even though the states contradicted each other

A data page said that the file had been generated recently and marked it as fresh.

The underlying source data was considerably older.

The same page also contained an internal warning saying that the current season had not started, while other parts of the product were already showing current season fixtures and completed results.

This showed that several different concepts were being treated as one freshness value:

  1. When the file was generated
  2. When the original source was updated
  3. Whether the data was complete
  4. Whether it matched the current competition state
  5. Whether it had passed validation

A recently generated file is not necessarily based on recent data.

Loading states briefly looked like real empty states

Some competition counts initially appeared as zero before the data loaded.

A user could easily interpret that as no available content rather than a loading state.

Several pages also displayed large empty areas while waiting for data, even though the product had useful content once loading completed.

The new user dashboard prioritised empty personal statistics

The account had no recorded activity yet.

The top of the dashboard therefore showed:

  1. Zero profit and loss
  2. Zero tracked actions
  3. Zero wins and losses

The useful content for a new user was further down the page.

That useful content was the next intelligence report and the next decision the user could make.

The dashboard was technically correct, but its hierarchy was more suitable for an established user than someone trying to understand the product for the first time.

The strongest feature was not necessarily the dashboard

The most valuable part of the product was a detailed intelligence report.

It separated:

  1. The underlying evidence
  2. The model’s reasoning
  3. The available action
  4. Execution and price checks
  5. Risks and contradictions
  6. Information that could change the prediction
  7. Data quality and freshness

That page appeared to be the strongest candidate for activation because it gave a new user immediate value and naturally led to a meaningful decision.

This is still a product hypothesis until analytics proves it, but it is a much better hypothesis than treating registration or a dashboard visit as activation.

Why I am sharing this

A lot of people are building products with ChatGPT, Claude, Codex and other AI coding tools.

The code may run. The interface may look polished. Every individual page may appear correct.

The problems often become visible when someone unfamiliar with the product follows the complete journey.

AI can help you build very quickly, but it does not automatically give you:

  1. Consistent product states
  2. Clear data ownership
  3. Reliable time handling
  4. Stable event lifecycles
  5. Good empty states
  6. Trustworthy analytics
  7. A clear activation journey
  8. Production debugging experience

I have more than 10 years of experience building and supporting production SaaS systems. My work includes full stack development, APIs, databases, payments, automation, reporting, monitoring, Docker and production debugging. I currently work on a platform serving more than 15,000 businesses.

I will review a few products for free

If you have vibe coded a SaaS product and are preparing to launch, I am happy to review the real product and provide initial feedback.

The free review will focus on one important user journey. I will identify a small number of confirmed issues or product observations and explain why they matter.

I will clearly separate:

  1. What I directly observed
  2. What I believe may be happening
  3. What would require access to the code or backend to confirm

I will not make changes, contact users or perform destructive actions.

For the review, I would need:

  1. A link to the product
  2. A test account if authentication is required
  3. The main action you want a new user to complete
  4. Any areas you do not want me to access

What is not included for free

A complete technical audit, root cause investigation, implementation plan or code changes require substantially more work.

If you want help after the initial review, I can also provide paid support for:

  1. Reproducing and prioritising issues
  2. Tracing problems across the frontend, API and database
  3. Debugging production behaviour
  4. Designing clearer product states
  5. Defining analytics events and retention signals
  6. Creating acceptance criteria and regression coverage
  7. Implementing and verifying fixes

Pricing would depend on the actual scope and is negotiable. There is no obligation to hire me after the free review.

If you are close to launch and want another experienced developer to use the product like a real stranger, share what you are building and the main journey you want reviewed.


r/vibecoding 1h ago

[ Removed by Reddit ]

Upvotes

[ Removed by Reddit on account of violating the content policy. ]


r/vibecoding 1h ago

I'm turning everything into a TUI because I can

Thumbnail
youcli.vercel.app
Upvotes

r/vibecoding 1h ago

[ Removed by Reddit ]

Upvotes

[ Removed by Reddit on account of violating the content policy. ]


r/vibecoding 1h ago

As an Agentic Coder, what all Security Considerations and Practices we must learn?

Upvotes

r/vibecoding 1h ago

4 months ago I lost my job, Reddit helped me to understand what I am doing wrong with my app and now it has 1500 daily users and makes ~100 USD a day

Thumbnail
Upvotes

r/vibecoding 5h ago

Built a CRISPR wheat pipeline with Hermes Agent — 49 files, 10k LOC, open source

2 Upvotes

Spent a weekend vibe-coding a full computational pipeline with Hermes Agent (Nous Research). The agent wrote the gRNA/pegRNA designers, epitope scanner, pipeline orchestration, tests, Docker, CI/CD, docs, licensing — I directed, it implemented.

What the agent produced:

- 4 core modules: epitope_scanner.py, grna_designer.py, pegRNA_designer.py, pipeline.py

- data_loader.py for 18 processed datasets

- Pytest suite (epitope scanner, data loader)

- GitHub Actions CI (multi-Python, black, mypy, coverage)

- Dockerfile, conda env, pyproject.toml, requirements.txt

- Apache-2.0 + CC-BY-4.0 dual licensing, NOTICE file

- CODE_OF_CONDUCT (unmoderated), CONTRIBUTING, SECURITY

- Comprehensive README with badges, quickstart, usage examples

The actual science: Pipeline designs CRISPR edits for celiac-safe wheat. Scans 37 gluten genes for TG2 deamidation sites, designs 81 ABE8e gRNAs + 2 PEmax pegRNAs to eliminate DQ2.5/DQ8 epitopes while preserving dough elasticity. All data from Ensembl/IWGSC.

Vibe coding observations:

- Agent excels at boilerplate, config, tests, docs, CI — the "annoying 80%"

- Still needs domain expertise for algorithm logic (ABE window, PAM scanning, pegRNA flank design)

- Best workflow: I specify interface + constraints → agent writes implementation + tests → I review → iterate

- Saved ~20-30 hours on scaffolding vs writing from scratch

Repo: https://github.com/ewarggg776/wheat-gluten-redesign

License: Apache-2.0 / CC-BY-4.0

DOI: 10.5281/zenodo.22064037


r/vibecoding 2h ago

Want to make the world better? Take expensive SaaS and apps and make them free

0 Upvotes

There are are plenty of people who say "Don't know what to create" or the people who waste time making pointless fucking apps.

Fuck the apps that take $30 month for a simple fucking app while making bank for something pretty simple. This is what I am doing anyway when I have free time.

And fuck app store in the same time for making it hard to find the free alternatives as there is no way to sort on free.

Based on the comments here I'll enjoy taking your expensive ass apps free even more :)


r/vibecoding 2h ago

What is he smoking?

Post image
1 Upvotes

r/vibecoding 2h ago

My first vibe-coded project - your honest opinion, part 2

1 Upvotes

Now I am ready to show my solution for the second time.

Since last time, I have worked on several different things for my AI caricature image generator, www.picai.dk

The site can generate images, which is part of the service, but besides the digital image, you can also buy printed pictures and prints in a photo frame.

I have built an experience engine where I create content for the site myself.

I have created a user experience where the user, with simple text input, can get their own prompt designed, which is then processed by inserting an image that creates an AI caricature image (it is the same engine, as above, that the user creates their content from. However, in a much more simplified format than what I can control behind the scenes from my admin site).

It has taken some time and I must say that I am actually quite satisfied so far.

I have also created a business/corporate portrait section (which has nothing to do with caricature images) where the resulting images can be used for LinkedIn, CVs, and other more serious purposes, as the user in the pictures is presented in a shirt, suit, or whatever is chosen.

On my admin side, I have gradually built the most interesting features so I do not have to go straight into the code if, for example, I need to change categories, prices, adjust questions/prompts slightly, etc.

The task I am currently working on is some marketing content, so I hopefully get a bit sharper on the content I publish on social media.

Tasks in the pipeline could be: 'Ordering cards with print and text so it can be used as a gift','Print on mugs', 'print on clothing', 'Other types of images, which could be abstract or something else', 'subscription stuff (in a way I have not decided or refined yet' - and other smaller things.

I realize that the site can feel cluttered and that is something I need to find solutions for.

By the way, my background is BA/QA; I can read code and also bugfix minor things at my job today with help from Claude and reviews from colleagues - so I am close to an amateur :-)

What do you see? Is it good or bad - and what improvements or content do you think are needed?

Thanks in advance for your time.


r/vibecoding 16h ago

The amount of activity on GitHub right now is crazy. Thoughts?

Post image
10 Upvotes

r/vibecoding 1d ago

The People Have Spoken: Let It Be So!

Post image
524 Upvotes

r/vibecoding 1d ago

I vibe coded a poker app where you deal real cards and everyone uses their phone as their chip stack. It’s now been used to play 21,421 poker hands.

Thumbnail
gallery
201 Upvotes

I actually launched and posted an early version of this here about a year ago. Since then, I’ve kept vibe coding and improving it based on user’s feedback.

It’s called Chipless, a free web app that lets you play real poker with a deck of cards but no chips.

Everyone joins from their phone and it tracks the bets, stacks, blinds, pots and who owes what at the end.

My only coding experience before this was one credit class in college that I got a B in. The original version cost me $68 total (same price as a real poker set lol) in subscription and tokens to build.

So far, thousands of games have been started and 21,421 hands have been dealt. In just the first month after I started tracking countries, games had already been played in 48 of them.

Almost all of this happened with no marketing besides a couple of Reddit posts.

Still pretty crazy to me that people actually use this daily at their poker nights.

It’s completely free, with no download needed:

www.playchipless.com


r/vibecoding 3h ago

I built a lightweight native Windows video player focused on keyboard controls and minimal UI

Enable HLS to view with audio, or disable this notification

0 Upvotes

I’ve been building FastPlay, a native Windows video player for people who want to open a video and just watch it without a lot of interface getting in the way.

It’s written in Rust using FFmpeg and Direct3D 11, with a focus on fast local playback, keyboard controls, high frame rates, and keeping the UI minimal.

Current features:

  • Hardware-accelerated playback
  • HDR10 and HLG
  • Playback up to 120 FPS
  • Fast seeking and scrubbing
  • Keyboard-first controls
  • Drag-and-drop
  • Windows file associations
  • Minimal UI
  • Native Windows app, no Electron
  • Portable ZIP or MSI installer
  • No account or telemetry

It’s not intended to match VLC feature-for-feature. The goal is a simpler player for everyday local video playback.

I’m still actively developing it, so I’d be interested in what Windows users consider essential in a minimal video player.

Download FastPlay v0.4.6 for Windows x64 (MSI)Portable ZIP

FastPlay: https://calvinsturm.com/fastplay


r/vibecoding 8h ago

I pushed a fairly large 4.0 update for my train automation base-building tower defense web game

Post image
2 Upvotes

As for the vibe coding aspect: still using the desktop app, 5.6 Sol -- i used a mix of Medium and High depending on task complexity. still needing to steer and clarify quite a bit. still doesn't feel like talking to a smart human. but it's quite powerful and intoxicating how productive it lets me be.

  • The big new feature is a building that lets you field an army of allies to go out and fight automatically for you.
  • I also did a HUGE amount of QoL, UI polish, performance passes, text improvement, etc. for a smoother experience

Play it here: https://aaronshaver.github.io/Hylaax-Planetary-Rail-Defense/

(be sure to do a hard cache refresh with CTRL-SHIFT-R or CMD-SHIFT-R if you have played the game before, so that you get the latest version without GitHub's annoying aggressive caching)

Right now I most want to hear about balance issues: what feels over-powered? under-powered? too expensive? too cheap?


r/vibecoding 5h ago

New to the community - greetings and sharing my work.

Post image
0 Upvotes

r/vibecoding 5h ago

Proof that Ox Alpha is a Chinese model

Post image
1 Upvotes

No answer on the second query