324 karma · joined March 10, 2021
More than anything, I believe that AI is pushing out those who enjoyed the ~act~ of programming more than the product being delivered itself. Mostly because those individuals might have the hardest time adopting this new way of getting things done.
And honestly, I feel for them. Coding has always felt like an art form to me. Nothing feels better than someone commenting on the elegance/beauty of something youve written.
Both are fantastic languages and I hope to see them both evolve in years to come. Zig has a longer road ahead but it really is elegant and simple to work with.
Something was missing though… I tend to read a lot of documents and need the ability to reference that material specifically and ask my questions. One option was to copy-paste parts of a doc into chatGPT, but that's a crappy solution when the context you're looking for could be scattered across thousands of pages.
This is where our little startup, Three Sigma was born. A few buddies and I quickly realized how helpful this could be to students, lawyers, and anyone that deals with tons of documents alike. We started small by spinning up a pretty front end and tagging on a waitlist to see if there would be any traction (There wasn't). We quickly grew discouraged until one day in a last-ditch effort, I threw a post on hacker news and went to bed. The next morning was glorious. Thousands of people were trying out our demo and leaving feedback. Needless to say, I was on top of the world. We continued to do some marketing and realized there in fact was a demand.
From January -> May we built, tested, broke, and revamped our product until we squeezed every last drop of performance a two-man team could in a few months of work. All the while we continued marketing and getting people signed up for our waitlist. Things were going well.
Though ChatGPT is a fantastic tool, it's not infallible. We wanted the ability to reference what parts of the document were used to generate an answer so you could fact-check the answers without sifting through thousands of pages by hand (or dealing with a black box). Oh and one more thing. We didn't want to jump from ChatGPT to Three Sigma back and forth. Three Sigma had to be a one-stop shop, so we implemented a “Free Solo Mode” where you could directly interact with Openai's models.
On May 11th, we launched our product. Satisfied with the leaps of progress we made in the last few months. Long story short, there are tons of new AI tools coming out every day. I wanted to personally Thank Hacker News for giving us the courage to ship Three Sigma
I would love for you guys to try it out, and leave feedback. Thanks again.
I quickly cloned the repo and started toying around with it. It didn’t take me long to realize the power of this tool. All I had to do was insert a username, and voila! I was looking at every social media website that was associated with the username. Not only that but direct links to the accounts.
I immediately wanted to turn this into a web app so that everyone could use it. My first challenge was that this was a CLI tool, so I got to work. The Sherlock project makes about 400 requests to various site s to check if your username exists. This was going to be tough... I noticed they were using requests.FutureSession to multithread the result.
I decided to use a multithreaded Web-socket to continuously report out data to the frontend. After ALOT of trial and error I finally got something working. The Issue now though was that it wouldn't run in production due to a multiprocessing error: Daemonic processes are not allowed to have children.
Eventually I learned that you cant use the standard multiprocessing library for this kind of thing, you had to use billiard. Bam! It worked. I quickly hacked together a simple frontend, configured the web socket, and results were pouring in.
Turns out, the web-socket is considered a "long running request" as it makes 400 external requests. Maybe I could use celery to offload this process to a worker and queue it up. I started working on it and realized this was a little out of my skill range.
I then decided to take a look at the logs where I hosted the code and what do i find? CPU, Memory, and bandwidth all reaching a staggering 100% usage. I was using the free tier of Render that only allowed for one instance of my app...duh. I did some rework of my codebase and it started running a little faster.
Needless to say, I learned to take it slow, build tests for my code, and be patient with results.
What do you guys think? Any hard lessons learned in coding? What were your takeaways?
Here is also a link to the repo: https://github.com/bnkc/handlefinder