A few weeks ago, a friend of a friend reached out to me asking for help finding logistics companies in Casablanca, Morocco. He wanted me to guide him through writing a Google Maps API program using AI. I suggested he download VSCode and install Cline, but he got stuck on not knowing how to use Python. In the end, I helped him complete the task. It only took a few minutes. He got a CSV with 60 entries, was very satisfied, and paid me 100 yuan for my time.
This made me realize there's a real market need for this kind of service. So I spent two weeks, 40 conversations, 356 instructions, and 110 commits to build it. And here it is: https://company.jsonutil.online
Website Features
The tool is based on Google Maps APIs. After getting a list of places using the Places API, we use another tool to extract email addresses from their websites (that's another story somday I will write). All this data is returned to users, who can download it in CSV or JSON format, including address, name, phone, website, and email. This allows B2B users to conduct targeted marketing for their valuable products.
Let me tell you how I built it:
- Starting with that initial Python script that generated in just minutes
- Building a user interface with index.html
- Extracting core functionality from the Python script and creating server.py
- Using SQLite for the database - simple is enough
- Adding caching functionality - same search conditions always return the same data
- Website email extraction - we integrated another tool's API (that's another story)
- Working on introductions and SEO - having Gemini generate articles, guides, and intro pages
- Adding i18n support
- Some minor performance optimizations
My AI Conversations
Let's take a look at some of my AI conversations during development.
> Please fix the data export functionality.
> I need real-time log printing in each concurrent task.
> You did a great job, it's now taking shape. Can you check if email extraction is concurrent?
> It's not convenient to view on mobile. I want you to support mobile email display effects. Please adjust it. It's better to have fewer large images and large fonts, and provide the most core functionality directly.
> I found the current API is a bit slow. Not suitable for real-time user waiting. You need to add more information in the /stream endpoint.
> Okay, please commit the code.
> Very good, I also need you to clear the previous table data when users click on popular searches.
> You did a great job. But the table display is not very aesthetic now. We want to highlight email information. It's best to have one complete email per row without collapsing. I suggest you compress the table width for ratings and types.
( these conversations is record by ai-cli-log )
The familiar blue-purple theme - this is really AI-generated aesthetics, but we liked it and kept it.
First, you enter what you want to search for - yoga studios, hardware stores, swimming pools, restaurants, anything works. Then select a city - we chose Phoenix for this example. Click search.
The system provides a progress bar showing what the server is doing (yes, I had it implement SSE). First, it locates the city, then searches using the API, adds some details, and finally extracts emails from websites.
When complete, users get a perfect table like this:
And that's it!
Most Impressive Lessons from Development
If you ask me what was most impressive during development:
Don't optimize too early - MVP is MVP, if it works, it works. Although I hear people say AI-created tools are just a few Python files pieced together, I want to say: yes, that's exactly right.
Simple is better than complex - enough said.
Provide a local environment for AI validation - but AI often can't debug because it doesn't know the server's status, like when it was looking for nginx processes on my local machine.
Everything as code - put all configurations in the same repository (like nginx.conf it remove the buffer config for sse api response). It can better debug the full picture. I guess this is what they call context engineering.
Conclusion
That's all for now. I hope people will use it. If it proves useful, I'll add registration, login, task management, and history features. Of course, I ultimately hope to help users, and maybe some will even pay to use it.
What do you think? Have you built similar tools using AI assistants? I'd love to hear about your experiences in the comments!
Top comments (0)