Skip to content

Repository files navigation

drillbit

Minimal, widget-first interview prep for software engineers.

The product direction is centered on system design, distributed systems, trade-offs, and high-level verbal reasoning instead of code-first drilling. The app is OpenRouter-first, supports both light and dark themes, and is built so the widget becomes the primary daily touchpoint.

Current foundation

  • Expo SDK 55 with expo-router
  • expo-widgets and expo-dev-client for widget-ready native builds
  • heroui-native + uniwind for the main app UI layer
  • expo-sqlite, expo-secure-store, expo-updates, expo-haptics
  • zustand for lightweight app state
  • OpenRouter as the default model provider, with seeded qwen 3.5 flash selected by default
  • No custom deployed backend; app data stays local and network calls go directly to providers

Notes

  • Widgets should stay on @expo/ui primitives only.
  • Main app screens should use HeroUI Native components styled with Uniwind.
  • Prefer native Expo and React Native capabilities before web or DOM-based fallbacks.
  • The initial widget scaffold lives in src/widgets/drillbit-widget.tsx and is wired through app.json.
  • Widget snapshot state is now derived in app code and synced through src/lib/widgets/state.ts and src/lib/widgets/sync.ts.
  • Widget development requires a dev build or EAS build, not Expo Go.
  • The app architecture is local-only by default: SQLite/App Groups for app data and the editable model catalog, SecureStore for secrets, direct calls to OpenRouter and RevenueCat.
  • Challenge history stays local, skipped items are deduped out of future prompts, and expired untouched challenges can be pruned.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages