5

Show HN: With a 9-5 job and 2 kids I have finally finished my first MVP

 3 years ago
source link: https://news.ycombinator.com/item?id=28320346
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
Show HN: With a 9-5 job and 2 kids I have finally finished my first MVP Show HN: With a 9-5 job and 2 kids I have finally finished my first MVP 289 points by mrhichem 7 hours ago | hide | past | favorite | 94 comments Hello HN crowd. I worked on this project on weekends and evenings. I'm excited I made it into a presentable MVP, and it is so satisfying.

I would like to get some honest feedback from this great community.

I made https://freeoptionscreener.com/, to scratch a personal itch. I myself trade options as a hobby, and I didn't find a screener that satisfies my need to be able to explore raw options data freely and without preset constraints. So I made this app that allows playing with options market data and extract interesting opportunities.

The techs used: - Laravel + Jquery + Mysql - Tradier API for market data - DigitalOcean for hosting - OVH for domain name

It costs me 5$/month to run the website. I'll be glade to continue if it proves to be a viable product in the long run and maybe I will take it to the next level and try monetize it. Note: the app is not suitable for phone screens yet, although this is a planned feature.

Dear @mrhichem - Thank you for posting this, I enjoyed using this. I've been selling theta for a while, so I can see how this would be helpful (myself, i use a python script to screen and change params via a json file)

Couple of comments:

- I also have a 9-5 and 2 kids, so totally understand how hard it is to do side projects beyond work. Congrats!

- The filters might be hiding this somehow, but I didnt find ETFs i'd expect like the SPY ETFs or GLD, etc, even though I set off all the filters

- The Strike should have a slider and an entry box ideally because some strikes go into single digits or way beyond the scale, the slider is too restrictive in 5s for low-priced stocks and the max is too high for things like TSLA

- The table header really needs to be aligned with the sort arrows, I cant tell which column i'm sorting on

- You noted that "Prices are updated every 3 hours" -- did you price out DO costs if you used real-time data from Tradier? I imagine you might have more bandwidth, but it would probably be reflective of a more active screening approach. I found good theta selling opportunities dont come that often and I usually look at the vol surface for IV bumps through the day.

- As a follow-up to the above, curious if you use it as a screener and then enter orders manually or auto-execute? Would you auto-execute really rich opportunities?

- Curious if you've actually made money selling theta. I've made money, but I do believe that just buy-and-hold would be more profitable in most cases because you miss so much upside on option writing strategies unless you have a clear band with high conviction

I don't know anything about trading options but wanted to say with a 9-5 job and 2 kids, getting any kind of MVP out is a great accomplishment. Well done.
s.gif
And now we have companies saying "we're not a 9-5" and even companies with "996" schedule which basically means "we discriminate against people with kids"
s.gif
Oh good grief, does 996 mean what I think it does?
s.gif
9 am to 9 pm, 6 days a week. This is most prevalent in China though, with their somewhat lax labor laws, I have never seen this in the western world (codified into a number like 996 I mean, I assume investment banking and the like pull >100 hours a week).
s.gif
It depends. How do you like to spend 72 hrs of your week?
s.gif
I have a friend in a situation like this who will fall asleep while coding late at night and sleep few hours. I don’t know how you (and he) do it, but awesome!
s.gif
Second this. It's not only intellectually draining, emotionally too. Great job.
(paraphrasing amyunus) I immediately opened this thread after reading the title. I imagine that having a 9to5 job and kids makes doing nearly anything else impossible.

Expecting a video game or some social media thing I don't know about or care about, I yelled "F'k yeah!" out loud when I got to "www.freeoptionscreener.com". :D

Options trading is one of my deepest "non work related" hobbies. :) Bravo, OP, and I agree, it's hard to find a good screener.

A lot of us are re-inventing the wheel. It feels like every so often I see a post on /r/options or /r/investing of a new screener, because nothing off the shelf (and free) does the job. There's got to be a better way. I don't know what it is, my naive guess would be an open source one, with sufficient data adapters (because we can't legally share the data :P).

I have a long list of moderate to difficult to add features (I'm writing my own screener as well...), but some minor ones: Price slider could scale exponentially, or have the option to do so. Strike slider could be a "moneyness" slider -- the signed difference between the strike and the spot. DTE could be a date/calendar selector. Could be useful to have HV of the underlying as well.

In contrast to other comments, please don't waste your time adding things that explain what a screener is to people who don't already use a screener. There are enough of those out there already.

Again, congrats on shipping!

Congratulations. It's not easy! But it can be done. It depends on what your priorities are. Here's my tips from the time our new baby was born.

#1 Set aside time to work This is the important part, you can't "work when you're inspired". Set aside the 2-3 hours you need per day. At the time I had a full-time job and the baby was born. My partner at the time was a stay-at-home-mom, which helped a lot. But I had duties to be with the baby in the evenings -- feedings, etc. I watched a movie or series with my partner after the baby was sleeping, THEN I went to work when my partner was sleeping.

#2 Constraints are important Because of the minimal amount of time (few hours per day) you have to spend it wisely. In this case, I had a strong to-do list with few distractions. I would work on that list and try to finish a few items (completely) every night.

#3 No distractions No social media was consumed. No YouTube, no instagram, no twitter, tv off. Back in those days these services were just starting anyway, so things were kind of "new".

#4 Motivations Biggest motivator was my family. Living in New York City was not easy in a nice apartment and a family to support. I knew my side project HAD to work and it DID because I had NO choice. Even with an almost 6 figure job, it would not have been able to do everything, even in 2004.

At some point, you have to balance out things. You CAN't spend all your time with your family.

And you can't spend all your time with your job.

You have to have some time for each one. And where people fail badly, is when they spend quantity instead of quality time with kids or work.

Believe me, its best to spend less, but QUALITY time with your kids, rather then a whole lot of random time.

Your mileage will not vary.

s.gif
> but QUALITY time with your kids

Can you give an example from your life of quality time with kids vs quantity? I realize everyone will define quality differently.

s.gif
that's amazing message you've shared here. This alone equals the combined summary of atleast 3-4 self-help books.

Kudos to your focus, efforts, hard-work.

First off, congratulations! I've been at similar project for years, though not options. Few things 1. I would consider adding an info icon next options greek that shows what they mean 2. Not sure if you plan to support it, but just listing options for a given stock should be a baseline feature (understand it is not so much of a screener, but it is natural to compare to against others)

Where do you source your data from and is this realtime ?

Congrats. It looks decent. My biggest knock though is "freeoptionscreener"

If you didn't post it here I would never click on something called "freeoptionscreener" . I would just associate it with all the junk/border line scams that infest the world of retail trading, especially retail options trading.

I would also say that I expect to pay something for quality in this space. Even if free I wouldn't mention it. It has a discount sushi feel.

s.gif
Airbnb rebranded [1] and so can you. Ultimately, the important part is that you accomplished an MVP while juggling family, work and kids. Hats off to you mate. You should be proud.

[1]:https://blog.keycafe.com/the-history-of-airbnb/

s.gif
I'd have called it "OPTIONSCOMMANDER.COM".
s.gif
how about AlwaysInTheMoney.com
s.gif
Somewhat agree, somewhat disagree.

There are plenty of respected sites in the finance and options space with names like this. The reason it works is because the ad space itself in this niche is so valuable.

Where I agree with you is that it would turn me off when this inevitably becomes a SaaS product, and I would be turned off by the freemium aspect, while expecting it to have some kind of annoying freemium gimmick. The dangling of "Free" in the service's name would just make me expect that more. Currently I am pleasantly surprised that it actually is free, if I had randomly come across it on Google I would be pleasantly surprised as well. In the past, Tradier API was not available and services couldn't be free because the data was so expensive.

There are other criticisms possible, but they're in other comments.

s.gif
The name just sounds scammy with the wire free in there. How about using a proper noun instead of the word free? Example: VenusOptionScanner or whatever
But where do you get your data from? Is it live/delayed? I thought option data was not free to be redistributed which is why these websites don’t exist in the first place.
I have no idea what any of the site means!

But, I’d love to know you found time, I’m years behind on personal projects, 2 young kids as well - genuinely interested in how you made it work, I’m just shattered by the end of the day!

Upvote from me because if you can ship a useful tool whilst managing a family life then go you! Gratz!

First of all: congrats on shipping, not an easy feat.

Constructive criticism: I had no idea what this site was about until I spent a minute looking around.. and now I only _think_ I get.

Granted I am (probably) not your target market, however I think maybe a landing page or at least a popup tutorial - which I can then "Skip" at my peril would be a smart addition.

s.gif
Counter point: as someone who plays with trading options as a hobby I instantly knew what this is!
s.gif
Yep same here. I usually agree with the whole "your grandmother should get it" but don't think that applies here.
s.gif
Same (but spent the last 4 years trading options as my main hobby)
s.gif
I also didn't get it, however I only trade options once in a while. I don't know whether they should put a tutorial/about section, but I'd love to know what this is for, if anyone would care to shed some light.
I read the title as though achieving a 9-5 job and having 2 kids was the MVP. I like that interpretation as well :)
Congrats! Looks really interesting, I do see a few data issue e.g. NVDA Sep 17 2021 $405.00 Put NVDA(Stock) put 726.44 405 321.44(44%) 2021-09-17(61d) 2 3 0.98 1.29 0.0000 0.0000 0.0000 0.0000 2.000

Have you looked into https://optionstrat.com/

s.gif
Going a bit off-topic here, but I can't be the only one who doesn't know what these numbers mean... So, what do these numbers mean?

NVidia? Sep 17 2021? $405? (Current price appears to be 220.68)

Also I can't find NVDA anywhere on the page right now. Tried to fiddle with various options without really knowing what I'm doing. Is it gone now?

s.gif
first off set the top left expiration to "ANY" (for ease of use to find results easier), then search the ticker symbol at the bottom right.

Nvidia in your example would be the underlying equity that the options derivative contract is based on

sept 17 2021 is the expiration date of the contract

405 is the strike which is the price at which the contract allows you to buy or sell (depending on if the options contract is a Call or Put contract)

s.gif
thank you for spotting this issue. And for the link, definitely useful.
How did you balance the responsibilities of being a parent, especially in terms of the endless chores, and the time commitment to make this happen?
s.gif
I always put work on my project second behind being parent and husband. I sometimes wakeup early before staring my job. sometimes late nigh before going to bed after my kids sleep. Working from home covid policies also helped reducing commute time. I made small but contineous progress each day.
"With a 9-5 job and 2 kids I have finally finished my first MVP ...

I worked on this project on weekends and evenings."

I can't wait until my kid is old enough that I can really work on stuff when watching them on nights and weekends.

Very nice tool. I didn’t even know that you can trade options on ETFs. Thanks for the insight.
Cool project!

Not to hijack your thread but I want to leave some thoughts as a former vol trader.

Anyone trading options more than lottery tickets should really invest time into learning about BSM/greeks and some more advanced options structures and vol strategies.

For instance, if you paper traded a delta neutral book simulating a market maker, you’d understand how options pinning works (it’s not manipulation, it’s a side effect).

s.gif
> For instance, if you paper traded a delta neutral book simulating a market maker, you’d understand how options pinning works (it’s not manipulation, it’s a side effect).

Great comment. With added apologies for hijacking, is there any resource you'd recommend with nuggets like the above? Is there any better way to learn than slowly paper trading and testing different things over long time spans? I'm interested in vol trading and dispersion strategies, but the lack of easily available historical data makes it difficult to run experiments.

I don't have idea what it is. But first, congrats! I immediately open this thread after reading the title. Having 9to5 job and kids (2!), it is truly hard making time, even you make it to finish the MVP. Applause!

- I spot a typo on the About description, should be opportunities. - Email us to [email protected]? - I'm not sure why expiration date 2021-08-27 has 2d

Dude, this is #RAD, if the kids at Reddit's WallStreetBets get a hold of this, your hosting bill will soar to $500/month!

Good job, you got your MVP, now it's time for some Customer Development. Who knows, there's a pivot in your future.

s.gif
i would be more worried about reddit's r/thetagang
I’m in the same boat. A 9-5, 3 kids and several responsibilities, and trying to work on some side project ideas. What are some tips for finding time, energy, and motivation for working on this.
s.gif
Do the hard part in the shower.

In other words, spend more time away from the computer thinking architecturally or planning next steps, sometimes taking notes for later. Save the actual coding (or other direct work) for executing the plan. This makes everything easier, especially if you are used to 4+ hour coding sessions and/or you have constant interruptions (i.e. kids).

Don't stay up late cramming code - wake up early instead. "Sleep debt" is the technical debt of parents. Avoid it or you will waste time staring blankly at the screen at 2am.

Schedule time to work on it, like on your calendar. Treat it like a real thing that is a valuable use of your time and not an activity like playing XBox.

I love your stack choice. Simple boring and obviously very functional.
Nice work!

I was looking for a way to screen for unusual option volume (Volume noticeably above Open Interest), but didn't see a way to do that directly. I do see the filters for Volume and Open Interest, and I can play with those in various combinations to see what I want, but I think something like a single filter that allowed viewing all contracts where Volume > Open Interest would address this in a more direct way.

p.s. I know the level of commitment required to launch an MVP, and to grow and support thereafter. I had a job at the time, and it was a lot to juggle. I don't think I could have done it if I also had a family. I wish you the best of luck moving this forward!

I think I broke it while my keyboard (iOS) auto filled a word or two and then I just see white and a spinner.
one small change i would make. the ticker search and the "show entries" should be switched. more intuiting and in line with other financial platforms.

ticker search is usually bottom left across any programs and sites i have every used to trade.

Take my money, I’ve been looking for a good options screener, this build is too good to be free
Nice.. I've java program somewhere that draws the profit and loss over time and price with color code for profit/loss. (price on y , time on x). Can be a nice feature to have. my 2c
s.gif
Indeed. can be useful. Have this feature down on the features backlog.
Before I've even checked it out: Congrats on shipping!!!! I know how hard it is to get something done with the constraints of a day job & family.

I read SO many comments on here from folks lamenting their lack of energy + time to do something like this despite the desire to do so. So 10000 congrats on pushing through and getting something live.

Now to actually check it out (and I'll come back and update this comment with actual feedback ;)

s.gif
thanks. looking forward for the feedback.
Using color to describe information ranges is an excellent way to add a passive dimension of information, and allow people to screen out inferior choices.

"Dimming" the entire screen on a choice change is extremely visually distracting. A small spinner on the data sheet would be an excellent indicator that "this data is about to change".

Excellent tool, I'm going to play around with it tonight.

s.gif
feedback like this is the reason I love this community. definitly considering going by your remark
Cool site, and congrats for shipping!

Some minor nitpicks:

1. I filtered to ITM but got options that were out of the money in my results

2. Rather than needing the 10,30,50,any moneyness picker, why not a slider?

3. In fact, there should probably be a slider for Delta… it’s really difficult to find options that are near or at the money since sorting by delta either starts at 1 or 0

4. I didnt see a CSV export button anywhere?

Overall nice job though!

[edited for spacing]

s.gif
very valuable feedback. A slider for delta is my next feature to implement. But afraid of too many sliders that might be confusing.

You can sort by ITM/OTM column to find near or at the money options.

The CSV also is something I should add.

s.gif
If you had a delta filter I would never use the ITM/OTM setting. It is useful to have the % ITM/OTM in the output, but not as a filter, for my use case.

In case it helps, my normal filter is something like:

- Type: PUT

- Days to expiration: 20 - 40

- Delta: -.30 - -.20

- Open interest: >100

- Premium: >$1

- Underlying price: >$50

- IV: 10% - 30%

That gives me a range of out-of-the-moneyness I'm looking for, but I don't care what the absolute % is.

I suggest using Black Box Stocks system for a while to learn what works well for them. (They make a killing, but the main value for many members is in their Discord).
Kudos for getting this MVP out with a family and a full-time job… not an easy feat.
Congratulations. It’s an incredible endeavor to get anything launched, much more so given the context.
Maybe a possibility to view the 1y/1mo/1day chart of the underlying stock would be nice. A chart of the option itself would also be nice.
Congratulations on shipping.

It is no mean feat around a day job and a family.

Nice work getting over the hump!

This is great - I was trying to calculate option profit for something a few months ago and it was a huge pain using the free options I found on Google so I think this might have legs. Best of luck.
Love this! Minor nit: days to expiry for expiring tomorrow shows (2) and presumably (1) for options expiring today. I think usually this is denoted 1 and 0 (DTE)
s.gif
Former hedge fund trader here: this is correct.
whats your data source for options data? is this intraday, real time? or historics?
I like the numbers inside slider thumbs, haven't seen that one before! Otherwise not qualified to comment on functionality
Congrats.

Interface-wise, what a lot of people do now when facing a large number of filtering or sorting options is they collapse them and provide a summary with a filter button to pop them back out. This may reduce visual clutter. The description field information is also 100% redundant. Strike and other price columns should have a currency symbol. It is conventional to use either decimal point vertical alignment or right-alignment with fixed-width fonts when displaying numbers in series. Do not underestimate the value of color for comparing figures, eg. high vs. low volume or interest.

Some kind of clickable action to purchase brokerage via third party services for which you can obtain referral kickbacks might generate revenue.

s.gif
very valuable feedback. thanks a lot
Can I contribute to your repo? I know only Scala but I have need of more features like OI, volumes, etc and backtests to find UOA. you can reach me at eamocanu on GitHub or gmail
s.gif
Backtesting would require historical data - it looks like this project may only have access to live data?
s.gif
Open Interest and Unusual Options Activity
Looks good! Small typo, Open Intereset -> Open Interest :)
s.gif
oh my god.thank you for spotting it. will fix this right away
Congratulations on finishing your first MVP, it's difficult to do with the obligations of everyday life.

Some food for thought:

1. There are a lot of screeners out there, and most of the data itself is not valuable. You have to scrub some subset of data for interesting things to stand out based on your criteria.

But most of that criteria is widely common.

Consider: Adding additional filters which prepopulate common screening criteria. You have two so far, but maybe you can think of more.

2. There are a lot of data points that are far more important than some quick statistics you can pull off of data brokers.

For instance, almost no screener provides CAGR on stocks. But a lot of people want to know what the CAGR was for the last 1, 3, 5, 10, 10+ years for a given equity. It's a stupidly common metric. No one provides it.

I imagine for options, there are other very commonly discussed metrics people really care about, versus things like the Greeks.

Consider: Find out what those metrics are that no one provides, calculate them, then provide them.

Ultimately, software that helps you do a job better is OK. Software that does your job is great. Do great.

Very nice.

I am running a similar site, and I wonder whether it isn't a bit overwhelming to have all the bells and whistles on the one page, upfront. In my experience, you get tons of bounces because people don't know (yet) what your site is for (but as someone who does know what options are, it does look useful). I don't think there is any single "answer" though.

My "solution" in the past has been either to break up all the options into a sequence of choices (so the user only has to make one choice at a time, rather than worry about all the other knobs and dials/what they do/what they have missed), or (where possible) divide the choices between pages in some way that makes sense (this wouldn't make sense in this case but you would do puts and calls on separate pages).

Would be interested to hear any other solutions though. I do these kind of sites (tables, lots of things to select, lots of data) almost exclusively and so I am always looking for more solutions.

Some other thoughts: maybe make the top bar smaller to give yourself more room.

I am not a big fan of centred data in tables because the spacing can feel irregular. And I would try to standardize column title length (for example, using abbreviations/tooltips) so your spacing is even too. My eye is drawn immediately to the underlying price column because of the gap created by centring/title length, which isn't good because this isn't really an important column. I would also consider working out which column is most important and making that more prominent (if possible) so the table is scannable (another option is hiding some columns, again I am not sure how this fits with your vision for users but is the user scanning rows and only needs to look at the delta later? Some of your columns are clearly duplicated in the description too, do you need separate columns for bid/ask...lots of options I think to cut the table down a bit...I have a 15" laptop and 10 columns feels like a lot).

Finally, very minor point, but I wonder whether the font on the unselected multi-select buttons is too light...it is very, very slight but just blends a bit too much with the background, imo (generally, the colour scheme/contrasts for your selections are excellent, I feel my eye is drawn to the right places and nothing is distracting).

Well done though. I think there is a huge niche for these kind of financial information products.

EDIT: Open Interest is spelt wrong in the table's column headers.

> Prices are updated every 3 hours, last updated at 2021-08-26 19:08:24 EST

Just a heads up, a free TD Ameritrade account has a screener in the ThinkorSwim software that is like this and more robust with 15 minute delayed data.

There is plenty of room for differentiating features though.

s.gif
I've made the link clickable in the OP now. Thanks!
> It costs me 5$/month to run the website

Is the MySQL database inside of the DigitalOcean droplet that also serves the website? Always an option, just find that super uncommon nowadays. Databases are the most costly part of many microservice stacks right now.

I could do this for free on Vercel, but any caching such as with a database would be on an external compute instance and cost more than $5.

[criticism not allowed]
s.gif
Please don't be a jerk in HN threads, and especially not in Show HN threads, where it's even more against the guidelines than it usually is:

https://news.ycombinator.com/showhn.html

https://news.ycombinator.com/newsguidelines.html

s.gif
This negative comment got me thinking about why I liked the original post so much.

The URL of the product itself very clearly tells us what the product is (at least, if you are in the target audience)

So many web apps have inscrutable names. This is just refreshingly clear, it's a free option screener .com!

s.gif Applications are open for YC Winter 2022
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK