Day 7 of 30. End of week one. Time to be honest about where we are.
We've been heads-down for a week. "Shipping" every day, or at least thinking every day, and writing about our learning.
But are we actually on track? Let's review.
What we set out to do
The goal: build a screenshot API SaaS and get our first paying customer in 30 days. Specifically, by day 15 we wanted to have something people would fine useful.
That's 8 days from now.
What we actually accomplished
| Day | Goal | Status |
|---|---|---|
| 1 | Define the project, set constraints | ✓ Done |
| 2 | Choose tech stack, set up repo | ✓ Done |
| 3 | Design architecture | ✓ Done |
| 4 | Set up CI/CD pipeline | ✓ Done |
| 5 | Configure hosting & storage | ✓ Done |
| 6 | Get Playwright capturing screenshots | ✓ Done |
| 7 | Week 1 retro | ✓ (this post) |
On paper, we're on track, and every planned task got done, more or less. We're sure we can make improvements on each step, but for now, we have a solid basis.
What's actually working
The screenshot engine works. We can hit an endpoint, pass a URL, and get back a PNG. It takes 2-3 seconds for most sites. That's the core product, and it functions.
CI/CD is smooth. Push to main, wait a few minutes, it's deployed. There are no manual steps, and the setup is simple. This has already saved us time and mental overhead.
Costs are controlled. We're under $10 per month, not counting our own hours. We can run this project for months without the stress of running out of money.
Daily writing is sustainable. We were worried the dev log might feel like a chore, but doesn't. Writing clarifies thinking, and knowing we'll publish keeps us accountable. Also, we love the amount of feedback we get! The things where we're wrong (sorry!), where we can improve, where we're on the right track, or where we're missing something. We love all the feedback we get, keep it coming!
What's not working (yet)
We don't have an API yet. We have a screenshot function. But there's no authentication, no rate limiting, no job queue, no user accounts. Someone can't actually use this as a service yet.
No landing page. Besides our blog, we have currently zero web presence. If someone wanted to sign up today, they couldn't. (though, if you want, you can sign up for early access and we'll give you an API key to try out our service!)
Scope is not well-defined yet. We have a lot of potential features in our backlog which we're keen on delivering, but we have to make sure we're keeping track of our mission, and not getting sidetracked by features that are not important to our goal.
Honest assessment: are we on track?
For a paying customer by day 15, we want:
- [ ] User registration and login
- [ ] API key generation
- [ ] The actual REST API with auth
- [ ] Usage tracking
- [ ] A landing page explaining what this is
- [ ] Stripe integration for payments
- [ ] Documentation
That's a lot for 8 days, but not impossible, and if we keep our focus on our deliverables, there's a chance we can deliver all of them, albeit in a limited version, perhaps.
What we're changing for week 2
Tighter scope. Our V1 deliverable is: sign up, get the API key, capture screenshots in a sync way, see your usage, and allow payments. Out of scope at this moment are items like PDF export, scheduled captures, and a lot more.
Landing page this week. Even if it's perhaps not entirely to our liking, we're keen on having a URL we can share.
Talk to more people. Post in communities, reach out to developers we know, ask what functionality they would find useful.
The numbers
Let's be transparent about time and money:
Time spent: 14 hours across 7 days. Average of 2 hours/day. That's less than we expected - life gets in the way.
Money spent: $4.50 (one month of Hetzner VPS).
Lines of code: ~450. Most of it is the Playwright integration and Docker config.
Revenue: $0
Customers: 0
People who know this exists: Maybe 10 (friends we've mentioned it to)
What would success look like?
By day 15 (end of week 2):
- Landing page live
- API functional with auth
- Stripe integration working
- Posted in 3+ communities
- At least 5 beta signups
- Ideally: 1 paying customer (even at $5)
By day 30:
- Stable product
- Clear documentation
- 10+ users (free or paid)
- At least $50 in revenue
- A decision: continue or sunset
Lessons from week 1
Infrastructure first was right. Having CI/CD and hosting sorted means we can now move fast on features without deployment friction.
Writing takes time but pays off. These posts take 30-45 minutes each. That's time not coding. But they force clarity and create a record we'll value later.
The boring stuff matters. We spent zero time on "exciting" features like AI enhancement or visual diffs. We spent all our time on Docker, databases, and deployment. That's correct prioritization.
Solo building is hard. No one to bounce ideas off, no one to catch mistakes, no one to share the load. We're managing, but it's harder than working with a team.
Tomorrow: the actual API
Week 2 starts now. Day 8 we're building the REST API contract - the endpoints, request/response formats, error handling. The interface that developers will actually use.
Let's go!
Book of the day
*
The Lean Startup
by Eric Ries*
The classic. We've read it before, but week 1's retrospective reminded us of its core message: build, measure, learn, ideally as
fast as possible.
We've been building, but we haven't been measuring enough. We haven't introduced analytics yet, we have no landing page to gauge interest and we have room to improve in our marketing of our product.
Ries would tell us to get something in front of potential customers immediately, even if it's embarrassing. A landing page with an email signup. A tweet asking if anyone needs this. Anything to start the feedback loop.
Week 2 is about closing that loop.
Current stats:
- Hours spent: 14 total
- Lines of code: ~450
- Monthly hosting cost: $5.50
- Revenue: $0
- Paying customers: 0
- Days until target first customer: 8
- Confidence level: 60%
Top comments (0)