Late Night Coding Sessions
There is a time, usually around 1am, when the house is silent, the group chats are quiet, and it is just you and the code. That is when the real building happens.
The Magic Hour
Late-night coding hits different. During the day, there are notifications, school, messages, people wanting things. At night, all of that goes away. The focus is uninterrupted. The flow state comes easier. Problems that seemed impossible at 3pm suddenly have obvious solutions at 1am.
It is not just about quiet. There is a psychological shift that happens when you are building while the rest of the world sleeps. It feels like stolen time -- time that exists outside the normal rules of the day. No obligations, no deadlines (well, self-imposed ones), no distractions. Just the editor and the problem.
The Sessions
Debugging LockIn's Screen Time API
LockIn uses Apple's FamilyControls and DeviceActivityMonitor frameworks -- some of the most poorly documented APIs in the iOS ecosystem. Debugging extension communication, getting the ShieldConfigurationExtension to talk to the main app through app groups, tuning the Vision framework's body pose detection for push-up counting -- these are not problems you solve in a 30-minute study session. They are problems you solve at 1am with six browser tabs of Apple documentation open and a growing collection of Stack Overflow bookmarks.
The FamilyControls entitlement alone caused nights of frustration. Provisioning profiles, certificate mismatches, the dyld shared cache errors -- each one was a 2am rabbit hole that ended either in breakthrough or in closing the laptop and trying again tomorrow.
Fixing Simplifly's Dtone Integration
Simplifly's backend integrates the Dtone DVS API for eSIM inventory and provisioning. API integrations are the kind of work that seems straightforward until you are actually doing it. Environment separation between UAT and Production, Stripe payment flow debugging, the Nginx reverse proxy configuration -- each of these had their own late-night sessions.
The native Swift login layer on top of the API was its own adventure. Building a React Native app with Expo and then layering a Swift native component for authentication required moving between two different mental models of how an app works.
General Build Sessions
Beyond the specific products, there have been countless nights of just building. Early projects -- agency websites, markdown tools, photo booths -- were mostly built in evening and night sessions after school. The 30-day coding sprints -- 2-3 hours every day after school -- often stretched well past midnight.
The Trade-Off
Late-night coding is a trade-off with sleep. And sleep matters -- especially when you are a teenager whose body is still developing, and especially after a hospital visit that made the importance of health very clear.
But the pull is real. When you are in the middle of solving a problem and the solution is almost there, no rational argument about sleep hygiene can make you close the laptop. The code does not care what time it is. And neither do you, in that moment.
Why It Matters
The late-night sessions are where the real skill gets built. Not the tutorial skill -- the "I have actually fought this bug for four hours and won" skill. The deep understanding of how things work that only comes from sitting with a problem long enough for the answer to emerge. Every product I have shipped has sections of code that were written after midnight, debugged at 2am, and committed with a message like "finally works" at 3am.
Those sessions are unglamorous. Nobody sees them. They do not make it into pitch decks or demo videos. But they are the foundation of everything that does.