Senation Lab is an independent technology studio that builds practical and thoughtfully designed applications. We aim to create things that are useful, reliable, and easy to use.
We focus on clean code, intuitive experiences, and continuous improvement.
class=class="st">"cm">// tictactoe.dart class _TTTState extends State<TTTPage> { final board = List.filled(9, class="st">''); String turn = class="st">'X'; String? winner; void _tap(int i) { if (board[i].isNotEmpty) return; setState(() { board[i] = turn; winner = _checkWinner(); turn = turn == class="st">'X' ? class="st">'O' : class="st">'X'; }); } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Color(0xFFEBEAE8), body: Column(children: [ Text(winner ?? class="st">'Turn: $turn'), GridView.count( shrinkWrap: true, crossAxisCount: 3, children: List.generate(9, (i) => GestureDetector( onTap: () => _tap(i), child: _Cell(value: board[i]), ), ), ), ]), ); } }
Things I built for myself, and products I’ve shipped publicly.
Send a message and we'll get back to you within 3 working days.